[nas] NAS 1.8 (stable) is available

James Lee canoe at onetel.com
Mon Jun 5 02:58:05 MDT 2006


On 04/06/06, 22:38:29, Jon Trulson <jon at radscan.com> wrote regarding Re: 
[nas] NAS 1.8 (stable) is available:

> > You can still change the library number, just as you have to 2.4 but
> > leave the the minor rev increment off the SONAME in the elf headers.
> >

>          Well, SONAME is used to contruct the library name as well -
>          only the major number is made a part of the ELF soname.

There is the problem because it's not happening.




> > $ dump -Lv libaudio.so | grep SONAME
> > [1]     SONAME          libaudio.so.2.4
> >


>          Hmm.  I don't have dump, but:

> $ readelf -a /usr/X11R6/lib/libaudio.so.2.4 |grep SONAME
> 0x0000000e (SONAME)                     Library soname: [libaudio.so.2]

>             ... yields the correct elf soname.  What OS are you using?
>             Solaris?  Maybe the lib build needs to be fixed for solaris
>             to only use the major number...

Yes, Solaris.


> > How to do with imake.... oooerrr.... This is doing it, the definition of
> > SharedLibraryTarget:
> >
> > Concat(lib,libname.so.rev): solist $(MAPFILE)
> > @@\
> > $(RM) $@~
> > @@\
> > $(CCENVSETUP) $(LD) -o $@~ $(SHLIBLDFLAGS) -h $@ solist
> > $(REQUIREDLIBS)
> > @@\
> >

>             I do not think we would want to mess with a system's Concat
>             definition :)

It's SharedLibraryTarget that is used, Concat is just part of the
definition.  And no, we don't want to change it either, but it's not
doing what we want so it needs a new SharedLibraryTarget macro in
the template.


>          I have attached a patch for config/NetAudio.tmpl that will do
>          this... Older solaris apps still linked with libs that have
>          the 2.3 soname will still need relinking I guess, but it
>          should avoid this problem on solaris going forward.

That now uses the libaudio.so.2 as the SONAME but also calls the library
that too.  So there is no version to label the file.

Obviously what we want is the real file called .so.2.4, links from
.so.2 and .so to .so.2.4 and the SONAME to be .so.2.

Can imake do it?  I don't know.  I know I can post configure modify
easily.  One edit and one extra link.  <rant>Porting "OS independent"
build configurations takes longer than porting code, libtool is the
worst system I know.</rant>


A crutch link from .so.2.3 to .so.2.4 will save relinking dependents.





James.







More information about the Nas mailing list