【问题标题】:compiling OpenSSH for iPhone?为 iPhone 编译 OpenSSH?
【发布时间】:2010-11-21 12:08:53
【问题描述】:

我正在尝试(交叉)编译 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。有人对如何完成构建有任何想法吗?

【问题讨论】:

    标签: iphone cross-compiling openssh


    【解决方案1】:

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

    你很可能会遇到更多这样的问题,但这就是解决in_systm.h的方法。

    【讨论】:

    • 我想这可能可行,但实际上缺少许多头文件,我正在寻找一种干净的方法来一次解决所有问题。
    • 一般来说,您不太可能找到一步到位的解决方案。并非所有 OSX API 都可在 iPhone 上使用。将复杂的框架移植到 iPhone 通常很困难(尽管通常是可能的)。你最好的选择是搜索“openssh iphone”,看看其他人是如何攻击这个问题的。大部分工作都在创建服务器(这通常意味着越狱手机)。我假设您在这种情况下是在做客户?然而,潜在的移植问题应该是相似的。但我不能保证有任何“设置此标志并且它将起作用”的解决方案。对于像 openssh 这样的代码,不太可能。
    • 我进行了广泛的谷歌搜索,但无法找到其他人使用的配置选项。 (你说得对,我正在尝试编译客户端。)
    • 我建议你看看移植服务器的 Gus 是如何做到的,并将其作为你工作的基础,因为客户端和服务器端可能有相似的代码,特别是有解决相同的缺失网络功能。我并不是说你会找到一组简单的配置选项来让它工作。大部分工作将看起来像我最初的答案:查看代码正在使用什么,为 Mac 找到它,看看它是否可以带来。可能需要几天时间才能完成,但你会学到很多东西。祝你好运,并为他人发布你的成功。
    • 这是哪个Gus?我找不到他。
    【解决方案2】:

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

    我最近不得不为嵌入式系统添加 ssh 支持并使用Dropbear。它比 openssh 更容易启动和运行。它通过 300k 可执行文件为我们提供了 scp、ssh 和 sshd 支持。据说,仅对于 ssh,您可以将其降低到 ~110K。

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 2012-08-04
        • 2011-02-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-02-06
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多