Xcode 4.6.3 GStreamer 1.2.0 linker error

Michael McNamara mmcnamara at control4.com
Mon Oct 28 18:47:00 CET 2013


Hi Andoni,

Thanks for your assistance.  I have pulled the latest, and I can confirm that your fix:

http://cgit.freedesktop.org/gstreamer/sdk/cerbero/commit/?id=373a5c7f015350d4658983f86c620a7f8ae33ce0

is working.  I can get glib to build now with no problems.  I'm now having issues with compiling pixman:

libtool: compile:  llvm-gcc-4.2 -DHAVE_CONFIG_H -I. -I.. -arch armv7 -mcpu=cortex-a8 -pipe -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk -arch armv7 -mcpu=cortex-a8 -pipe -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk -miphoneos-version-min=5.1 -Wall -g -Os -Wall -fno-strict-aliasing -fvisibility=hidden -MT pixman-implementation.lo -MD -MP -MF .deps/pixman-implementation.Tpo -c pixman-implementation.c  -fno-common -DPIC -o .libs/pixman-implementation.o
{standard input}:819:Rest of line ignored. 1st junk character valued 40 (().
{standard input}:823:Rest of line ignored. 1st junk character valued 40 (().
{standard input}:827:Rest of line ignored. 1st junk character valued 40 (().
make[2]: *** [pixman-implementation.lo] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2
***** Error running 'buildone' command:
Recipe 'pixman' failed at the build step 'compile'

This appears to be an ARM related issue.  I can buildone for x86 with no issues:

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

Thanks.

From: Andoni Morales <ylatuya at gmail.com<mailto:ylatuya at gmail.com>>
Reply-To: Discussion of the development of and with GStreamer <gstreamer-devel at lists.freedesktop.org<mailto:gstreamer-devel at lists.freedesktop.org>>
Date: Saturday, October 26, 2013 5:55 AM
To: Discussion of the development of and with GStreamer <gstreamer-devel at lists.freedesktop.org<mailto:gstreamer-devel at lists.freedesktop.org>>
Subject: Re: Xcode 4.6.3 GStreamer 1.2.0 linker error




2013/10/26 Andoni Morales <ylatuya at gmail.com<mailto:ylatuya at gmail.com>>



2013/10/26 Andoni Morales <ylatuya at gmail.com<mailto:ylatuya at gmail.com>>



2013/10/24 Michael McNamara <mmcnamara at control4.com<mailto:mmcnamara at control4.com>>
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.
Hi,

I have launched a clean rebuild here trying to reproduce it. The error should be logged in  /Users/mike/cerbero/sources/
ios_universal/x86/glib-2.38.0/config.log, could you paste it here?

Hi,

For some reason in the universal build it's using the incorrect sysroot for the x86 build. I will try to fix it today.

Hi,

This has been fixed in:
http://cgit.freedesktop.org/gstreamer/sdk/cerbero/commit/?id=373a5c7f015350d4658983f86c620a7f8ae33ce0

Andoni


128 configure:4113: llvm-gcc-4.2  -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk -miphoneos-version-min=5.2 -Wall -g -Os -DNVALGRIND    =1  -DHAVE_STRNDUP -DGST_SDK_IOS=1  -arch i386  -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator6.1.sdk -L/Users/fluendo/ce    rbero/dist/ios_universal/lib  -arch i386  -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator6.1.sdk  -Wl,-iphoneos_version_mi    n,5.2 -Wl,-undefined,error -Wl,-headerpad_max_install_names conftest.c  >&5
129 ld: in '/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk/usr/lib/system/libdispatch.dylib', missing required architecture i386 in file /Appl    ications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk/usr/lib/system/libdispatch.dylib (2 slices) for architecture i386
130 collect2: ld returned 1 exit status

Andoni

Andoni

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!


_______________________________________________
gstreamer-devel mailing list
gstreamer-devel at lists.freedesktop.org<mailto:gstreamer-devel at lists.freedesktop.org>
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel




--
Andoni Morales Alastruey

LongoMatch:The Digital Coach
http://www.longomatch.ylatuya.es



--
Andoni Morales Alastruey

LongoMatch:The Digital Coach
http://www.longomatch.ylatuya.es



--
Andoni Morales Alastruey

LongoMatch:The Digital Coach
http://www.longomatch.ylatuya.es
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20131028/c5822504/attachment.html>


More information about the gstreamer-devel mailing list