Link (ordering??) problem
Dr. David Alan Gilbert
dave at treblig.org
Thu Mar 20 00:13:19 UTC 2025
Hi,
On my newly upgraded Fedora 41->42 beta desktop I'm seeing the link
error:
$ make debug=t
[LNK] Library/libsofficeapp.so
/discs/fast/core/desktop/source/lib/init.cxx:6354: error: undefined reference to 'ublock_getCode_77'
collect2: error: ld returned 1 exit status
make[1]: *** [/discs/fast/core/desktop/Library_sofficeapp.mk:10: /discs/fast/core/instdir/program/libsofficeapp.so] Error 1
$ rpm -qa|grep icu
libicu-76.1-4.fc42.x86_64
$ ./configure --srcdir=/discs/fast/core --enable-option-checking=fatal --enable-debug
(I've already nuked workdir, re configured and rebuilt)
I think the problem is a link ordering problem; we're building ICU 77
from tar:
$ nm workdir/UnpackedTarball/icu/source/lib/libicuuc.so.77.1 | grep ublock_getCode
00000000001254b6 T ublock_getCode_77
so it is there, but if I look at the link I see:
S=/discs/fast/core && I=$S/instdir && W=$S/workdir && g++ -pthread -shared -Wl,-z,noexecstack -Wl,-z,origin '-Wl,-rpath,$ORIGIN' -Wl,-rpath-link,$I/program -fuse-ld=gold -Wl,-z,defs -fstack-protector-strong -Wl,-rpath-link,/lib:/usr/lib -Wl,-z,combreloc -Wl,--hash-style=gnu -Wl,-Bsymbolic-functions -L$W/LinkTarget/StaticLibrary -L$I/sdk/lib -L$I/program -L$I/program -Wl,--gdb-index $W/CxxObject/desktop/source/app/app.o $W/CxxObject/desktop/source/app/appinit.o $W/CxxObject/desktop/source/app/check_ext_deps.o $W/CxxObject/desktop/source/app/cmdlineargs.o $W/CxxObject/desktop/source/app/cmdlinehelp.o $W/CxxObject/desktop/source/app/desktopcontext.o $W/CxxObject/desktop/source/app/dispatchwatcher.o $W/CxxObject/desktop/source/app/langselect.o $W/CxxObject/desktop/source/app/lockfile2.o $W/CxxObject/desktop/source/app/officeipcthread.o $W/CxxObject/desktop/source/app/opencl.o $W/CxxObject/desktop/source/app/sofficemain.o $W/CxxObject/desktop/source/app/userinstall.o $W/CxxObject/desktop/source/migration/migration.o $W/CxxObject/desktop/source/lib/init.o $W/CxxObject/desktop/source/lib/lokinteractionhandler.o $W/CxxObject/desktop/source/lib/lokclipboard.o -Wl,--start-group -L/usr/lib64/pkgconfig/../../lib64 -ldbus-1 -L$W/UnpackedTarball/icu/source/lib -licui18n -L$W/UnpackedTarball/icu/source/lib -licuuc -L$W/UnpackedTarball/curl/lib/.libs -lcurl -Wl,--end-group -Wl,--no-as-needed -lclewlo -lcomphelper -luno_cppu -luno_cppuhelpergcc3 -ldeploymentmisclo -leditenglo -lfwklo -li18nlangtag -lopencllo -luno_sal -luno_salhelpergcc3 -lsblo -lsfxlo -lsvllo -lsvxlo -lsvxcorelo -lsvtlo -ltklo -ltllo -lucbhelper -lutllo -lvcllo -o $I/program/libsofficeapp.so
where the interesting bit is:
-Wl,--start-group -L/usr/lib64/pkgconfig/../../lib64 -ldbus-1 -L$W/UnpackedTarball/icu/source/lib -licui18n -L$W/UnpackedTarball/icu/source/lib -licuuc -L$W/UnpackedTarball/curl/lib/.libs -lcurl -Wl,--end-group
so we've got -L/usr/lib64/pkgconfig/../../lib64 before -L$W/UnpackedTarball/icu/source/lib
nd /usr/lib64/libicuuc.so points to the .76.1 version
Anyone know where that order comes from?
Dave
--
-----Open up your eyes, open up your mind, open up your code -------
/ Dr. David Alan Gilbert | Running GNU/Linux | Happy \
\ dave @ treblig.org | | In Hex /
\ _________________________|_____ http://www.treblig.org |_______/
More information about the LibreOffice
mailing list