[Pkg-games-ubuntu] [Bug 273558] Re: /usr/lib/libopenal.so.0 missing from Intrepid

Ben Supnik bsupnik at xsquawkbox.net
Sun May 17 08:35:55 UTC 2009


Hi Everyone,

I am the other Linux guy...first, to be clear:

Regardless of what happens with any distro, we (LR) have altered our 
OpenAL support to dynamically load either version of libopenal in our 
master code - over time all "live" apps will end up supporting either 
distro.

Maróy, the next cut of the installer (2.06) should fix this when it 
comes out.  It is actually a bit silly that the installer links to 
libopenal.so.0 at all - this is a result of shared makefiles, not a 
design requirement.

Draeath, you ask a good question here: why do we not just patch our apps 
(or why are we making so much noise since we already have done the work 
for the patch).

In our case there are a few issues:

1. If there really is an ABI change, there is a risk that our change (to 
simply load either version of the lib) isn't correct.  This is the 
practical reason why I keep asking "what changed".  (The impractical 
reason is my own sense of wonder as a developer of binary apps that the 
lib changed.)

2. Since X-Plane 8 is no longer being developed, "change the code" isn't 
a very good solution for us.  From our perspective as developers of a 
binary application that is ported onto Linux, if apps stop working due 
to later changes in standard APIs for some distros, it means an 
additional cost of development (in that we have to be in "maintenance" 
mod for an app for as long as distros are coming out).

(Compatibility problems like this do creep in on Mac/Win, but on a much 
slower time scale.)

3. Other distros are making this change...unfortunately the total rate 
of change across all distros is very uneven...we first started hearing 
about this a while ago and there are still users running the sim who are 
on distros that are not making this change (not to mention users who are 
not updating their distros).  The "shear" of having the change not come 
uniformly means we had to do a "dynamic linking" solution - dropping 
support for all distros still on libopenal.so.0 was not an option for us.

Thus I reiterate my initial point: openAL is (in theory) a standard - 
like OpenGL, it should not be necessary to change the version of the .so 
even if the underlying implementation is 100% changed.  We link against 
ATI and NV implementations of the GL without multiple .so versions, 
because the API and ABI are standard.  It seems to me that libOpenAL 
should be in that category, so there should not be an app-perceivable 
change from the creative to the new implementation!

cheers
Ben


Ákos Maróy wrote:
> Thanks for all the swift resposnes.
> 
> Ben: while 930 Beta might look for both libraries, the X-Plane Updater
> itself only looks for .0 - so actually updating to 930 Beta is not
> possible without working around this via a symlink, for example
> 

-- 
Scenery Home Page: http://scenery.x-plane.com/
Scenery blog: http://xplanescenery.blogspot.com/
Plugin SDK: http://www.xsquawkbox.net/xpsdk/
X-Plane Wiki: http://wiki.x-plane.com/
Scenery mailing list: x-plane-scenery at yahoogroups.com
Developer mailing list: x-plane-dev at yahoogroups.com

-- 
/usr/lib/libopenal.so.0 missing from Intrepid
https://bugs.launchpad.net/bugs/273558
You received this bug notification because you are a member of
Debian/Ubuntu Games Team, which is subscribed to openal-soft in ubuntu.

Status in “openal-soft” source package in Ubuntu: Won't Fix

Bug description:
Binary package hint: libopenal1
Version: 1:1.3.253-4ubuntu1

The libopenal1 binary package in Intrepid replaces the old libopenal0a binary package from Hardy, Gutsy etc. libopenal0a created /usr/lib/libopenal.so.0, but the new libopenal1 package does not (it creates /usr/lib/libopenal.so.1 instead).

This breaks some third-party binaries, eg X-Plane (http://www.x-plane.com/).

Suggested fix:
The libopenal1 binary package should create a symbolic link from /usr/lib/libopenal.so.0 to /usr/lib/libopenal.so.1

Alternative fix:
Retain the old libopenal0a binary package in Intrepid, in addition to the new libopenal1 binary package. And change the libopenal1 package so that it does not replace libopenal0 or libopenal0a.



More information about the Pkg-games-ubuntu mailing list