kirb / theos

Unified cross-platform iPhone Makefile system
https://github.com/kirb/theos/wiki
Other
42 stars 7 forks source link

Linux Support #10

Open jithatsonei opened 8 years ago

jithatsonei commented 8 years ago

I've had quite the adventure with setting up THEOS with a 64-bit linux distro and wanted to document all errors.

First off: /makefiles/common.mk:127: *\ You did not specify a target, and the "" platform does not define a default target. Stop. This appears to only occur in 64 bit distributions of Linux as it is different in terms of platform (32 bit is just Linux while 64 is Linux-x86_64) I fixed this by going into /makefiles/platforms and symlinking Linux.mk to Linux-x86_64.mk

Second off: \e[0;31m==> \e[1;31mYour current SYSROOT, "/opt/iphone-sdk-3.0/sysroot", appears to be missing.\e[m

This is the result of a screwed up SYSROOT setting in /makefiles/targets/Linux/iphone.mk this was fixed by changed the sysroot setting to SYSROOT ?= $(THEOS)/sdks/iPhoneOS$(_THEOS_TARGET_SDK_VERSION).sdk

Third off: /bin/sh: 1: set: Illegal option -o pipefail This is caused by line 3 of /makefiles/messages.mk at line 3. While this fix may be unsafe for other platforms I changed it to ECHO_PIPEFAIL :=

Forth: /bin/sh: 1: /opt/theos/sdks/iPhoneOS9.0.sdk/bin/arm-apple-darwin9-g++: not found (dont mind the sdk version) This is caused by the target variable, I fixed this by grabbing coolstar's preconfigured linux theos and grabbed toolchain/ and /makefiles/targets/Linux/* you may have to come up with your own solution for this one.

And then it finally worked. I made this issue so you can fix it and people wont have the same struggle as me :P.

Thank you for your time!

jengel3 commented 8 years ago

:+1: