Buiiding LO6.1.4.2 mixes embeded libicuuc with system libicuuc

Дилян Палаузов dpa-libreoffice at aegee.org
Sun Jan 20 17:08:35 UTC 2019


Hello Eike,

maybe I have not issued "make clean".  Here doing another try with clean build fails, after calling 

../configure --without-doxygen --with-jdk-home=/opt/jdk --with-ant-home=/opt/ant --without-junit && make

"/src/libreoffice-6.1.4.2/build5/workdir/UnpackedTarball/icu/source/common/unicode/urename.h" contains:

#define ublock_getCode U_ICU_ENTRY_POINT_RENAME(ublock_getCode)

"/src/libreoffice-6.1.4.2/build5/workdir/UnpackedTarball/icu/source/common/unicode/uvernum.h" contains:

#define U_ICU_VERSION_SUFFIX _61
#define U_ICU_ENTRY_POINT_RENAME(x) U_DEF2_ICU_ENTRY_POINT_RENAME(x,U_ICU_VERSION_SUFFIX)

so ublock_getCode() in desktop/source/lib/init.cxx:getFontSubset is renamed to ublock_getCode_61().

On my system I have 2x libicuuc.so:

- in /usr/local/lib, which contains ublock_getCode_60 and
- in /src/libreoffice-6.1.4.2/build5/workdir/UnpackedTarball/icu/source/lib/libicuuc.so containing ublock_getCode_61

Linking libsofficeapp.so is performed by calling

S=/src/libreoffice-6.1.4.2 && B=$S/build5 && I=$B/instdir && W=$B/workdir &&  g++ -shared -Wl,-z,noexecstack -Wl,-
z,origin '-Wl,-rpath,$ORIGIN' -Wl,-rpath-link,$I/program -Wl,-z,defs -fstack-protector-strong -Wl,-rpath-
link,/lib:/usr/lib -Wl,-z,combreloc  -Wl,--hash-style=gnu  -Wl,--dynamic-list-cpp-new -Wl,--dynamic-list-cpp-typeinfo
-Wl,-Bsymbolic-functions  -L$W/LinkTarget/StaticLibrary -L$I/sdk/lib  -L$I/program  -L$I/program -Wl,-
O1   $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 $W/LinkTarget/StaticLibrary/libglxtest.a   -ldl
-lpthread   -L/usr/local/lib -L/usr/local/lib64 -ldbus-glib-1 -ldbus-1 -lgobject-2.0 -lglib-2.0  -
L$W/UnpackedTarball/icu/source/lib -licui18n  -L$W/UnpackedTarball/icu/source/lib -licuuc  -
L$W/UnpackedTarball/curl/lib/.libs -lcurl  -lm -ldl -lpthread -lX11  -Wl,--end-group -Wl,--no-as-needed -lclewlo
-lcomphelper -luno_cppu -luno_cppuhelpergcc3 -ldeploymentmisclo -leditenglo -li18nlangtag -lopencllo -luno_sal
-luno_salhelpergcc3 -lsblo -lsfxlo -lsvllo -lsvxlo -lsvxcorelo -lsvtlo -ltklo -ltllo -lucbhelper -lutllo -lvcllo  -o
$I/program/libsofficeapp.so

which prefers /usr/local/lib/libicuuc.so over -L$W/UnpackedTarball/icu/source/lib/libicuuc.so and the linker complains:

/usr/local/lib/gcc/x86_64-pc-linux-gnu/8.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: /src/libreoffice-
6.1.4.2/build5/workdir/CxxObject/desktop/source/lib/init.o: in function `getFontSubset':
init.cxx:(.text+0xf5b5): undefined reference to `ublock_getCode_61'
collect2: error: ld returned 1 exit status
make[1]: *** [/src/libreoffice-6.1.4.2/desktop/Library_sofficeapp.mk:10: /src/libreoffice-
6.1.4.2/build5/instdir/program/libsofficeapp.so] Error 1
make[1]: Leaving directory '/src/libreoffice-6.1.4.2/build5'
make: *** [Makefile:286: build] Error 2

One more reason for failed compilation of embedded firebird is described at 
http://tracker.firebirdsql.org/browse/CORE-5989 .

Regards
  Дилян

On Wed, 2019-01-16 at 23:44 +0100, Eike Rathke wrote:
> Hi Дилян,
> 
> On Wednesday, 2019-01-16 15:11:26 +0000, Дилян Палаузов wrote:
> 
> > configurig LO 6.1.4.2 with
> > ../configure --without-doxygen --with-jdk-home=/opt/jdk --with-ant-home=/opt
> > /ant --without-junit
> > 
> > fails with
> > 
> > /usr/local/lib/gcc/x86_64-pc-linux-gnu/8.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: /src/libreoffice-
> > 6.1.4.2/build3/workdir/CxxObject/l10ntools/source/xmlparse.o: in function `(anonymous
> > namespace)::lcl_QuotRange(icu_61::UnicodeString const&, int, int, bool)':
> > xmlparse.cxx:(.text+0x92): undefined reference to `vtable for icu_61::UnicodeString'
> 
> Looks like you didn't issue a  make clean   command after generating
> your new configure that switches from various --with-system-..., in
> particular --with-system-icu, to without. This may leave the build in an
> indetermined state where it isn't known what to recompile or which
> libraries to link against.
> 
>   Eike
> 
> _______________________________________________
> LibreOffice mailing list
> LibreOffice at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/libreoffice



More information about the LibreOffice mailing list