[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Fwd: on IRIX a *.so..1 link is needed to run program]
From: |
Gary V. Vaughan |
Subject: |
Re: [Fwd: on IRIX a *.so..1 link is needed to run program] |
Date: |
Sat, 22 Sep 2001 17:41:36 +0100 |
User-agent: |
Mutt/1.3.22.1i |
On Fri, Sep 21, 2001 at 04:48:19PM -0700, Ted Irons wrote:
> Here is an eg of the error message I get:
>
> 1415148:./testSim: rld: Fatal Error: Cannot Successfully map soname
> 'libView.so..1' under any of the filenames
> /postfix/ironst/sde/LADARDataModel/IRIX64-6.5/lib/libView.so..1:/postfix/ironst/dev/mep/IRIX64-6.5/lib/libView.so..1:/swl/autoconf-2.52/IRIX64-6.5/lib/libView.so..1:/swl/IRIX64-6.5/lib/libView.so..1:/usr/lib/libView.so..1:/lib64/libView.so..1:/usr/freeware/lib/libView.so..1:/usr/lib32/libView.so..1:/usr/lib32/internal/libView.so..1:/lib32/libView.so..1:/opt/lib32/libView.so..1:/postfix/ironst/sde/LADARDataModel/IRIX64-6.5/lib/libView.so..1.1:/postfix/ironst/dev/mep/IRIX64-6.5/lib/libView.so..1.1:/swl/autoconf-2.52/IRIX64-6.5/lib/libView.so..1.1:/swl/IRIX64-6.5/lib/libView.so..1.1:/usr/lib/libView.so..1.1:/lib64/libView.so..1.1:/usr/freeware/lib/libView.so..1.1:/usr/lib32/libView.so..1.1:/usr/lib32/internal/libView.so..1.1:/lib32/libView.so..1.1:/opt/lib32/libView.so..1.1:
>
> - Ted
>
> However when I run a program that links against libView I have
> to create a *.so..1 link. Why is this?
The soname for the library has been set wrongly :-(
soname_spec='${libname}${release}.so$major'
library_names_spec='${libname}${release}.so$versuffix
${libname}${release}.so$major ${libname}${release}.so $libname.so'
Hmm. ISTR removing a `.' from the soname_spec some time ago. I am
pretty sure this is fixed in HEAD... I'll probably release 1.4d
shortly, since a lot of fixes have gone in since 1.4b.
Cheers,
Gary.
> PS. On IRIX how does libtool map C:R:A to native naming conventions
> for shared libraries?
>From ltmain.in on HEAD:
case $version_type in
# ...
irix)
major=`expr $current - $age + 1`
verstring="sgi$major.$revision"
# Add in all the interfaces that we are compatible with.
loop=$revision
while test "$loop" -ne 0; do
iface=`expr $revision - $loop`
loop=`expr $loop - 1`
verstring="sgi$major.$iface:$verstring"
done
# Before this point, $major must not contain `.'.
major=.$major
versuffix="$major.$revision"
;;
# ...
# For comaprison:
linux)
major=.`expr $current - $age`
versuffix="$major.$age.$revision"
;;
esac
--
())_. Gary V. Vaughan gary@(oranda.demon.co.uk|gnu.org)
( '/ Research Scientist http://www.oranda.demon.co.uk ,_())____
/ )= GNU Hacker http://www.gnu.org/software/libtool \' `&
`(_~)_ Tech' Author http://sources.redhat.com/autobook =`---d__/