Build XBMC under 10.7.4 / Xcode 4.3
#31
mainline code should be good now, billy is happy and green Smile

The only issue right now is default depends/configure for osx picks the latest sdk version (always with min set to 10.6) while xcode has the sdk set to 10.6. This causes a path issue since depends builds to '/Users/Shared/xbmc-depends/macosx10.7_i386' and xcode uses '/Users/Shared/xbmc-depends/macosx10.6_i386', the fix is to change xcode to also use the latest.

This will be resolved once we decide which way to go. It seems there are apple API selector bugs present in 10.7sdk, it should honor the min os setting and only expose those APIs that are available under the min os (10.6) but we are seeing 10.7 API functions exposed which can make the code fail to compile on a box with only 10.6sdk present (Xcode3 on 10.6.x).

Please keep this thread focused on the topic, those nightly build posts are off-topic and have been removed.

P.S.
In case no one has been paying attention Smile macosx10.6_x86_64 / macosx10.7_x86_64 builds are now possible, that's right... XBMC for Mac as a full x86_64 app.
Reply
#32
(2012-05-16, 11:04)henke66 Wrote: Davilla, I tried to build your commit "[osx/ios] fixed ios ffmpeg configure, patch out ffmpeg configure insi…" on 10.7.3 and xcode 4.3.
I succeded to build all the libraries, but failed on building xbmc app in Xcode.
I get a "config.h file not found in system.h". Do you have any clue on what is wrong. I guess config.h should have been created by ./configure, right?
Where should "config.h" be located? Could it be a include path problem in xcode project?

If I suceed to build this branch of yours it will run on atv2/ios5, right?

Change Xcode SDK setting from 10.6 to 'latest'.
Reply
#33
I'm trying to build for atv2. Did you mean the base sdk version in the xcode project. This is set to "IOS latest".

Just to be sure we are not talking about different things here.
I'm trying to build atv2 for ios5 with xcode 4. Will this work on latest master on https://github.com/xbmc/xbmc?
Or do I have to pull from your repo? If so what branch/commit do you recommend?
Reply
#34
I'll take a look and see what the problem is with atv2 build.
Reply
#35
mainline code -> https://github.com/xbmc/xbmc

https://github.com/xbmc/xbmc/commit/4735...076ea4603f

that was last commit related to xcode4 build
Reply
#36
atv2/ios looks good now, remember to pull
Reply
#37
I tried to build https://github.com/xbmc/xbmc/commit/4735...076ea4603f.
This is actually my best attempt sofar. However I'm not able to complete the build.

I'm failing when building xbmc-atv2 project. I tried both from the gui and from terminal like:
Code:
xcodebuild -project XBMC-ATV2.xcodeproj -target XBMC -configuration Release build ONLY_ACTIVE_ARCH=YES ARCHS=armv7 VALID_ARCHS=armv7 IPHONEOS_DEPLOYMENT_TARGET=4.1 SDKROOT=iphoneos4.2

