[Openal] OpenalSoft 1.7.411 & malformed version number on ppc
G5and i386 macbook
Chris Robinson
chris.kcat at gmail.com
Tue Apr 7 12:11:09 PDT 2009
On Tuesday 07 April 2009 11:04:06 am Jason Daly wrote:
> I think the only thing you're doing wrong is trying to compile
> OpenAL-Soft under OSX :-)
>
> Even after this error is fixed, so far, there is no audio output backend
> for OSX, so the only output you could get is a wave file anyway.
Actually, there is a PortAudio backend which is supposed to work on OSX. It's
never been tested there though, and I'm not claiming that OpenAL Soft is
"supported" on OSX yet (and I likely won't until it at least creates a proper
framework).. but it should be possible, in theory, to work.
> There should already be a native OpenAL implementation as part of OSX
> that uses Core Audio. Is there a reason you're not using that?
I would recommend this too, as it's the version most people will have. That
said, OSX's OpenAL doesn't support the EFX extension and such, which apps are
starting to use.
Manolache Adrian wrote:
> *ld: malformed version number: 1.7.411
> collect2: ld returned 1 exit status
> make[2]: *** [libopenal.1.7.411.dylib] Error 1
> make[1]: *** [CMakeFiles/openal.dir/all] Error 2
> make: *** [all] Error 2*
>
> What am i doing wrong?
I'd be inclined to say this is a bug in CMake. The library version is set to
1.7.411, and the soversion (ie. the ABI version) is set to 1, as the CMake
documentation suggests doing. Under Linux, this produces the proper library
chain:
libopenal.so.1.7.411 (actual binary)
libopenal.so.1 -> libopenal.so.1.7.411
libopenal.so -> libopenal.so.1
And under Windows, it's (supposed to) set the DLL version.
It seems OSX doesn't like the full version number applied to the filename, and
only wants the ABI version on it. In that case, CMake should use the so/ABI
version when creating the file. If I change the library version to the ABI
version, it'll mess up Linux and Windows.
If you want to fix it locally, however, you can do this. Open up
CMakeLists.txt and find the line:
SET_TARGET_PROPERTIES(${LIBNAME} PROPERTIES VERSION ...
Right before that, add:
IF(APPLE)
SET(LIB_VERSION ${LIB_MAJOR_VERSION})
ENDIF()
That should prevent it from trying to use the full version number on the
filename.
More information about the Openal
mailing list