Skip to content

Instantly share code, notes, and snippets.

@lidgnulinux
Last active April 16, 2025 01:45
Show Gist options
  • Save lidgnulinux/a14e33762e72ff314adca7da7f76c11a to your computer and use it in GitHub Desktop.
Save lidgnulinux/a14e33762e72ff314adca7da7f76c11a to your computer and use it in GitHub Desktop.

How to build gettext and libintl.so on musl.

Gettext with libintl.so.

After did some trials and errors I found a way to build gettext library + its libintl.so library on musl. I need the library so cosmic-files will work properly. Before I finally built gettext + libintl.so, everytime I build gettext I only get libgnuintl.so instead of libintl.so. Turns out, the solution is pretty simple. I just need to rename libintl.h header file from musl build and boom, gettext build will produce libintl.so instead of libgnuintl.so.

Prepare.

  • Musl (obviously).
  • gettext, I use 0.24 version.

Steps.

  1. Download, extract the gettext source code and change to gettext directory !

    $ wget -c https://ftp.gnu.org/gnu/gettext/gettext-0.24.tar.xz
    $ tar -xf gettext-0.24.tar.xz
    $ cd gettext-0.24
    
  2. Rename libintl.h header file !

    $ sudo mv /usr/include/libintl.h /usr/include/libintl.h.back
    
  3. Build & install gettext !

    $ ./configure --prefix=/usr --disable-static --enable-shared
    $ make
    $ sudo make install
    
  4. Confirm if libintl.so is present !

$ ls -lh /usr/lib/libintl.so

Notes.

  • After build, there is an error when we build at-spi2-core. We need to add libintl linker using LDFLAGS="-lintl".
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment