libicudata in non-standard directory linking issues.

Jonathan Adams t12nslookup at gmail.com
Tue Jun 19 15:15:22 PDT 2012


to get icu working on Openindiana/Illumos/Solaris ...

http://bugs.icu-project.org/trac/ticket/9390

I downloaded the very latest icu4c from icu-project and then worked
through the source till I compiled it ... :)

I put a patch on their bug system to get it to compile on Solaris ...
although someone would need to check if that actually fixed it for
other platforms.

I do set PATH and LD_LIBRARY_PATH before autogen/configure/gmake ...
this specific batch of commands is especially annoying because it
overrides the default LD_LIBRARY_PATH, rather than setting
'LD_LIBRARY_PATH="$O/lib:$LD_LIBRARY_PATH"' or similar.

yeah, it finds icu-config, but it doesn't appear to do anything with
the output because if I grep for /opt/icu it can't find it.

the only information in config_host.mk related to icu are these 3 lines:
export SYSTEM_GENBRK=/opt/icu/bin/genbrk
export SYSTEM_GENCCODE=/opt/icu/sbin/genccode
export SYSTEM_GENCMN=/opt/icu/sbin/gencmn

I then add extra includes and libs to the SOLARINC,
SOLARINC_FOR_BUILD, SOLARLIB and SOLARLIB_FOR_BUILD defs.
I'm still hoping that I can get a full build of LibreOffice on
OpenIndiana, but I'll still have to wait to see if it works after I
compile it :)

Jon

On 19 June 2012 22:26, Eike Rathke <erack at redhat.com> wrote:
> Hi Jonathan,
>
> On Tuesday, 2012-06-19 17:55:09 +0100, Jonathan Adams wrote:
>
>> Having had trouble getting icu compiled on Solaris with GCC, I
>> compiled it out of tree and placed it in /opt/icu on my computer (I
>> want to know what specifically needs to attach to non-standard
>> libraries on my system for portability)
>
> We'd like to learn how you solved your problems compiling ICU and why it
> didn't compile in-tree :)
> Btw, on current master and 3-6 we switched to ICU 49, maybe that solves
> your problem already?
>
>> however I noticed that although LibreOffice is happy to know it exists
>> it seems to go out of it's way not to try and include it in any paths
>> (LD_LIBRARY or CFLAGS).
>>
>> whilst I can hack config_host.mk to make sure that it includes
>> "-I/opt/icu/include" and set my LD_LIBRARY_PATH so that it includes
>> the /opt/icu/lib, I have an issue with compiling tail_build on certain
>> modules because they redefine the LD)LIBRARY_PATH:
>
> This sounds actually like a mix of --with-system-icu but without icu
> being a system library, i.e. not registered with ldconfig. Quite
> a corner case I'd say..
>
> Despite that, for your scenario those places would indeed have to
> augment and extend LD_LIBRARY_PATH instead of replacing it.
>
>> can anyone tell me where this is defined in the source code, and how
>> to tell it to go away, or how to tell the system to include the ICU
>> path given to it via icu-config?
>
> Detection source is in configure.in ICU* variables, icu-config is used
> there to obtain the system's path. The gencoll_rule calls during build
> you mentioned are emitted through gb_Helper_execute somewhere in
> solenv/gbuild/*, it's the $(call gb_Helper_execute,gencoll_rule) in
> i18npool/CustomTarget_collator.mk
>
>  Eike
>
> --
> LibreOffice Calc developer. Number formatter stricken i18n transpositionizer.
> GnuPG key 0x293C05FD : 997A 4C60 CE41 0149 0DB3  9E96 2F1A D073 293C 05FD


More information about the LibreOffice mailing list