【问题标题】:"ld: unknown option: -Bsymbolic" when trying to build iniparser on OSX尝试在 OSX 上构建 iniparser 时出现“ld:未知选项:-Bsymbolic”
【发布时间】:2013-02-26 13:21:56
【问题描述】:

我正在尝试在 OSX 上构建 http://github.com/ndevilla/iniparser,但得到:

~/ make
compiling src/iniparser.c ...
compiling src/dictionary.c ...
a - src/iniparser.o
a - src/dictionary.o
ld: unknown option: -Bsymbolic
collect2: ld returned 1 exit status
make: *** [libiniparser.so] Error 1

这似乎不是代码本身的已知问题。我需要对我的系统进行哪些调整?

【问题讨论】:

    标签: macos build ld


    【解决方案1】:

    该项目的Makefile 中指定的-Bsymbolic 标志特定于使用ELF 二进制格式的GNU 链接器和平台。 OS X 两者都不使用。 Makefile 有几个与 OS X 工具链不兼容的其他标志,例如使用共享库的 .so 扩展而不是 .dylib,以及另一个不受支持的链接器标志 (-Wl,-soname=…)。您应该能够删除不受支持的链接器标志,然后修复文件扩展名以使其正常工作。

    【讨论】:

      【解决方案2】:

      使用 bdash 的答案,您可以通过执行以下操作来构建 iOS openssl-1.1.1:

      sed -ie "s!-Bsymbolic! !" "Makefile"
      sed -ie "s/-Wl,-soname=libssl\$(SHLIB_EXT)/ /g" "Makefile"
      sed -ie "s/-Wl,-soname=libcrypto\$(SHLIB_EXT)/ /g" "Makefile"
      sed -ie "s/--version-script=libcrypto.map/ /g" "Makefile"
      sed -ie "s/--version-script=libssl.map/ /g" "Makefile"
      

      【讨论】:

        猜你喜欢
        • 2020-10-24
        • 2013-10-29
        • 1970-01-01
        • 2019-08-23
        • 1970-01-01
        • 2021-10-23
        • 1970-01-01
        • 2011-06-02
        • 1970-01-01
        相关资源
        最近更新 更多