[vlc-devel] [PATCH] Fix for crashes in several modules when running VLC on osx 10.6

Jean-Baptiste Kempf jb at videolan.org
Mon Oct 28 10:58:28 CET 2013


On 27 Oct, David Fuhrmann wrote :
> 
> Am 27.10.2013 um 19:10 schrieb Jean-Baptiste Kempf <jb at videolan.org>:
> 
> > On 27 Oct, David Fuhrmann wrote :
> >>> But in general, the toolchain must be configured with the *oldest* supported OS 
> >>> version to provide binary compatiblity. At least, that is how it works on 
> >>> Windows (through _WIN32_WINNT) and on all ELF-based platforms (through custom 
> >>> build roots).
> >> 
> >> Mac OS officially supports building on newer versions with newer osx SDKs, by giving a minimal version for osx which is supported at runtime.
> > 
> > This is partially true. The flags are mostly for Obj-C runtime, not
> > really for C/C++ headers.
> 
> AFAIK they are also minimum compatibility versions for C libraries which are checked at runtime.

But not with the C headers.

> Currently I am facing the question why the own implementation in compat seems to be used on Linux and Mac at all? Are the versions of the standard runtime libraries not compatible enough?

Because, when compiling on X.7, it finds the functions, but they don't
exist in the standard library of X.6.
So we need to force deactivation of those few functions, and use compat
anytime, even if X.7 has them.

Which is what Rémi says: one should compile on the oldest version.
However, we do agree that we cannot compile on X.6, because of the other modules.

So, we must replace those functions by ours in compat, and force
libcompat linking before the system one.

Hard, tweaky, and ugly, but there are no solutions. And no, we cannot
drop X.6 :)

-- 
Jean-Baptiste Kempf
http://www.jbkempf.com/ - +33 672 704 734
Sent from my Electronic Device



More information about the vlc-devel mailing list