My favorites | Sign in
Project Home Downloads Wiki Issues Source
Search
for
Portability  
Platforms that the toolchain is known to work on.
Featured, Phase-QA
Updated Feb 4, 2010 by Phi...@gmail.com

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

  • Mac OS X 10.5, PPC.

Supported but currently does not build

Unsupported

  • Windows XP/Visual Studio.

Comment by insanita...@yahoo.com, Sep 13, 2007

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)

Comment by d...@linuxprogrammer.org, Sep 14, 2007

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)

Comment by joh...@gmail.com, Sep 15, 2007

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?

Comment by joh...@gmail.com, Sep 15, 2007

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

Comment by benoitce...@gmail.com, Sep 22, 2007

Hello is there any instruction on how to compile the toolkit for windows XP/mingw?

Comment by tim.schu...@gmail.com, Sep 25, 2007

Successfully built and tested HelloWorld? on Debian.

debian:~# uname -a
Linux debian 2.6.18-5-486 #1 Thu Aug 30 01:46:45 UTC 2007 i686 GNU/Linux
Comment by len...@gmail.com, Sep 27, 2007

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)

Comment by pin...@gmail.com, Sep 29, 2007

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 :-)

Comment by co...@compuserve.com, Sep 29, 2007

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.

Comment by vobe...@gmail.com, Oct 5, 2007

Everybody reporting success: Please indicated the SVN revision numbers used. You can see it with 'svn info' in llvm-svn and iphone-dev directory.

Comment by vobe...@gmail.com, Oct 5, 2007

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

Comment by vic...@gmail.com, Oct 8, 2007

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.

Comment by vic...@gmail.com, Oct 8, 2007

FlipACoin works with modification - header GraphicsServices?.h added to FlipACoinApp.h.

Comment by tommy.c....@volvo.com, Oct 21, 2007

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

Comment by zibree, Oct 22, 2007

I would really love a single package to have a working toolchain under windows/cygwin...

Comment by patrick....@gmail.com, Oct 28, 2007

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

Comment by ViaJ...@gmail.com, Oct 28, 2007

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.

Comment by arik...@gmail.com, Nov 20, 2007

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 ?

Comment by bsj...@gmail.com, Dec 2, 2007

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)

Comment by santho...@gmail.com, Dec 13, 2007

Can somebody make available the toolchain running on Debian Linux??

Comment by francis...@gmail.com, Jan 9, 2008

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.o

Please note that you will also have to export the SDK path just as you would for an intel leopard.

Comment by miami...@gmail.com, Jan 10, 2008
$ uname -a
CYGWIN_NT-5.1 xptwo 1.5.25(0.156/4/2) 2007-12-14 19:21 i686 Cygwin
$ arm-apple-darwin-gcc -v
Using built-in specs.
Target: arm-apple-darwin
Configured with: ../llvm-gcc-4.0-iphone/configure --enable-llvm=/tmp/llvm-svn-42498r/.build --enable-languages=c,c++,objc,obj-c++ --target=arm-apple-darwin --enable-sjlj-exceptions --with-as=/usr/local/bin/arm-apple-darwin-as --with-ld=/usr/local/bin/arm-apple-darwin-ld --with-heavenly=/usr/local/arm-apple-darwin/filesystem
Thread model: posix
gcc version 4.0.1 (Apple Computer, Inc. build 5449)(LLVM build 2.0-svn-iphone-dev-0.3-svn)

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.

Comment by spect...@gmail.com, Jan 12, 2008

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.

Comment by phil2...@gmail.com, Jan 15, 2008

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.

Comment by namjam...@gmail.com, Feb 9, 2008

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

Comment by pie...@gmail.com, Apr 19, 2008

linux ppc could be added to unsupported

Comment by anamt...@gmail.com, May 10, 2008

working on ubuntu 8.04 (Hardy Heron) on Intel x86 platform (VMWare actually).

Comment by marcello...@gmail.com, May 11, 2008

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

Comment by leonbrus...@gmail.com, May 12, 2008

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...

Comment by fuku...@gmail.com, Jun 7, 2008

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,

from ARMAsmPrinter.cpp:18:
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.

Comment by kris...@gmail.com, Jun 11, 2008

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).

Comment by priyank....@gmail.com, Jun 25, 2008

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

Comment by rushikes...@gmail.com, Jul 5, 2008

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

Comment by johan.sk...@gmail.com, Jul 8, 2008

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

$ cat /proc/version
Linux version 2.6.24-19-generic (buildd@palmer) (gcc version 4.2.3 (Ubuntu 4.2.3-2ubuntu7)) #1 SMP Wed Jun 18 14:43:41 UTC 2008
$ 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)
Comment by patric.s...@gmail.com, Sep 16, 2008

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) :)

Comment by gchis...@gmail.com, Apr 21, 2009

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.

Comment by 06hca.b...@gmail.com, Apr 27, 2009

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!

Comment by bolandba...@gtempaccount.com, Feb 17, 2010

Does this toolchain work without jailbreaking my iphone? If so how does creating certificates work?

Comment by SJ99...@gmail.com, Sep 5, 2010

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:

After installed successfully, you can found all of the necessary dev-tools is ready on your computer:

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

Comment by jaime.lo...@gmail.com, Oct 24, 2010

Does not build on Ubuntu 10.10

make1?: se ingresa al directorio `/home/jaime/DEVEL/iphone/llvm-svn/lib/System' llvm1?: Compiling DynamicLibrary?.cpp for Release build DynamicLibrary?.cpp: In static member function ‘static void llvm::sys::DynamicLibrary?::SearchForAddressOfSymbol?(const char)’: DynamicLibrary?.cpp:178: error: ‘strcmp’ was not declared in this scope DynamicLibrary?.cpp:178: error: ‘stderr’ was not declared in this scope DynamicLibrary?.cpp:179: error: ‘strcmp’ was not declared in this scope DynamicLibrary?.cpp:179: error: ‘stdout’ was not declared in this scope DynamicLibrary?.cpp:180: error: ‘strcmp’ was not declared in this scope DynamicLibrary?.cpp:180: error: ‘stdin’ was not declared in this scope make1?: [/home/jaime/DEVEL/iphone/llvm-svn/lib/System/Release/DynamicLibrary?.o] Error 1 make1?: se sale del directorio `/home/jaime/DEVEL/iphone/llvm-svn/lib/System' make: all? Error 1
Comment by arpad.go...@gmail.com, Jan 8, 2011

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.

Comment by thomas.h...@gmail.com, Jan 26, 2011

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.


Sign in to add a comment
Powered by Google Project Hosting