Hi Norbert and Stephan.

The LD_LIBRARY_PATH looks fine to me:

   [build IDL] udkapi/com/sun/star/idl
   mkdir -p
   
/export/home/bautsche/libre-office/libreoffice-4.1.2.3/workdir/unxsogi.pro/UnoApiPartTarget/udkapi/com/sun/star/
   && RESPONSEFILE=/tmp/gbuild.LYKziC &&
   
SOLARBINDIR=/export/home/bautsche/libre-office/libreoffice-4.1.2.3/solver/unxsogi.pro/bin
   
LD_LIBRARY_PATH=${LD_LIBRARY_PATH:+$LD_LIBRARY_PATH:}"/export/home/bautsche/libre-office/libreoffice-4.1.2.3/solver/unxsogi.pro/lib:/export/home/bautsche/libre-office/libreoffice-4.1.2.3/instdir/unxsogi.pro/program"
   
/export/home/bautsche/libre-office/libreoffice-4.1.2.3/solver/unxsogi.pro/bin/idlc
   -I/export/home/bautsche/libre-office/libreoffice-4.1.2.3/udkapi -M
   
/export/home/bautsche/libre-office/libreoffice-4.1.2.3/workdir/unxsogi.pro/Dep/UnoApiPartTarget/udkapi/com/sun/star/
   -O
   
/export/home/bautsche/libre-office/libreoffice-4.1.2.3/workdir/unxsogi.pro/UnoApiPartTarget/udkapi/com/sun/star/
   -verbose @${RESPONSEFILE} > /dev/null && rm -f ${RESPONSEFILE} && touch
   
/export/home/bautsche/libre-office/libreoffice-4.1.2.3/workdir/unxsogi.pro/UnoApiPartTarget/udkapi/com/sun/star/idl.done
   ld.so.1: idlc: fatal: relocation error: file
   
/export/home/bautsche/libre-office/libreoffice-4.1.2.3/solver/unxsogi.pro/bin/idlc:
   symbol rtl_string_new: referenced symbol not found
   /bin/sh: line 1: 2360: Killed
   make[1]: ***
   
