Subject: Re: Invalid libSDL.so version number in package devel/SDL-1.2.9 ?
To: adam@netbsd.org, Ian Zagorskih <ianzag@megasignal.com>
From: Jeremy C. Reed <reed@reedmedia.net>
List: tech-pkg
Date: 10/11/2005 09:02:07
On Tue, 11 Oct 2005, Ian Zagorskih wrote:

> $ pkg_info openttd
> Information for openttd-0.4.0.1nb2:
> Comment:
> Open source clone of Transport Tycoon Deluxe
> Requires:
> SDL>=1.2.7nb4

...

> # readelf --all /usr/pkg/bin/openttd  | grep libSDL
> 0x00000001 (NEEDED)                     Shared library: [libSDL.so.2]
>
> Indeed, it expectes libSDL.so.2 while:
>
> $ pkg_info -L SDL | grep libSDL.so
> /usr/pkg/lib/libSDL.so
> /usr/pkg/lib/libSDL.so.1
> /usr/pkg/lib/libSDL.so.1.0.8

I assume your openttd package was built before January 5th. That is when 
SDL became 1.2.8. (I also have SDL-1.2.7nb4 built about one year ago.)

Currently we have:
BUILDLINK_DEPENDS.SDL+=         SDL>=1.2.5nb5

/ftp/pub/NetBSD/packages/pkgsrc-2005Q2/NetBSD-2.0.2/amd64/devel/SDL-1.2.8nb1.tgz 
(and i386 too)
has:
lib/libSDL.so.1 -> libSDL.so.1.0.8

And 
/ftp/pub/NetBSD/packages/pkgsrc-2005Q3/NetBSD-2.0/i386/devel/SDL-1.2.9.tgz 
has:
  lib/libSDL.so.2 -> libSDL.so.2.0.9

> Just wondering if is it a bug and libSDL.so in SDL-1.2.9 package should be
> numbered as libSDL.so.1.0.9 instead of 2.0.9?

I think you are right. I think it should be 1.0.9. I don't know for sure.

The generated Makefile has:

LT_AGE = 0
LT_CURRENT = 2
LT_RELEASE = 1.2
LT_REVISION = 9


configure.in has:


SDL_MAJOR_VERSION=1
SDL_MINOR_VERSION=2
SDL_MICRO_VERSION=9
SDL_INTERFACE_AGE=2
SDL_BINARY_AGE=9
SDL_VERSION=$SDL_MAJOR_VERSION.$SDL_MINOR_VERSION.$SDL_MICRO_VERSION
...
# libtool versioning
LT_RELEASE=$SDL_MAJOR_VERSION.$SDL_MINOR_VERSION
LT_CURRENT=$SDL_INTERFACE_AGE
LT_REVISION=$SDL_BINARY_AGE
LT_AGE=0

I added the maintainer as a recipient of this email. Can you check this?



  Jeremy C. Reed

  	  	 	 technical support & remote administration
 	  	 	 http://www.pugetsoundtechnology.com/