为iPhone编译OpenSSH?

时间:2009-08-20 22:36:13

标签: iphone cross-compiling openssh

我正在尝试(交叉)编译iPhone obfuscated-openssh,我遇到了一些问题。我正在使用它来配置构建:

./configure --host=arm-apple-darwin CC=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/arm-apple-darwin9-gcc-4.0.1 \
CFLAGS="-arch armv6 -pipe -std=c99 -I/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS2.0.sdk/usr/include \
-L/Users/ben/iphonelib -Wno-trigraphs -fpascal-strings -fasm-blocks -O0 -Wreturn-type \
-Wunused-variable -fmessage-length=0 -fvisibility=hidden \
-miphoneos-version-min=2.0 -gdwarf-2 -mthumb \
-isysroot /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS2.0.sdk" \
CPP=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/cpp \
AR=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/ar

但这不起作用,抱怨无法找到许多标头文件,包括netinet/in_systm.hopenssl/bn.h。有没有人对如何进行构建完成有任何想法?

3 个答案:

答案 0 :(得分:8)

iPhone上没有

in_systm.h。它只定义了几种类型,并且它包含的其他部分是可用的。因此,您可以将标头的Mac版本复制到构建树中并指向它。 (“找到in_systm.h”是找到这些东西的好方法。)

你可能会遇到很多这样的问题,但这就是如何处理in_systm.h

答案 1 :(得分:2)

Openssh依赖于openssl库。您可能需要先构建它。

我最近不得不向嵌入式系统添加ssh支持并使用Dropbear。启动和运行比openssh容易得多。它为我们提供了一个300k可执行文件的scp,ssh和sshd支持。据说,对于ssh,你可以把它降到~110K。

答案 2 :(得分:1)

有一个可以使用Cydia(以及apt)的存储库,其中提供了OpenSSH:Telesphoreo。知道团队移植了OpenSSH服务器,这意味着他们已经修改了源代码,以便在目标平台上进行编译。