Any GCC experts out there?
Erik Bågfors
zindar at gmail.com
Mon Aug 25 07:51:56 BST 2008
I'm fairly sure that -L just sets the location at compile time, not
run time. You'll need to set it in the solaris equivalent of /etc/
ld.so.conf or whatever it's named (or the environment variable you
mention below)
Regards / MVH
Erik
Sent from my iPhone
On 25 aug 2008, at 08.08, Russel Winder <russel.winder at concertant.com>
wrote:
> Compiling the bzr-svn plugin on Mac OS X Leopard and Ubuntu Hardy
> seems
> to work fine. However on Solaris 10 with packages from Sunfreeware, I
> am getting the following problem that means the plugin does not work.
>
> The build creates a number of shared objects, all get compiled in the
> same way, for example:
>
> gcc -shared build/temp.solaris-2.10-sun4u-2.5/wc.o build/
> temp.solaris-2.10-sun4u-2.5/util.o build/temp.solaris-2.10-sun4u-2.5/
> editor.o -L/usr/local/lib -lsvn_wc-1 -lsvn_subr-1 -o ./wc.so -L/usr/
> local/apr/lib -lapr-1
>
> The compilation succeeds and wc.so is created. However:
>
> |> ldd wc.so
> libsvn_wc-1.so.0 => /usr/local/lib/libsvn_wc-1.so.0
> libsvn_subr-1.so.0 => /usr/local/lib/libsvn_subr-1.so.0
> libapr-1.so.0 => (file not found)
> libgcc_s.so.1 => /usr/local/lib/libgcc_s.so.1
> libsvn_delta-1.so.0 => /usr/local/lib/libsvn_delta-1.so.0
> libsvn_diff-1.so.0 => /usr/local/lib/libsvn_diff-1.so.0
> libaprutil-1.so.0 => (file not found)
> libexpat.so.0 => /usr/local/lib/libexpat.so.0
> libiconv.so.2 => /usr/local/lib/libiconv.so.2
> libapr-1.so.0 => (file not found)
> libuuid.so.1 => /usr/lib/libuuid.so.1
> libsendfile.so.1 => /usr/lib/libsendfile.so.1
> librt.so.1 => /usr/lib/librt.so.1
> libnsl.so.1 => /usr/lib/libnsl.so.1
> libpthread.so.1 => /usr/lib/libpthread.so.1
> libsocket.so.1 => /usr/lib/libsocket.so.1
> libz.so => /usr/local/lib/libz.so
> libc.so.1 => /usr/lib/libc.so.1
> libaprutil-1.so.0 => (file not found)
> libapr-1.so.0 => (file not found)
> libaprutil-1.so.0 => (file not found)
> libapr-1.so.0 => (file not found)
> libaprutil-1.so.0 => (file not found)
> libapr-1.so.0 => (file not found)
> libaio.so.1 => /lib/libaio.so.1
> libmd5.so.1 => /lib/libmd5.so.1
> libmp.so.2 => /lib/libmp.so.2
> libscf.so.1 => /lib/libscf.so.1
> libdoor.so.1 => /lib/libdoor.so.1
> libuutil.so.1 => /lib/libuutil.so.1
> libm.so.2 => /lib/libm.so.2
> /platform/SUNW,Sun-Blade-100/lib/libc_psr.so.1
> /platform/SUNW,Sun-Blade-100/lib/libmd5_psr.so.1
>
> which means that the plugin fails to load when asked. The files are
> there though:
>
> |> ll /usr/local/apr/lib
> total 10055
> drwxr-xr-x 3 root bin 512 2008-08-24 07:44 ./
> drwxr-xr-x 7 root bin 512 2008-08-24 07:44 ../
> -rw-r--r-- 1 root bin 7656 2005-12-30 08:28 apr.exp
> -rw-r--r-- 1 root bin 3907 2005-12-31 07:02 aprutil.exp
> -rw-r--r-- 1 root bin 3259896 2005-12-30 08:28 libapr-1.a
> -rwxr-xr-x 1 root bin 1050 2005-12-30 08:28 libapr-1.la*
> lrwxrwxrwx 1 root root 17 2008-08-24 07:44 libapr-1.so ->
> libapr-1.so.0.2.2*
> lrwxrwxrwx 1 root root 17 2008-08-24 07:44 libapr-1.so.0 ->
> libapr-1.so.0.2.2*
> -rwxr-xr-x 1 root bin 3207252 2005-12-30 08:28 libapr-1.so.0.2.2*
> -rw-r--r-- 1 root bin 1896176 2005-12-31 07:02 libaprutil-1.a
> -rwxr-xr-x 1 root bin 1251 2005-12-31 07:02 libaprutil-1.la*
> lrwxrwxrwx 1 root root 21 2008-08-14 13:13 libaprutil-1.so ->
> libaprutil-1.so.0.2.2*
> lrwxrwxrwx 1 root root 21 2008-08-14 13:13 libaprutil-1.so.0 ->
> libaprutil-1.so.0.2.2*
> -rwxr-xr-x 1 root bin 1864704 2005-12-31 07:02 libaprutil-1.so.0.2.2*
> drwxr-xr-x 2 root bin 512 2008-08-24 07:44 pkgconfig/
>
> Setting LD_LIBRARY_PATH=/usr/local/apr/lib does solve the problem but:
>
> a) setting LD_LIBRARY_PATH is generally considered the wrong thing
> to do
> in all cases.
>
> b) should not be needed since the compilation stage set -L and this
> should have been remembered. in the shared object.
>
> |> gcc -v
> Reading specs from /usr/local/lib/gcc/sparc-sun-solaris2.10/3.4.6/
> specs
> Configured with: ../configure --with-as=/usr/ccs/bin/as --with-ld=/
> usr/ccs/bin/ld --enable-shared --enable-languages=c,c++,f77
> Thread model: posix
> gcc version 3.4.6
>
> If anyone has any insight into this problem, I would appreciate it.
>
> Thanks.
>
> --
> Russel.
> ====================================================
> Dr Russel Winder Partner
>
> Concertant LLP t: +44 20 7585 2200, +44 20 7193 9203
> 41 Buckmaster Road, f: +44 8700 516 084
> London SW11 1EN, UK. m: +44 7770 465 077
More information about the bazaar
mailing list