[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: IRIX and .so numbers
From: |
Nick Blievers |
Subject: |
RE: IRIX and .so numbers |
Date: |
Wed, 9 Jan 2002 07:14:15 +1100 |
Hi,
The problem is, when building a project like OpenOffice, which is built
on
many platforms, the build system expects the same library names on each
(*NIX) platform. So when we build freetype (for eg), the build system then
fails as it is looking for a library with a different major number. I guess
it could be argued that the build system should be more intelligent than
this, but I would argue for consistency across platforms. Surely a better
method of disallowing 0 for the major number can be used?
I will be interested to hear the feedback (whether this is a valid
reason)
as something will have to change! :)
Thanks
Nick
> Hi,
>
> 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.
>
> HTH,
> Gary.
>
> On Mon, Jan 07, 2002 at 09:42:44AM -0600, Robert Boehne wrote:
> > Nick:
> >
> > 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.
> >
> > Thanks,
> >
> > Robert
> >
> > 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__/
>