[haiku-bugs] Re: [Haiku] #5376: Incorrect libraries name/soname

  • From: "kaliber" <trac@xxxxxxxxxxxx>
  • Date: Wed, 10 Feb 2010 18:30:47 -0000

#5376: Incorrect libraries name/soname
--------------------------+-------------------------------------------------
 Reporter:  kaliber       |       Owner:  zooey         
     Type:  bug           |      Status:  assigned      
 Priority:  normal        |   Milestone:  R1            
Component:  Build System  |     Version:  R1/Development
 Keywords:                |   Blockedby:                
 Platform:  All           |    Blocking:                
--------------------------+-------------------------------------------------

Comment(by kaliber):

 Replying to [comment:2 zooey]:

 > It really depends on what you mean by incorrect - as it seems, you have
 compared the sonames from haiku with the ones on Linux. But the BSDs for
 instance have a different soname scheme (incrementing the numeric suffic
 for every release).

 Soname is defined by the a package and it's OS independent. I'm talking
 about open source software available on various operating systems. It
 looks like FreeBSD (ports) uses the same rules, for example
 
[http://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-9-current/All/icu-4.3.3.tbz],
 
[http://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-9-current/All/ncurses-5.7.tbz].
 For some reason libjpeg has different soname in FreeBSD.

 > The soname scheme currently used in haiku simply uses the libraries name
 + ABI version for the soname.

 Many 3rdparty software use libtool. The major version number is changed
 only if ABI has changed.
 [http://www.gnu.org/software/libtool/manual/html_node/Updating-version-
 info.html]


 > It is hard to tell from their past releases, but is libjpeg 8.1 really
 going to be ABI compatible with 8.0? Please tell if you've found a point
 of reference for that.
 > Of course we could still name it libjpeg.so.8 and then name the next
 release libjpeg.so.8.1 if it is not compatible. But I personally find it
 pretty cumbersome to try and track ABI compatibility for libs that do not
 care to document their ABI compatibility policy.

 In my opinion 8.1 will be binary compatible with 8.0, but there is no
 guarantee. We should trust to package maintainers and believe that they
 change major version if they break binary compatibility.

 > > 4. icu
 > > - there is: libicu-*.so.4.2
 > > - should be: libicu*.so.42
 > > }}}
 >
 > Yeah, it could be, but why not let the soname match the ABI version of
 the library?

 Soname should match the ABI version instead of software version.

 Summarizing. I prefer to use original soname provided by a package
 maintainers instead of introducing own.

-- 
Ticket URL: <http://dev.haiku-os.org/ticket/5376#comment:3>
Haiku <http://dev.haiku-os.org>
Haiku - the operating system.

Other related posts: