ports/100486: SDL port breaks compatibility in several ways

mark at darklogik.org mark at darklogik.org
Tue Jul 18 14:21:31 UTC 2006


>Number:         100486
>Category:       ports
>Synopsis:       SDL port breaks compatibility in several ways
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Tue Jul 18 14:20:12 GMT 2006
>Closed-Date:
>Last-Modified:
>Originator:     mark at darklogik.org
>Release:        FreeBSD 6.1-RELEASE i386
>Organization:
n/a
>Environment:
System: FreeBSD logik.internal.network 6.1-RELEASE FreeBSD 6.1-RELEASE #0: Sun May 7 04:32:43 UTC 2006 root at opus.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC i386

SDL-1.2.9
>Description:

The libSDL port (devel/sdl12) has a number of problems. First of all,
for apparently no reason whatsoever, the 'config' binary 'sdl-config'
is renamed to 'sdl11-config' which breaks compatibility with the
majority of build scripts unless they take extra pains to support
FreeBSD (which precisely goes against the point of using SDL in the
first place).

Secondly, the port installs header files into /usr/local/include/SDL11
instead of the standard /usr/local/include/SDL, causing the same
problems as above.

The library names have also not been updated (and I don't think this
has anything to do with the dynamic linker). So even though I have
version 1.2.9 installed, the libraries advertise themselves as
libSDL-1.1.so.

Basically, the sdl12 port installs version 1.2.9 and calls it version
1.1.

The config binary even states that it's linking against SDL-1.1, which
is just basically incorrect:

$ sdl11-config --libs
-L/usr/local/lib -Wl,-rpath,/usr/local/lib -lSDL-1.1 -pthread

>How-To-Repeat:

Install SDL.

>Fix:

Don't rename the config binary, it can be queried for it's own version
with:

  sdl-config --version

Either install files into /usr/local/include/SDL or create a compatibility
symlink from /usr/local/include/SDLwhatever.

Use the correct version numbers for dynamic libraries so that
applications can say:

  libSDL-`sdl-config --version`.so

..and get the correct libraries like they would on other platforms.
>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list