But it fails on same file with the same error message:
Code:
CompileC build/XBMC-ATV2.build/Release-iphoneos/XBMC.build/Objects-normal/armv7/DVDClock.o xbmc/cores/dvdplayer/DVDClock.cpp normal armv7 c++ com.apple.compilers.llvm.clang.1_0.compiler
    cd /Users/lars-henrik/xbmc
    setenv LANG en_US.US-ASCII
    setenv PATH "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/usr/local/git/bin"
    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -x c++ -arch armv7 -fmessage-length=0 -Wno-trigraphs -fpascal-strings -O3 -Wno-missing-field-initializers -Wno-missing-prototypes -Wreturn-type -Wno-non-virtual-dtor -Wno-overloaded-virtual -Wno-exit-time-destructors -Wformat -Wno-missing-braces -Wparentheses -Wswitch -Wno-unused-function -Wno-unused-label -Wno-unused-parameter -Wunused-variable -Wunused-value -Wno-uninitialized -Wno-unknown-pragmas -Wno-shadow -Wno-four-char-constants -Wno-sign-compare -Wno-shorten-64-to-32 -Wno-newline-eof -Wc++11-extensions -DNDEBUG -DTARGET_POSIX -DTARGET_DARWIN -DTARGET_DARWIN_IOS -DTARGET_DARWIN_IOS_ATV2 -D_LINUX -D_REENTRANT -D_FILE_DEFINED -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D__STDC_CONSTANT_MACROS -DHAVE_CONFIG_H -DHAS_SPC_CODEC -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.1.sdk -Wdeprecated-declarations -Winvalid-offsetof -g -Wno-conversion -Wno-sign-conversion -mthumb -miphoneos-version-min=4.1 -iquote /Users/lars-henrik/xbmc/build/XBMC-ATV2.build/Release-iphoneos/XBMC.build/XBMC-generated-files.hmap -I/Users/lars-henrik/xbmc/build/XBMC-ATV2.build/Release-iphoneos/XBMC.build/XBMC-own-target-headers.hmap -I/Users/lars-henrik/xbmc/build/XBMC-ATV2.build/Release-iphoneos/XBMC.build/XBMC-all-target-headers.hmap -iquote /Users/lars-henrik/xbmc/build/XBMC-ATV2.build/Release-iphoneos/XBMC.build/XBMC-project-headers.hmap -iquote/Users/Shared/xbmc-depends/iphoneos5.1_armv7/include -iquote/Users/Shared/xbmc-depends/iphoneos5.1_armv7/include/mysql -iquote/Users/Shared/xbmc-depends/iphoneos5.1_armv7/include/freetype2 -iquote/Users/Shared/xbmc-depends/iphoneos5.1_armv7/include/python2.6 -I/Users/lars-henrik/xbmc/build/Release-iphoneos/include -I/Users/lars-henrik/xbmc -Ixbmc -Ixbmc/osx -Ixbmc/linux -Ixbmc/cores/dvdplayer -Ixbmc/cores/AudioEngine -Ixbmc/cores/AudioEngine/Utils -Ilib -Ilib/ffmpeg -I/Users/Shared/xbmc-depends/iphoneos5.1_armv7/include -I/Users/Shared/xbmc-depends/iphoneos5.1_armv7/include/mysql -I/Users/Shared/xbmc-depends/iphoneos5.1_armv7/include/freetype2 -I/Users/Shared/xbmc-depends/iphoneos5.1_armv7/include/python2.6 -I/Users/lars-henrik/xbmc/build/XBMC-ATV2.build/Release-iphoneos/XBMC.build/DerivedSources/armv7 -I/Users/lars-henrik/xbmc/build/XBMC-ATV2.build/Release-iphoneos/XBMC.build/DerivedSources -F/Users/lars-henrik/xbmc/build/Release-iphoneos -F/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.1.sdk/System/Library/PrivateFrameworks -MMD -MT dependencies -MF /Users/lars-henrik/xbmc/build/XBMC-ATV2.build/Release-iphoneos/XBMC.build/Objects-normal/armv7/DVDClock.d --serialize-diagnostics /Users/lars-henrik/xbmc/build/XBMC-ATV2.build/Release-iphoneos/XBMC.build/Objects-normal/armv7/DVDClock.dia -c /Users/lars-henrik/xbmc/xbmc/cores/dvdplayer/DVDClock.cpp -o /Users/lars-henrik/xbmc/build/XBMC-ATV2.build/Release-iphoneos/XBMC.build/Objects-normal/armv7/DVDClock.o
fatal error: error in backend: Couldn't allocate input reg for constraint 'D'!
2012-05-16 21:51:59.733 xcodebuild[20185:432b]  DVTAssertions: Warning in /SourceCache/IDEXcode3ProjectSupport/IDEXcode3ProjectSupport-1197/Xcode3Sources/XcodeIDE/Frameworks/DevToolsBase/pbxcore/Target.subproj/BuildCommandResultsPostprocessing/XCClangResultsPostprocessor.m:92
Details:  Unable to read diagnostics from file "DVDClock.dia" (Invalid File): Bad header in diagnostics file
Object:   <XCClangResultsPostprocessor: 0x4018fd140>
Method:   -postprocessResultsForCommandInvocation:
Thread:   <NSThread: 0x401faabe0>{name = (null), num = 4}
Please file a bug at http://bugreport.apple.com with this warning message and any useful information you can provide.
Command /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang failed with exit code 1


** BUILD FAILED **


The following build commands failed:
    CompileC build/XBMC-ATV2.build/Release-iphoneos/XBMC.build/Objects-normal/armv7/DVDClock.o xbmc/cores/dvdplayer/DVDClock.cpp normal armv7 c++ com.apple.compilers.llvm.clang.1_0.compiler
(1 failure)
Anyone have a clue? I don't really understand the purpose of that diagnostic file. It seems like an input file, but where is it coming from?
Previous to this it successfully compiled like 140 files, so what is special about this one?
Reply
#38
fatal error: error in backend: Couldn't allocate input reg for constraint 'D'!
DVDClock.xxx

this was fixed in https://github.com/xbmc/xbmc/commit/3543...0222b3ad04

you are stale, make clean, pull and rebuild.

