Building LO6.1.4.2 mixes embedded libicuuc with system libicuuc

Dilyan Palauzov Dilyan.Palauzov at aegee.org
Mon Jan 21 16:48:35 UTC 2019


Hello Eike,

the invocation I sent includes

-L/usr/local/lib -L$W/UnpackedTarball/icu/source/lib -licuuc

in this order.  As libicuuc is contained in both /usr/local/lib and $W/UnpackedTarball/icu/source/lib, the linker chooses libicuuc from /usr/local/lib.  This library does not contain ublock_getUcode_61(), it contains ublock_getUcode_60().  The linker wants ublock_getUcode_61(), which is in the not anymore considered $W/UnpackedTarball/icu/source/lib/libicuuc.so .

I do not have LIBRARY_PATH.

This might work for you, if in your case -L/usr/lib64/icu/ is not passed to the linker before -L$W/UnpackedTarballs/icu/source/lib.

Regards
  Дилян

On January 21, 2019 4:18:11 PM GMT+01:00, Eike Rathke <erack at redhat.com> wrote:
>Hi Дилян,
>
>On Sunday, 2019-01-20 17:08:35 +0000, Дилян Палаузов wrote:
>
>> 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++
>> [...]
>> '-Wl,-rpath,$ORIGIN' -Wl,-rpath-link,$I/program
>-Wl,-rpath-link,/lib:/usr/lib
>> [...]
>> -L$W/UnpackedTarball/icu/source/lib -licuuc  -
>> 
>> which prefers /usr/local/lib/libicuuc.so over
>-L$W/UnpackedTarball/icu/source/lib/libicuuc.so and the linker
>complains:
>
>That's odd. -L... tells where to look for the lib. Which perfectly
>works
>for me (also using g++ 8.2.1) with icu 60 in /usr/lib64/icu
>
>Do you by chance have /usr/local/lib in the LIBRARY_PATH environment
>variable (note that's not LD_LIBRARY_PATH)? If so, please unset before
>building.
>
>  Eike


More information about the LibreOffice mailing list