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   |_______/

Reply via email to