Xcode 4.6.3 GStreamer 1.2.0 linker error

Michael McNamara mmcnamara at control4.com
Thu Oct 24 20:48:41 CEST 2013


I believe that the linker issues described in my original message must stem from the 1.2.0 iOS package being built with Xcode 5 against the iOS 7 SDK.  As such they don't appear to be backward compatible for use with Xcode 4.6.3.  This being the case, I've been trying to build 1.2.0 myself using Xcode 4.6.3.  The repo that I'm building from:

git://anongit.freedesktop.org/gstreamer/sdk/cerbero

I can bootstrap with no issues:

$ ./cerbero-uninstalled bootstrap

I then edit config/cross-ios* to set the SDK to 6_1 and start the build process:

$ ./cerbero-uninstalled -c config/cross-ios-universal.cbc package gstreamer-1.0

I'm currently dying when building glib:

…
checking for i386-apple-darwin10-gcc... llvm-gcc-4.2
checking whether the C compiler works... no
configure: error: in `/Users/mike/cerbero/sources/ios_universal/x86/glib-2.38.0':
configure: error: C compiler cannot create executables
See `config.log' for more details
***** Error running 'package' command:
Recipe 'glib' failed at the build step 'configure'

Somewhat confusingly I can do a buildone for both x86 and arm on glib with no issues?

$ ./cerbero-uninstalled -c config/cross-ios-x86.cbc buildone glib

$ ./cerbero-uninstalled -c config/cross-ios-arm7.cbc buildone glib

Suggestions on where to poke around would be welcome.

Thanks!


Subject: Xcode 4.6.3 GStreamer 1.2.0 linker error

Hi All,

I'm attempting to build a project for iOS / iOS Simulator with Xcode 4.6.3 using GStreamer 1.2.0:

http://gstreamer.freedesktop.org/data/pkg/ios/

and am dying with the following linker error:

~/Library/Developer/GStreamer/iPhone.sdk/GStreamer.framework/GStreamer(libcairo_a_i386_-cairo.o), archive member 'libcairo_a_i386_-cairo.o' with length 37376 is not mach-o or llvm bitcode for architecture i386

I thought perhaps a mis-lipo'd version of this lib had made it into the above distribution based on the error, so I decided to check into it.  I did a lipo –thin on both architectures (i386 and armv7) and then used ar to extract the respective archives.  Checking with otool on the libcairo object files, both seem to be correct:

$ otool -hv libcairo_a_i386_-cairo.o
libcairo_a_i386_-cairo.o: is an LLVM bit-code file

$ otool -hv libcairo_a_armv7_-cairo.o
libcairo_a_armv7_-cairo.o: is an LLVM bit-code file

Which flies in the face of the linker error above.  I'm totally stumped.  I tried Xcode 5 on the same project and don't seem to have any issues.  To answer the obvious question, I'm not currently in a spot where I cannot use Xcode 5 unfortunately.

Does anyone have any idea why this would be the case?  Any advice or guidance would be most appreciated!

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20131024/9e19dab5/attachment.html>


More information about the gstreamer-devel mailing list