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"
Debian 2.6.18 (thanks tim.schuerewegen) CentOS 4 (thanks gaoxiaojun) Supported but untested
Supported but currently does not build
Unsupported
- Windows XP/Visual Studio.
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
I couldn't manage to find the UIKit HelloWorld? app, but I successfully compiled the toolkit and this on Ubuntu Hardy Heron (8.04): http://www.duriaan.ch/iphone.html
svn info shows: iphone-dev revision: 246 llvm-svn revision: 42498
I wanted to express my happiness I found this project. Not that I own an iPhone, but to crosscompile OpenTTD (http://www.openttd.org/) to Mac OS X.
The last built of odcctools we used (odcctools 200604NN), failed to work on 10.5 Intel, and mostly tnx to your odcctools version (with the 'as' support for the latest GCC of Apple), we managed to produce binaries again, also for Mac OS X 10.5 Intel. So I am all happy!!
So this is my way of saying it doesn't only work for 'arm-apple-darwin8' target, but also for 'i686-apple-darwin8' (as target) :)
I need to donwload llvn from http://llvm.org/releases/download.html. the link is not working. is there any alternate way to download llvm.
I want to compile java byte code to objective C but when I visit http://xmlvm.org/iphone/, I don't know how to use. Plz help me! Thanks a lot!
Does this toolchain work without jailbreaking my iphone? If so how does creating certificates work?
SJ99 - iPhone toolchain SDK v2.0.1
Support Leopard & Snow Leopard (MAC OS 10.5.x & 10.6.x) Perfectly.
Support iPhone OS v3.x & 4.x
Please open this link to view detail: http://www.sj99.com/toolchain.html
Usually, in order to develop iPhone toolchain applications, the beginners need to download several crosslink package and configure many complicated settings, it's very hard to config, complie, and link the toolchain successfully in a fews days. Almost 99% of the beginners will encounter several problems, and more than half them will gave up.
From now on, everything is easy. All you have to do is just buy/download this SJ99 iPhone Toolchain SDK, and install it on your Mac computer, only need to click the mouse several times. It's a good news to all of the iPhone toolchain developers.
SJ99 - iPhone Toolchain SDK
Develop and Distribute Toolchain Application, General Flow:
SJ99 - iPhone Toolchain SDK, Installation Screen Snap:
There are some Demo Apps with source code that you can find them after installed the SDK. They are very easy to learn and test on the real iPhone.
For example, If you want to run one of the Demo App: testapp, just step into the source code folder, and run command line: $ make
After run make successfully, you can find the new executable program:test was created in the same folder. Now let's run it on the real iPhone, it's very easy: 1st. Config your iphone WIFI to link your Mac in a same local network, edit the iPhone_ip_address config file on your Mac 2nd. Run a simple command line: $ make up OK, the script will upload the test program file onto your iPhone, and sign it automatically. Example: You can find the executable file:test in the /tmp folder on your iPhone:
Now you can run it by the terminal App on the iPhone:
This is just a very simple demo. You can use this SDK to develop powerful and fully functional iPhone applications. In order to improve the dev efficiency, we recommend developers using Xcode to develop the UI and common functions, just leave all of the underlying/bottom functions to Toolchain SDK. It's very easy and suitable for the Xcode project to link the dylib file which was complied by Toolchain SDK.
The newest v2.1 version now is available. It has been optimized and support all of the XCODE versions, all of the iPhone OS versions, and all of the Apple iPhone SDK versions. The v2.1 contain more important demo project source code, include dylib project and Xcode UI project which can link and call the api that was implemented in a dylib library.
Please open this link to view detail: http://www.sj99.com/toolchain.html
Copyright (C) 2010, SJ99.com Innovation for Dev&Art. Email: sj99com@gmail.com
Does not build on Ubuntu 10.10
For me, it works - builds and compiles apps successfully, I even made some MobileSubstrate? plugins. Can you (@jaime.lopez) translate the error into English? (for a successful build, I had to manually extract the SDK headers, sources and the iPhone firmware manually, and place them to the right directories to make the script recognise them.)
Also, please do not spam this wiki with neither commercial offers nor advertisements.
arpad... How did you extract the SDK files? They have changed from the old format applicable to the build instructions. They are now XAR archives, but don't seem to produce any code, just a "Payload" file. BTW I used hfsexplorer to open the latest downloaded IOS/MacOSX10 SDK and extract the .pkg files.