[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: IRIX and .so numbers
Gary V. Vaughan
Re: IRIX and .so numbers
Tue, 8 Jan 2002 16:23:00 +0000
I wrote the irix version numbering code with reference to a spec Alexandre
Oliva left in the mail/ subdirectory of libtool CVS, but have never
actually used (or seen!) and IRIX box.
I assume that the spec I used disallowed `0' in the major number? But
that code is several years old, and the memory is very dim. I might be
persuaded to drop the +1 if you can describe a real problem that you are
experiencing as a result (non-matching sonames is not a real problem!).
Remember that libtool abstracts away the soname, you give it C:R:A and
libtool will generate an appropriate filename and soname to help the
current platform's runtime loader find the most up to date binary
compatible version of the library that the platform's dynamic library
subsystem semantics allow. Because of this, you probably ought not to
concern yourself with different platforms being given different sonames
for the same C:R:A specification (look at what has to happen on cygwin
for example!) unless the runtime loader is finding the wrong library
under certain circumstances.
On Mon, Jan 07, 2002 at 09:42:44AM -0600, Robert Boehne wrote:
> I have recently noticed this as well. I get the correct version on
> every platform except for IRIX where it is `expr $correct + 1`.
> You are using CVS, correct? I'm no expert on the versioning
> Libtool code so if anyone could comment on why this might
> be there that'd help. Nick, you should always tell us what version
> you're using when you ask about a bug.
> Nick Blievers wrote:
> > Hi,
> > in ltmain.in there is the following block of code:
> > irix | nonstopux)
> > case $version_type in
> > nonstopux) verstring_prefix=nonstopux ;;
> > *) verstring_prefix=sgi ;;
> > esac
> > verstring="$verstring_prefix$major.$revision"
> > major=`expr $current - $age + 1`
> > # 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="$verstring_prefix$major.$iface:$verstring"
> > done
> > # Before this point, $major must not contain `.'.
> > major=.$major
> > versuffix="$major.$revision"
> > ;;
> > linux)
> > major=.`expr $current - $age`
> > versuffix="$major.$age.$revision"
> > ;;
> > Can anyone explain why major=`expr $current - $age + 1` for IRIX? When I am
> > building freetype, I get *.so.6 on Linux and *.so.7 on IRIX, which suggests
> > the +1 is erroneous. Can anyone confirm?
> > Removing the +1 seems to give the desired results, and allows my OpenOffice
> > build to continue.
> > Thanks
> > Nick
> > _______________________________________________
> > Bug-libtool mailing list
> > address@hidden
> > http://mail.gnu.org/mailman/listinfo/bug-libtool
())_. 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__/