SDKROOT=iphoneos4.2, 4.2sdk does not exist on xcode4 4.3.2, what are you doing here ?
Reply
#39
(2012-05-17, 16:19)davilla Wrote: fatal error: error in backend: Couldn't allocate input reg for constraint 'D'!
DVDClock.xxx

this was fixed in https://github.com/xbmc/xbmc/commit/3543...0222b3ad04

you are stale, make clean, pull and rebuild.
Pulled this commit instead:
https://github.com/xbmc/xbmc/commit/32bc...0d92f456bc
I finally have a successful build!Smile
Quote:SDKROOT=iphoneos4.2, 4.2sdk does not exist on xcode4 4.3.2, what are you doing here ?
This was copy paste from the README.ios. Confused
This should be correct i believe:
Code:
xcodebuild -project XBMC-ATV2.xcodeproj -target XBMC -configuration Release build ONLY_ACTIVE_ARCH=YES ARCHS=armv7 VALID_ARCHS=armv7 IPHONEOS_DEPLOYMENT_TARGET=4.1 SDKROOT=iphoneos5.1
Unsure about IPHONEOS_DEPLOYMENT_TARGET, but I guess 4.1 is still valid.
Reply
#40
So, I've managed to build successfully for the ATV2. Sweet.

But trying to install the package results in this:

Code:
ATV:/private/var/tmp root# dpkg -i org.xbmc.xbmc-atv2_12.0-0~alpha2_iphoneos-arm.deb
dpkg: regarding org.xbmc.xbmc-atv2_12.0-0~alpha2_iphoneos-arm.deb containing org.xbmc.xbmc-atv2, pre-dependency problem:
org.xbmc.xbmc-atv2 pre-depends on firmware (<< 5.0)
  firmware is installed, but is version 5.0.1.
dpkg: error processing org.xbmc.xbmc-atv2_12.0-0~alpha2_iphoneos-arm.deb (--install):
pre-dependency problem - not installing org.xbmc.xbmc-atv2
Errors were encountered while processing:
org.xbmc.xbmc-atv2_12.0-0~alpha2_iphoneos-arm.deb

I should chase it down but I've been awake for about 1000hours, thought I could get an easy answer?

I'm running 4.4.4 on the ATV2 by the way.

If I have helped you in any way, please forgive me, it was entirely accidental.
Reply
#41
Guess it's checking for IOS version and not Apple TV version.

ATV2 4.4.4 = IOS 5.0.1

So this would imply that only works on IOS 4.3 or under.

I admit I thought the kernel panic caused by ffmpeg occured under ATV2 v5 (ie IOS 5.1+) but maybe not.

Guess we could do with a clear table of where the problem lies - especially as there are two versions to confuse everyone (IOS version and ATV version) Smile
Reply
#42
I thought this was the case too, as I'm running a standard eden build currently.

Perhaps the version checking is a little aggressive. Anyway, I've run out of time to play, got to head away for a few days.

If I have helped you in any way, please forgive me, it was entirely accidental.
Reply
#43
I've told you that you will brick your atv2 when installing current master on ios 4.4.4 - why do you still keep trying?

ios 4.4.4 <- is 5.0.1

Thats what the error message says. You need iOS < 5.0 (a.k.a. 4.3) for installing xbmc.
AppleTV4/iPhone/iPod/iPad: HowTo find debug logs and everything else which the devs like so much: click here
HowTo setup NFS for Kodi: NFS (wiki)
HowTo configure avahi (zeroconf): Avahi_Zeroconf (wiki)
READ THE IOS FAQ!: iOS FAQ (wiki)
Reply
#44
(2012-05-18, 15:13)Memphiz Wrote: I've told you that you will brick your atv2 when installing current master on ios 4.4.4 - why do you still keep trying?

ios 4.4.4 <- is 5.0.1

Thats what the error message says. You need iOS < 5.0 (a.k.a. 4.3) for installing xbmc.

Why? Well that's easy. Because I'm a dumbass who doesn't listen/read. I thought it was an issue related to screen orientation that showed up in 5.1 or whatever. My bad.

If I have helped you in any way, please forgive me, it was entirely accidental.
Reply
#45
see tools/darwin/packaging/xbmc-atv2/mkdeb-xbmc-atv2.sh

remove


echo "Pre-Depends: firmware (<< 5.0)" >> $DIRNAME/$PACKAGE/DEBIAN/control

that's there to keep users from install on an atv2 with iOS5. But I'd watch out, atv2 versions numbers seem to run one behind. The fact that dpkg reports "version 5.0.1." means it's really an iOS5 variant.
Reply

Logout Mark Read Team Forum Stats Members Help
Build XBMC under 10.7.4 / Xcode 4.30