'glib-2.72 build fails with during linking to libglib-2.0.so0.7200.0
*The hardware environment I am working in is a QNAP NAS with x86_64 architecture. The software is a headless, embedded, QNAP-designed Debian-based Gnu/Linux distro based on kernel 4.14.24.
My current issue is in compiling glib-2.72.0, which uses the meson-ninja system, under Python 3.9. Compilation runs fine The ninja build fails at
[150/1259] Linking target glib/libglib-2.0.so.0.7200.0
FAILED: glib/libglib-2.0.so.0.7200.0
when, I think, it attempts to link all the *.c.o files listed in the command below:
cc -o glib/libglib-2.0.so.0.7200.0 glib/libglib-2.0.so.0.7200.0.p/deprecated_gallocator.c.o glib/libglib-2.0.so.0.7200.0.p/deprecated_gcache.c.o glib/libglib-2.0.so.0.7200.0.p/deprecated_gcompletion.c.o glib/libglib-2.0.so.0.7200.0.p/deprecated_grel.c.o glib/libglib-2.0.so.0.7200.0.p/deprecated_gthread-deprecated.c.o glib/libglib-2.0.so.0.7200.0.p/garcbox.c.o glib/libglib-2.0.so.0.7200.0.p/garray.c.o glib/libglib-2.0.so.0.7200.0.p/gasyncqueue.c.o glib/libglib-2.0.so.0.7200.0.p/gatomic.c.o glib/libglib-2.0.so.0.7200.0.p/gbacktrace.c.o glib/libglib-2.0.so.0.7200.0.p/gbase64.c.o glib/libglib-2.0.so.0.7200.0.p/gbitlock.c.o glib/libglib-2.0.so.0.7200.0.p/gbookmarkfile.c.o glib/libglib-2.0.so.0.7200.0.p/gbytes.c.o glib/libglib-2.0.so.0.7200.0.p/gcharset.c.o glib/libglib-2.0.so.0.7200.0.p/gchecksum.c.o glib/libglib-2.0.so.0.7200.0.p/gconvert.c.o glib/libglib-2.0.so.0.7200.0.p/gdataset.c.o glib/libglib-2.0.so.0.7200.0.p/gdate.c.o glib/libglib-2.0.so.0.7200.0.p/gdatetime.c.o glib/libglib-2.0.so.0.7200.0.p/gdir.c.o glib/libglib-2.0.so.0.7200.0.p/genviron.c.o glib/libglib-2.0.so.0.7200.0.p/gerror.c.o glib/libglib-2.0.so.0.7200.0.p/gfileutils.c.o glib/libglib-2.0.so.0.7200.0.p/ggettext.c.o glib/libglib-2.0.so.0.7200.0.p/ghash.c.o glib/libglib-2.0.so.0.7200.0.p/ghmac.c.o glib/libglib-2.0.so.0.7200.0.p/ghook.c.o glib/libglib-2.0.so.0.7200.0.p/ghostutils.c.o glib/libglib-2.0.so.0.7200.0.p/giochannel.c.o glib/libglib-2.0.so.0.7200.0.p/gkeyfile.c.o glib/libglib-2.0.so.0.7200.0.p/glib-init.c.o glib/libglib-2.0.so.0.7200.0.p/glib-private.c.o glib/libglib-2.0.so.0.7200.0.p/glist.c.o glib/libglib-2.0.so.0.7200.0.p/gmain.c.o glib/libglib-2.0.so.0.7200.0.p/gmappedfile.c.o glib/libglib-2.0.so.0.7200.0.p/gmarkup.c.o glib/libglib-2.0.so.0.7200.0.p/gmem.c.o glib/libglib-2.0.so.0.7200.0.p/gmessages.c.o glib/libglib-2.0.so.0.7200.0.p/gnode.c.o glib/libglib-2.0.so.0.7200.0.p/goption.c.o glib/libglib-2.0.so.0.7200.0.p/gpattern.c.o glib/libglib-2.0.so.0.7200.0.p/gpoll.c.o glib/libglib-2.0.so.0.7200.0.p/gprimes.c.o glib/libglib-2.0.so.0.7200.0.p/gqsort.c.o glib/libglib-2.0.so.0.7200.0.p/gquark.c.o glib/libglib-2.0.so.0.7200.0.p/gqueue.c.o glib/libglib-2.0.so.0.7200.0.p/grand.c.o glib/libglib-2.0.so.0.7200.0.p/grcbox.c.o glib/libglib-2.0.so.0.7200.0.p/grefcount.c.o glib/libglib-2.0.so.0.7200.0.p/grefstring.c.o glib/libglib-2.0.so.0.7200.0.p/gregex.c.o glib/libglib-2.0.so.0.7200.0.p/gscanner.c.o glib/libglib-2.0.so.0.7200.0.p/gsequence.c.o glib/libglib-2.0.so.0.7200.0.p/gshell.c.o glib/libglib-2.0.so.0.7200.0.p/gslice.c.o glib/libglib-2.0.so.0.7200.0.p/gslist.c.o glib/libglib-2.0.so.0.7200.0.p/gstdio.c.o glib/libglib-2.0.so.0.7200.0.p/gstrfuncs.c.o glib/libglib-2.0.so.0.7200.0.p/gstring.c.o glib/libglib-2.0.so.0.7200.0.p/gstringchunk.c.o glib/libglib-2.0.so.0.7200.0.p/gstrvbuilder.c.o glib/libglib-2.0.so.0.7200.0.p/gtestutils.c.o glib/libglib-2.0.so.0.7200.0.p/gthread.c.o glib/libglib-2.0.so.0.7200.0.p/gthreadpool.c.o glib/libglib-2.0.so.0.7200.0.p/gtimer.c.o glib/libglib-2.0.so.0.7200.0.p/gtimezone.c.o glib/libglib-2.0.so.0.7200.0.p/gtrace.c.o glib/libglib-2.0.so.0.7200.0.p/gtranslit.c.o glib/libglib-2.0.so.0.7200.0.p/gtrashstack.c.o glib/libglib-2.0.so.0.7200.0.p/gtree.c.o glib/libglib-2.0.so.0.7200.0.p/guniprop.c.o glib/libglib-2.0.so.0.7200.0.p/gutf8.c.o glib/libglib-2.0.so.0.7200.0.p/gunibreak.c.o glib/libglib-2.0.so.0.7200.0.p/gunicollate.c.o glib/libglib-2.0.so.0.7200.0.p/gunidecomp.c.o glib/libglib-2.0.so.0.7200.0.p/guri.c.o glib/libglib-2.0.so.0.7200.0.p/gutils.c.o glib/libglib-2.0.so.0.7200.0.p/guuid.c.o glib/libglib-2.0.so.0.7200.0.p/gvariant.c.o glib/libglib-2.0.so.0.7200.0.p/gvariant-core.c.o glib/libglib-2.0.so.0.7200.0.p/gvariant-parser.c.o glib/libglib-2.0.so.0.7200.0.p/gvariant-serialiser.c.o glib/libglib-2.0.so.0.7200.0.p/gvarianttypeinfo.c.o glib/libglib-2.0.so.0.7200.0.p/gvarianttype.c.o glib/libglib-2.0.so.0.7200.0.p/gversion.c.o glib/libglib-2.0.so.0.7200.0.p/gwakeup.c.o glib/libglib-2.0.so.0.7200.0.p/gprintf.c.o glib/libglib-2.0.so.0.7200.0.p/glib-unix.c.o glib/libglib-2.0.so.0.7200.0.p/gspawn.c.o glib/libglib-2.0.so.0.7200.0.p/giounix.c.o glib/libglib-2.0.so.0.7200.0.p/gthread-posix.c.o
-L/opt/lib -Wl,--no-undefined -shared -fPIC -Wl,--start-group -Wl,-soname,libglib-2.0.so.0 glib/libcharset/libcharset.a subprojects/pcre-8.37/libpcre.a -Wl,-z,nodelete -Wl,-Bsymbolic-functions -pthread -liconv -lm -Wl,--end-group
/opt/bin/ld: glib/libglib-2.0.so.0.7200.0.p/ggettext.c.o: in function `_g_dgettext_should_translate':
/share/CACHEDEV1_DATA/jmarks/gdk_files/glib-2.72.0/_build/../glib/ggettext.c:315: undefined reference to `libintl_textdomain'
/opt/bin/ld: /share/CACHEDEV1_DATA/jmarks/gdk_files/glib-2.72.0/_build/../glib/ggettext.c:316: undefined reference to `libintl_gettext'
/opt/bin/ld: glib/libglib-2.0.so.0.7200.0.p/ggettext.c.o: in function `ensure_gettext_initialized':
/share/CACHEDEV1_DATA/jmarks/gdk_files/glib-2.72.0/_build/../glib/ggettext.c:107: undefined reference to `libintl_bindtextdomain'
/opt/bin/ld: /share/CACHEDEV1_DATA/jmarks/gdk_files/glib-2.72.0/_build/../glib/ggettext.c:110: undefined reference to `libintl_bind_textdomain_codeset'
/opt/bin/ld: glib/libglib-2.0.so.0.7200.0.p/ggettext.c.o: in function `g_dgettext':
/share/CACHEDEV1_DATA/jmarks/gdk_files/glib-2.72.0/_build/../glib/ggettext.c:402: undefined reference to `libintl_dgettext'
/opt/bin/ld: /share/CACHEDEV1_DATA/jmarks/gdk_files/glib-2.72.0/_build/../glib/ggettext.c:402: undefined reference to `libintl_dgettext'
/opt/bin/ld: glib/libglib-2.0.so.0.7200.0.p/ggettext.c.o: in function `g_dcgettext':
/share/CACHEDEV1_DATA/jmarks/gdk_files/glib-2.72.0/_build/../glib/ggettext.c:429: undefined reference to `libintl_dcgettext'
/opt/bin/ld: /share/CACHEDEV1_DATA/jmarks/gdk_files/glib-2.72.0/_build/../glib/ggettext.c:429: undefined reference to `libintl_dcgettext'
/opt/bin/ld: glib/libglib-2.0.so.0.7200.0.p/ggettext.c.o: in function `g_dngettext':
/share/CACHEDEV1_DATA/jmarks/gdk_files/glib-2.72.0/_build/../glib/ggettext.c:460: undefined reference to `libintl_dngettext'
/opt/bin/ld: /share/CACHEDEV1_DATA/jmarks/gdk_files/glib-2.72.0/_build/../glib/ggettext.c:460: undefined reference to `libintl_dngettext'
collect2: error: ld returned 1 exit status
Is this is an issue with gettext? All the *.c.o files in the failed command exist in the correct directory.
The prefix=/opt Gettext 0.21 is installed. gettext.h is located in /opt/share/gettext/ and this path is included in CFLAGS and CPPFLAGS libintl.a is in opt/lib as is its shared library:
# ldconfig -v |grep libintl
libintl.so.8 -> libintl.so.8.2.0
I would like to learn why this is failing and how to fix it.
Many thanks
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|