[/export/home/bautsche/libre-office/libreoffice-4.1.2.3/workdir/unxsogi.pro/UnoApiPartTarget/udkapi/com/sun/star/idl.done]
   Killed
   make[1]: Leaving directory
   `/export/home/bautsche/libre-office/libreoffice-4.1.2.3'
   gmake: *** [build] Error 2
   bautsche@cressida $ ls -la
   /export/home/bautsche/libre-office/libreoffice-4.1.2.3/solver/unxsogi.pro/lib
   total 654
   drwxr-xr-x 2 bautsche user 11 Oct 31 12:12 ./
   drwxr-xr-x 4 bautsche user 4 Oct 31 12:12 ../
   -rw-r--r-- 1 bautsche user 66712 Oct 31 12:12 libcodemaker.a
   -rw-r--r-- 1 bautsche user 25514 Oct 31 12:12 libcodemaker_cpp.a
   -rwxr-xr-x 1 bautsche user 133221 Oct 31 12:12 libreglo.so*
   -rwxr-xr-x 1 bautsche user 161724 Oct 31 12:12 libstorelo.so*
   lrwxrwxrwx 1 bautsche user 15 Oct 31 12:12 libuno_sal.so -> libuno_sal.so.3*
   -rwxr-xr-x 1 bautsche user 377081 Oct 31 12:12 libuno_sal.so.3*
   lrwxrwxrwx 1 bautsche user 25 Oct 31 12:12 libuno_salhelpergcc3.so ->
   libuno_salhelpergcc3.so.3*
   -rwxr-xr-x 1 bautsche user 36660 Oct 31 12:12 libuno_salhelpergcc3.so.3*
   -rwxr-xr-x 1 bautsche user 229716 Oct 31 12:12 libunoidllo.so*
   bautsche@cressida $

Also:

   bautsche@cressida $ readelf -d solver/unxsogi.pro/bin/idlc

   Dynamic section at offset 0x3a6a0 contains 29 entries:
   Tag Type Name/Value
   0x00000001 (NEEDED) Shared library: [libnsl.so.1]
   0x00000001 (NEEDED) Shared library: [libsocket.so.1]
   0x00000001 (NEEDED) Shared library: [libreglo.so]
   0x00000001 (NEEDED) Shared library: [libuno_sal.so.3]
   0x00000001 (NEEDED) Shared library: [libuno_salhelpergcc3.so.3]
   0x00000001 (NEEDED) Shared library: [libstdc++.so.6]
   0x00000001 (NEEDED) Shared library: [libm.so.2]
   0x00000001 (NEEDED) Shared library: [libgcc_s.so.1]
   0x00000001 (NEEDED) Shared library: [libc.so.1]
   0x0000000f (RPATH) Library rpath:
   
[$ORIGIN/../../ure-link/lib:/export/home/bautsche/libre-office/libreoffice-4.1.2.3/solver/unxsogi.pro/lib]
   0x0000000c (INIT) 0x804a140
   0x0000000d (FINI) 0x8072500
   0x6ffffef5 (GNU_HASH) 0x80480e8
   0x00000005 (STRTAB) 0x8048be0
   0x00000006 (SYMTAB) 0x80481b0
   0x0000000a (STRSZ) 3438 (bytes)
   0x0000000b (SYMENT) 16 (bytes)
   0x00000015 (DEBUG) 0x0
   0x00000003 (PLTGOT) 0x80837b0
   0x00000002 (PLTRELSZ) 1096 (bytes)
   0x00000014 (PLTREL) REL
   0x00000017 (JMPREL) 0x8049cec
   0x00000011 (REL) 0x8049b94
   0x00000012 (RELSZ) 344 (bytes)
   0x00000013 (RELENT) 8 (bytes)
   0x6ffffffe (VERNEED) 0x8049a94
   0x6fffffff (VERNEEDNUM) 4
   0x6ffffff0 (VERSYM) 0x804994e
   0x00000000 (NULL) 0x0
   bautsche@cressida $ ldd solver/unxsogi.pro/bin/idlc
   libnsl.so.1 => /lib/libnsl.so.1
   libsocket.so.1 => /lib/libsocket.so.1
   libreglo.so =>
   
/export/home/bautsche/libre-office/libreoffice-4.1.2.3/solver/unxsogi.pro/lib/libreglo.so
   libuno_sal.so.3 =>
   
/export/home/bautsche/libre-office/libreoffice-4.1.2.3/solver/unxsogi.pro/lib/libuno_sal.so.3
   libuno_salhelpergcc3.so.3 =>
   
/export/home/bautsche/libre-office/libreoffice-4.1.2.3/solver/unxsogi.pro/lib/libuno_salhelpergcc3.so.3
   libstdc++.so.6 => /usr/lib/libstdc++.so.6
   libm.so.2 => /lib/libm.so.2
   libgcc_s.so.1 => /usr/lib/libgcc_s.so.1
   libc.so.1 => /lib/libc.so.1
   libstorelo.so =>
   
/export/home/bautsche/libre-office/libreoffice-4.1.2.3/solver/unxsogi.pro/lib/libstorelo.so
   libpthread.so.1 => /lib/libpthread.so.1
   bautsche@cressida $



I wonder whether some of the macro magic that Norbert Thiebaud mentioned (and that I have no idea how to make sense of) in sal/rtl/strtmpl.cxx isn't working for me on Solaris?

Eric



On 01/11/2013 07:51, Stephan Bergmann wrote:
On 10/31/2013 01:25 PM, Eric Bautsch wrote:
I'm trying to compile LibreOffice 4.1.2.3 on Solaris 12 (build 26,
currently).

Note: don't get excited, I'm doing this in my spare time and Oracle
are in no way endorsing, supporting, or anything else'ing my efforts.

I've been using this thread for assistance and it's been a great help:
http://comments.gmane.org/gmane.comp.documentfoundation.libreoffice.devel/51422

Note that traditionally OOo had been building/working very well on Solaris, but these days there's only very little and seemingly occasional initiative to keep that up. Therefore, Solaris-specific code in LO likely keeps rotting over time.

At runtime, the idlc executable needs the libuno_sal.so.3 dynamic library to resolve the rtl_string_new symbol (and others). Therefore, idlc contains an RPATH (see "readelf -d solver/unxsogi.pro/bin/idlc") so that it finds it *in an installation* ("$ORIGIN/../../ure-link/lib", where in an installation idlc is in sdk/bin/ and libuno_sal.so.3 is in ure-link/lib/).

However, idlc is also called during the build, where idlc is in solver/unxsogi.pro/bin/ and libuno_sal.so.3 is in solver/unxsogi.pro/lib/. To make that work, idlc is called with an LD_LIBRARY_PATH that contains solver/unxsogi.pro/lib during the build. This is taken care of towards the end of solenv/gbuild/platform/com_GCC_defs.mk (gb_Helper_set_ld_path) and should work for Solaris.

To see what's going wrong, run "make VERBOSE=t" to see the command line of how exactly idlc is called to "[build IDL] udkapi/com/sun/star/idl".

Stephan

I'm currently struggling with getting a working idlc compiled. Here's
what happens:

[build IDL] udkapi/com/sun/star/idl
ld.so.1: idlc: fatal: relocation error: file
/export/home/bautsche/libre-office/libreoffice-4.1.2.3/solver/unxsogi.pro/bin/idlc:
symbol rtl_string_new: referenced symbol not found
/bin/sh: line 1: 8411: Killed
make[1]: ***
[/export/home/bautsche/libre-office/libreoffice-4.1.2.3/workdir/unxsogi.pro/UnoApiPartTarget/udkapi/com/sun/star/idl.done]
Killed
gmake: *** [build] Error 2
bautsche@cressida $
_______________________________________________
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice


--
____
     /          .                           Eric A. Bautsch
    /--   __       ___                ______________________________________
   /     /    /   /                  /
  (_____/____(___(__________________/       email: eric.baut...@pobox.com

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

_______________________________________________
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice

Reply via email to