|
|
Portability
Platforms that the toolchain is known to work on.
Feel free to add platforms to this list. Make sure you have successfully compiled and tested a UIKit-based application before stating that the toolchain works properly.
Supported and tested
- Mac OS X 10.4, Intel. An installed Tiger SDK is automatically detected, so the Xcode DMG is not necessary.
- Mac OS X 10.4, PPC. The Xcode DMG is not necessary here either.
- Ubuntu Feisty Fawn, Intel.
- Ubuntu Gusty Gibbon, Intel.
- Fedora Core, Intel.
- Gentoo Linux 2007.0, x86_64. On 64-bit architectures there are currently compilation and linking problems with structs; as a workaround, try the following:
export CFLAGS="-m32" export LDFLAGS="-m32"
Supported but untested
- Mac OS X 10.5, PPC.
Supported but currently does not build
- Mac OS X 10.5 Intel: http://code.google.com/p/iphone-dev/issues/detail?id=31
- Windows XP/Cygwin: http://code.google.com/p/iphone-dev/issues/detail?id=40
- Windows XP/MinGW: http://code.google.com/p/iphone-dev/issues/detail?id=62
Unsupported
- Windows XP/Visual Studio.
Sign in to add a comment

Successfully built and tested HelloWorld? on Fedora:
Fedora v7.04 (Moonshine) LLVM trunk Rev. 41926 iPhone Toolchain trunk Rev. 164 gcc version 4.1.2 20070502 (Red Hat 4.1.2-12)
I can also confirm that the toolchain works on Ubuntu Fiesty Fawn:
$ cat /proc/version Linux version 2.6.20-16-generic (root@terranova) (gcc version 4.1.2 (Ubuntu 4.1.2-0ubuntu4)) #2 SMP Thu Jun 7 20:19:32 UTC 2007
$ arm-apple-darwin-gcc --version arm-apple-darwin-gcc (GCC) 4.0.1 (Apple Computer, Inc. build 5449)(LLVM build 2.0-svn-iphone-dev-0.3-svn)
Compiling odcctools does not work under linux x86_64 and is a known issue with odcctools. How did "Mike" get it to work on his x86-64 box?
Compiling odcctools does not work under linux x86_64 and is a known issue with odcctools.
Under Gentoo on amd64 install x86-chroot and do everything inside of that
Hello is there any instruction on how to compile the toolkit for windows XP/mingw?
Successfully built and tested HelloWorld? on Debian.
Successfully built and tested HelloWorld? on Centos 5 i386
Linux version 2.6.18-8.1.4.el5 (mockbuild@builder4.centos.org) (gcc version 4.1.1 20070105 (Red Hat 4.1.1-52)) #1 SMP Thu May 17 03:26:03 EDT 2007
arm-apple-darwin-gcc (GCC) 4.0.1 (Apple Computer, Inc. build 5449)(LLVM build 2.0-svn-iphone-dev-0.3-svn)
How about create a toolchain running on target? We have the console, vi and GUI text editor, it is fantasy to have a gcc running on iPhone so that I can try all kind idea when I'm on shuttle bus, it is most of my spare time :-)
Successfully built toolchain 0.3 on SuSE 10.2 32bit, Intel. Failed to build SuSE 10.2 64bit AMD X2 due to trouble in odcctools.
Everybody reporting success: Please indicated the SVN revision numbers used. You can see it with 'svn info' in llvm-svn and iphone-dev directory.
Rev 42286 of llvm and rev 42630 of iphone-dev works under Ubuntu Feisty for the UIKit HelloWorld? http://iphone.fiveforty.net/wiki/index.php/UIKit_Hello_World
Revision 42432 of llvm and rev 197 of iphone-dev (from http://iphone-dev.googlecode.com/svn) work under Windows XP/Cygwin with my patch and dir rename from issue 40 http://code.google.com/p/iphone-dev/issues/detail?id=40
uname -a CYGWIN_NT-5.1 Leeloo 1.5.24(0.156/4/2) 2007-01-31 10:57 i686 Cygwin
It compiles UIKit HelloWorld? http://iphone.fiveforty.net/wiki/index.php/UIKit_Hello_World
With updated GraphicsServices?.h from http://svn.berlios.de/svnroot/repos/iphone-binutils/trunk it compiles Motion from http://lucasnewman.com/phonedemos.zip
It fails to compile FlipACoin, though.
FlipACoin works with modification - header GraphicsServices?.h added to FlipACoinApp.h.
I can confirm that the iphone-dev toolchain works with WinXP/Cygwin using the patch submitted by victzh. I have successfully built console and UIKit applications and they execute without problems on the iPhone.
Thx all contributors!
/Tommy
I would really love a single package to have a working toolchain under windows/cygwin...
Leopard 10.5 Intel is also held back by defect 92. 31 has a possible fix in the comments.
http://code.google.com/p/iphone-dev/issues/detail?id=92
If you have successfully built the toolchain for Windows/Cygwin, please take a look at this wiki page. The instructions are not ready to be followed...it still needs stuff on what-to-get-via-Cygwin, how to get the MacOSX SDK without using a Mac, so if you could share how you were able to do things, that would be great.
I success to compile toolchain fro Xp/Cygwin and HelloApplication? When running HelloAppliction? on my iPhone I see nothing (no buttons and "Hello world") any idea ?
Successfully built and tested HelloWorld? on Fedora:
# from document svn co http://llvm.org/svn/llvm-project/llvm/trunk llvm-svn -r 42498 svn co http://iphone-dev.googlecode.com/svn/trunk/ iphone-dev -r 209
% uname -a Linux linux 2.6.21-1.3194.fc7 #1 SMP Wed May 23 22:47:07 EDT 2007 x86_64 x86_64 x86_64 GNU/Linux
% gcc -v Using built-in specs. Target: x86_64-redhat-linux gcc version 4.1.2 20070925 (Red Hat 4.1.2-27)
Can somebody make available the toolchain running on Debian Linux??
I can confirm that the toolchain works on PPC Mac OSX Leopard (9B18). The intel workaround involving modifying the gcc config file worked beautifully:
mv llvm-gcc-4.0-iphone/configure llvm-gcc-4.0-iphone/configure.old sed 's/^FLAGS_FOR_TARGET=$/FLAGS_FOR_TARGET=${FLAGS_FOR_TARGET-}/g' llvm-gcc-4.0-iphone/configure.old > llvm-gcc-4.0-iphone/configure sudo chmod 755 llvm-gcc-4.0-iphone/configure export FLAGS_FOR_TARGET="-mmacosx-version-min=10.1" sudo ln -s /usr/local/arm-apple-darwin/lib/crt1.o /usr/local/arm-apple-darwin/lib/crt1.10.5.o sudo ln -s /usr/local/arm-apple-darwin/lib/dylib1.o /usr/local/arm-apple-darwin/lib/dylib1.10.5.oPlease note that you will also have to export the SDK path just as you would for an intel leopard.
Tested: UIKit hello world app is working Followed instruction at http://wiki.iphonegameover.com/Windows_Cygwin_Binary_Toolchain_Installation which worked wonderful and within an hour I had everything done.
When building LLVM itself ('llvm-project/llvm/trunk'), you can save time by building on the targets you need by passing appropriate options to the './configure' script. For example, './configure --enable-targets="arm,x86"'
I have found that the default build, for 'all' targets, will fail on Cygwin/X86. This is due to CPU architectures like CellSPU that are not required to build LLVM for ARM/iphone
You will find TARGETS_TO_BUILD (the result of the --enable-targets) and other important variables within 'Makefile.config'. You can also set these variables as well through ./configure, but be careful as an --enable option may have more than one consequence.
Built and working fine on openSuSE 10.3 x86, with an extra note: when running the final make install, for llvm-gcc, sudo make install results in an error, you have to su, and then run make install.
Add Source installer : http://iphonebaidu.com/app/ Test iPhone - iPhone Simulator : http://iphonebaidu.com/test/ All Software for Apple MAC : http://iphonebaidu.com/mac-iphone/ All Software for Apple iPhone : http://iphonebaidu.com/mac-iphone/iphone.html
Install iTransformy (.swf) view for iPhone : http://iphonebaidu.com/beta/ Forum, DOwnload Themes, Apps for iPhone. http://iphonebaidu.com/forum/
Copyright © 2008 iPhone Baidu! Inc. All rights reserved
linux ppc could be added to unsupported
working on ubuntu 8.04 (Hardy Heron) on Intel x86 platform (VMWare actually).
Error in ubuntu(Hardy Heron) 8.04 64bit in odcctools make. (Iphone-dev SVN Rev:243)
I've trid also with: $ export CFLAGS="-m32" $ export LDFLAGS="-m32" and gcc-multilib
This is the log: ==============================================================
cd libstuff && make make1?: Entering directory `/home/marcello/iphone-dev/build/odcctools/libstuff' make1?: Nothing to be done for `default'. make1?: Leaving directory `/home/marcello/iphone-dev/build/odcctools/libstuff' cd ar && make make1?: Entering directory `/home/marcello/iphone-dev/build/odcctools/ar' gcc -Wall -Wno-long-double -Wno-import -DHAVE_CONFIG_H -DLITTLE_ENDIAN=1 -DBINDIR="\"/usr/local/bin\"" -DRANLIBPROG="\"arm-apple-darwin-ranlib\"" -I../../../odcctools/ar -I..//include -I../../../odcctools/include -include ../../../odcctools/include/extern.h -I../../../odcctools/include/foreign -m32 -fno-builtin-round -fno-builtin-trunc -c -o archive.o ../../../odcctools/ar/archive.c make1?: Leaving directory `/home/marcello/iphone-dev/build/odcctools/ar' ../../../odcctools/ar/archive.c: In function ‘open_archive’: ../../../odcctools/ar/archive.c:122: warning: implicit declaration of function ‘flock’ At top level: cc1: error: unrecognized command line option "-Wno-long-double" make1?: [archive.o] Error 1 make: ar? Error 2
==============================================================
This is what you have to do to get it to work on Ubuntu 8.04 "Hardy Heron"
1. Instead of LLVMOBJDIR=pwd type LLVMOBJDIR=$PWD
2. After the step: ../../odcctools/configure --target=arm-apple-darwin --disable-ld64
Use a text editor of your choice to edit config.status (e.g. gedit config.status) To edit the line s,@WARNINGS@, -Wall -Wno-long-double -Wno-import,;t t to say s,@WARNINGS@, -Wall -Wno-import,;t t Save the file, Happy Compiling!
Full credits for this fix go to xin.jiang (Comment on the "Building" page)
P.S.: Maybe someone could add this to the wiki page as Ubuntu is not exactly a rare distro...
anyone managed to get passed the compiling for llvm using gcc-4.3 on debian sid?
manage to edit the source when the errors are 'xxx' was not declared in this scope by including the necessary headers in the source. but got stuck when the error got to the following
--- In file included from ARMTargetMachine.h:21,
ARMInstrInfo.h:176: error: multiple parameters named 'Pred1' ---anyone knows how to edit this source for this? Or is there any revision of the llvm-svn that can compile successfully with gcc-4.3? currently using the revision 42498. The latest svn can compile against the gcc but then I got stuck at the final make LLVM_VERSION_INFO=2.0-svn-iphone-dev-0.3-svn which the error seems to be issue 70.
I can confirm that leonbrussels (or actually xin.jiang) solution for the -Wno-long-double error also works on Debian Lenny (2.6.24-1-686).
I have written program for iphone and debugged on simulator....but can't deploy that program on iphone. please some one tell me the steps which i have to follow to make that program appear on the iphone.i have use apple sdk 6.0 beta...please let me know as soos as possible
Sorry to be posting here if (it proves to be wrong section !!).. But this seems the most relevant place to post rather than in issues as the closest error realted to above..
Am Using Ubuntu 8.04 "Hardy Heron".. leonbrussel's suggestion solved the problem ON make LLVM_VERSION_INFO=2.0-svn-iphone-dev-0.3-svn
I get following error : ( sorry not able to figure out the exact reason.. :( ================================================================================================================ -c ../../../llvm-gcc-4.0-iphone/gcc/config/darwin-crt3.c -o crt3.o make3?: Leaving directory `/home/rush/iphone/iphone-dev/build/llvm-gcc-4.0-iphone/gcc' /home/rush/iphone/iphone-dev/build/llvm-gcc-4.0-iphone/gcc/xgcc -B/home/rush/iphone/iphone-dev/build/llvm-gcc-4.0-iphone/gcc/ -B/usr/local/arm-apple-darwin/bin/ -B/usr/local/arm-apple-darwin/lib/ -isystem /usr/local/arm-apple-darwin/include -isystem /usr/local/arm-apple-darwin/sys-include -O2 -DIN_GCC -DCROSS_DIRECTORY_STRUCTURE -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -fPIC -pipe -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -DGCC_FLOAT_NOT_NEEDED -Dinhibit_libc -I. -I. -I../../../llvm-gcc-4.0-iphone/gcc -I../../../llvm-gcc-4.0-iphone/gcc/. -I../../../llvm-gcc-4.0-iphone/gcc/../include -I../../../llvm-gcc-4.0-iphone/gcc/../libcpp/include -I/home/rush/iphone/llvm-svn/include -I/home/rush/iphone/llvm-svn/include -DSHARED -DL_udivsi3 -xassembler-with-cpp -c ../../../llvm-gcc-4.0-iphone/gcc/config/arm/lib1funcs.asm -o libgcc/./udivsi3_s.o ../../../llvm-gcc-4.0-iphone/gcc/config/arm/lib1funcs.asm:670:garbage following instruction -- `bls 11f' ../../../llvm-gcc-4.0-iphone/gcc/config/arm/lib1funcs.asm:672:garbage following instruction -- `beq 12f' make2?: [libgcc/./udivsi3_s.o] Error 1 make2?: Leaving directory `/home/rush/iphone/iphone-dev/build/llvm-gcc-4.0-iphone/gcc' make1?: [stmp-multilib] Error 2 make1?: Leaving directory `/home/rush/iphone/iphone-dev/build/llvm-gcc-4.0-iphone/gcc' make: [all-gcc] Error 2 ================================================================================================================