Re: libicudata in non-standard directory linking issues.
On Mon, Jun 25, 2012 at 4:48 PM, Michael Stahl mst...@redhat.com wrote: On 22 June 2012 09:57, Jonathan Adams t12nsloo...@gmail.com wrote: i'm not sure if adding a defined(__IBMC__) etc. is the right approach but if it doesn't break anything... they added that line for z/OS ... which, I may be wrong, I believe to be an IBM system ... looking around wikipedia; I found references to what defines are set when compiling on z/OS ... hmmm z/OS is apparently why that was initially added, but you never know what later happened to develop a dependency on this setting... FYI __IBMC__ is defined on z/OS but also on AIX when using IBM's xlc compiler. Norbert ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice
Re: libicudata in non-standard directory linking issues.
yeah, that compiled icu fine, and I didn't even have to copy the icu libs to the solver ... compiled for a long time after that ... tools_test fails though ... If you can look through the debug file (sorry 1.7Mb https://docs.google.com/open?id=0B6o_jmGQm0dWd3VMWEc5alhJaWc ) and give me pointers I'd be grateful ... if you can't then I'll leave it as is for now and try when I get access to a new compiler/updated LibreOffice source. Jon On 22 June 2012 09:57, Jonathan Adams t12nsloo...@gmail.com wrote: i'm not sure if adding a defined(__IBMC__) etc. is the right approach but if it doesn't break anything... they added that line for z/OS ... which, I may be wrong, I believe to be an IBM system ... looking around wikipedia; I found references to what defines are set when compiling on z/OS ... there is code a little further down to set _XOPEN_SOURCE_EXTENDED to 0 on Solaris, but Solaris just checks to see if _XOPEN_SOURCE_EXTENDED is defined ... I guess I could fix it by changing the following statement to an undef. you should try to update your ICU bug with the new patch as well, to get upstream's opinion and hopefully a fixed next ICU version. I updated the patch before I posted the email ... :) I'll do a git pull and then re-autogen it. Jon ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice
Re: libicudata in non-standard directory linking issues.
On 25/06/12 12:38, Jonathan Adams wrote: yeah, that compiled icu fine, and I didn't even have to copy the icu libs to the solver ... great! compiled for a long time after that ... tools_test fails though ... If you can look through the debug file (sorry 1.7Mb https://docs.google.com/open?id=0B6o_jmGQm0dWd3VMWEc5alhJaWc ) and [ hmm for some reason i can't look at that in my browser profile which has my google account cookies, but i can look at it in another browser profile that doesn't allow any google cookies... go figure... ] give me pointers I'd be grateful ... if you can't then I'll leave it as is for now and try when I get access to a new compiler/updated LibreOffice source. anyway it looks like you're actually failing in sw_swdoc_test, which means that you must have compiled Writer, which means you've come pretty damn far :) don't have an immediate idea why it crashes (it says in SwDoc::GetVbaEventProcessor), but if this is just a problem in one or a few tests, then i suggest to just comment out these tests for now, or put them in a ifneq ($(OS),SOLARIS) check (edit e.g. sw/Module_sw.mk); if on the other hand all unit tests crash somehow then you've got a bigger problem... to better diagnose the crashes it would help to build with debug, i.e. the --enable-debug configure option; be aware that this will need 25GB of space, and linking will need some GBs of RAM (you will run out of RAM if you have less than 2GB, i think it's best to have at least 4GB but you may get by with 2 or even less if you disable parallel build). On 22 June 2012 09:57, Jonathan Adams t12nsloo...@gmail.com wrote: i'm not sure if adding a defined(__IBMC__) etc. is the right approach but if it doesn't break anything... they added that line for z/OS ... which, I may be wrong, I believe to be an IBM system ... looking around wikipedia; I found references to what defines are set when compiling on z/OS ... hmmm z/OS is apparently why that was initially added, but you never know what later happened to develop a dependency on this setting... well it seems our tinderboxes can build it on Linux and Mac OS X, so it's probably good enough, and we don't care at all if e.g. HP/UX fails with the patch :) ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice
Re: libicudata in non-standard directory linking issues.
i'm not sure if adding a defined(__IBMC__) etc. is the right approach but if it doesn't break anything... they added that line for z/OS ... which, I may be wrong, I believe to be an IBM system ... looking around wikipedia; I found references to what defines are set when compiling on z/OS ... there is code a little further down to set _XOPEN_SOURCE_EXTENDED to 0 on Solaris, but Solaris just checks to see if _XOPEN_SOURCE_EXTENDED is defined ... I guess I could fix it by changing the following statement to an undef. you should try to update your ICU bug with the new patch as well, to get upstream's opinion and hopefully a fixed next ICU version. I updated the patch before I posted the email ... :) I'll do a git pull and then re-autogen it. Jon ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice
Re: libicudata in non-standard directory linking issues.
On 20/06/12 00:15, Jonathan Adams wrote: 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. can you try to add this patch to the internal ICU build? i.e. something like diff -ur misc/build/icu-unpatched/ misc/build/icu/ solarisgcc.patch then add that patch in icu/makefile.mk to the PATCH_FILES variable. that would allow you to use the internal ICU. 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. yes that is kind of sub-optimal, but if LO can't use the library on the system then eventually we'll need to build our bundled one so we can put it into the installation set anyway... ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice
Re: libicudata in non-standard directory linking issues.
umm ... it's 14Mb worth of patch ... oh, I've compiled 4.0.1 (i wonder how I got to that version ...) ... downloading and working through 49.1.2 ... compiled ... running a check ... [All tests passed successfully...] Elapsed Time: 00:00:24.619 Ok, applying to the in-tree icu ... not quite the same icu ... ok copying the intree, making the changes, makefile.mk modified to use the solaris patch ... compiled successfully ... apart from these errors: gmake[2]: Leaving directory `/home/sal/LibreOffice/libo/icu/unxsogi/misc/build/icu/source' cp: cannot stat `./unxsogi/misc/build/icu/source/lib/libicudata.so.4.0.1': No such file or directory cp: cannot stat `./unxsogi/misc/build/icu/source/lib/libicudata.so.4': No such file or directory cp: cannot stat `./unxsogi/misc/build/icu/source/lib/libicuuc.so.4.0.1': No such file or directory cp: cannot stat `./unxsogi/misc/build/icu/source/lib/libicuuc.so.4': No such file or directory cp: cannot stat `./unxsogi/misc/build/icu/source/lib/libicui18n.so.4.0.1': No such file or directory cp: cannot stat `./unxsogi/misc/build/icu/source/lib/libicui18n.so.4': No such file or directory cp: cannot stat `./unxsogi/misc/build/icu/source/lib/libicule.so.4.0.1': No such file or directory cp: cannot stat `./unxsogi/misc/build/icu/source/lib/libicule.so.4': No such file or directory cp: cannot stat `./unxsogi/misc/build/icu/source/lib/libicutu.so.4.0.1': No such file or directory cp: cannot stat `./unxsogi/misc/build/icu/source/lib/libicutu.so.4': No such file or directory dmake: Error code 1, while making './unxsogi/misc/build/so_predeliver_so_icu' diff attached ... Jon On 21 June 2012 13:51, Michael Stahl mst...@redhat.com wrote: On 20/06/12 00:15, Jonathan Adams wrote: 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. can you try to add this patch to the internal ICU build? i.e. something like diff -ur misc/build/icu-unpatched/ misc/build/icu/ solarisgcc.patch then add that patch in icu/makefile.mk to the PATCH_FILES variable. that would allow you to use the internal ICU. 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. yes that is kind of sub-optimal, but if LO can't use the library on the system then eventually we'll need to build our bundled one so we can put it into the installation set anyway... icu4c-solarisgcc.patch Description: Binary data ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice
Re: libicudata in non-standard directory linking issues.
On 21/06/12 16:54, Jonathan Adams wrote: umm ... it's 14Mb worth of patch ... oh, I've compiled 4.0.1 (i wonder how I got to that version ...) ... downloading and working through 49.1.2 ... compiled ... running a check ... [All tests passed successfully...] Elapsed Time: 00:00:24.619 Ok, applying to the in-tree icu ... not quite the same icu ... ok copying the intree, making the changes, makefile.mk modified to use the solaris patch ... compiled successfully ... apart from these errors: great! gmake[2]: Leaving directory `/home/sal/LibreOffice/libo/icu/unxsogi/misc/build/icu/source' cp: cannot stat `./unxsogi/misc/build/icu/source/lib/libicudata.so.4.0.1': No such file or directory it looks like it still has the version numbers from your system ICU stored somewhere... you need to re-run configure, perhaps pass --without-system-icu and ensure that the config_host.mk doesn't include anything related to your system ICU. diff attached ... i've added it to icu/makefile.mk and pushed it to master i'm not sure if adding a defined(__IBMC__) etc. is the right approach but if it doesn't break anything... you should try to update your ICU bug with the new patch as well, to get upstream's opinion and hopefully a fixed next ICU version. ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice
Re: libicudata in non-standard directory linking issues.
On Tue, 2012-06-19 at 17:55 +0100, Jonathan Adams wrote: I have an issue with compiling tail_build on certain modules because they redefine the LD)LIBRARY_PATH: S=/home/sal/LibreOffice/libo O=$S/solver/unxsogi W=$S/workdir/unxsogi LD_LIBRARY_PATH=$O/lib can anyone tell me where this is defined in the source code Well, grepping for LD_LIBRARY_PATH in solenv/gbuild gives... gb_Helper_LIBRARY_PATH_VAR := LD_LIBRARY_PATH among other things and grepping for gb_Helper_set_ld_path gives... gb_Helper_set_ld_path := $(gb_Helper_LIBRARY_PATH_VAR)=$(OUTDIR_FOR_BUILD)/lib among other things so that's probably where its coming from, that gb_Helper_set_ld_path thing. But if you're building with a system icu, hopefully configuring with --with-system-icu with /opt/your/system/icu/bin in the path would *hopefully* set enough magic smoke to make it work, but I guess its quite possible that noone jumped through all the hoops to make it work out of the box for non-standard install locations of a system icu. Maybe just setting a LD_LIBRARY_PATH=/opt/your/system/icu/lib before a configure --with-system-icu or some such might be sufficient. C. ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice
Re: libicudata in non-standard directory linking issues.
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 pgpuBNiNWOvCK.pgp Description: PGP signature ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice
Re: libicudata in non-standard directory linking issues.
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 er...@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 ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice