[openal] Questioning about linking to OS X 10.4 SDK

Lubo Diakov lubodiakov at gmail.com
Wed Nov 5 15:35:38 EST 2014


Alex Szpakowski <aszpakowski at gmail.com>
>
> Is there a reason you want to use the 10.4 SDK? If you just want runtime
> compatibility with systems running 10.4, you should set the Deployment
> Target (which is separate from the currently installed SDK.) ...

Thanks for the link, I had come accross that before. I realize that
Deployment Target rather the Base SDK (SDKRoot) is the recommended way
to get 10.4 runtime compatibility. Through a combination of my
inexperience, and I suspect various gotchas and functionality that
doesn't work quite as documented, I was unable to get it going that
way. Even setting a global shell variable like export
MACOSX_DEPLOYMENT_TARGET=10.4 it still links to version 111 of
LibSystem.B.dylib when using the 10.5 SDK, thus a library that only
runs/links in 10.5, but not 10.4. So using the 10.4 SDK was a
workaround to that. I've often come accross binaries linked on 10.6
which promise 10.5 runtime compat. and fail just like that. The weak
linking on these older versions of OS X is quite hit and miss, and
mostly miss, let's be honest:

dyld: unknown required load command 0x80000022 is often the console
output when it crashes

Further reading:
http://glandium.org/blog/?p=2764
http://stackoverflow.com/questions/6009321/weak-symbol-link-on-mac-os-x

If there is a way to get it working I'd like that, but since
compiling/linking to the 10.4 SDK gets the result I want I'm not too
worried on that account.

>
Chris Robinson <chris.kcat at gmail.com>
>
> Starting with 1.16, OpenAL Soft doesn't use OSX's OSAtomic methods
> because they're too inflexible (in particular, OSAtomicCompareAndSwap*
> doesn't report what the checked value was like every other API does; it
> only returns if the compare/swap was successful or not). Instead, it now
> only uses C11's atomic methods if available, otherwise falling back to
> GCC intrinsics (works on Clang too), or x86/x86_64 inline assembly. Or
> Windows' methods, but OSX obviously won't have those.
>
> AFAIK, OSX uses a version of GCC or Clang, so it should still work with
> either the intrinsics or inline assembly. Otherwise, bringing back the
> OSAtomic calls will require finding some way around CompareAndSwap's
> limitations.
>

Since you mention C11 for openal-soft version 1.16 (and newer?) does
it also require newer versions of gcc? I suspect so, as this 10.5 has
nothing newer than gcc 4.2 and the build halts.
I guess 1.15.1 is the end of the road even for 10.5 unless using a
newer compiler like gcc 4.8 or clang from MacPorts, for example? If it
can work I'd like to know how, but it seems unlikely.

-- 
Любомир Гаврилов Дяков
емайл:
lubodiakov at gmail.com


More information about the openal mailing list