【问题标题】:Rserve : ld: library not found for -lsslRserve:ld:找不到-lssl的库
【发布时间】:2019-06-11 00:03:08
【问题描述】:

我在尝试安装 Rserve 1.8.6 时遇到错误。我可以从 CRAN 成功安装 1.7.3。这是在 Mac OS High Sierra 上。

 ld: library not found for -lssl
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[1]: *** [forward] Error 1
make: *** [all] Error 2
ERROR: compilation failed for package ‘Rserve’
* removing ‘/Library/Frameworks/R.framework/Versions/3.5/Resources/library/Rserve’
* restoring previous ‘/Library/Frameworks/R.framework/Versions/3.5/Resources/library/Rserve’

The downloaded source packages are in
    ‘/private/var/folders/v7/hyxrfmk94p1_03gdrm27fnxncy3vq1/T/RtmpFHKNMe/downloaded_packages’

【问题讨论】:

  • 同样的问题,安装了xcode+命令行工具。我很好奇如何解决这个问题(为什么 Rserve 1.8 不再以二进制形式提供?)
  • 同样的问题:joxi.ru/n2Y4D4UbdQJEm6

标签: r rserve


【解决方案1】:

这对我有用(MacOS):

在终端:

brew install openssl

export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/opt/openssl/lib/

【讨论】:

    【解决方案2】:

    我正在运行 Mac OS 10.15 Catalina,我花了 2 天时间试图解决同样的问题,并在互联网上寻求帮助。我最终通过拼凑来自几个不同来源的解决方案来管理它。

    我遗漏的关键是 Mac OS 附带了自己的 openssl 版本,它认为它优于您能找到的任何其他版本。这是错误的。你需要做的是去下载最新版本的openssl,安装它,然后将那个库导出到你的库路径变量。以下是我使用 openssl 1.1.1 所采取的步骤:

    从源 (https://www.openssl.org/source/) 获取最新版本的 openssl 的版本号,然后直接手动安装它应该去的地方:

    cd /usr/local/src  
    
    • 如果您收到“没有这样的文件或目录”,请输入:

      cd /usr/local && mkdir src && cd src

    使用 curl(如图所示)或使用上面的源代码链接下载 openssl(确保将文件放在上一步中刚刚创建的目录中):

    curl --remote-name https://www.openssl.org/source/openssl-1.1.1f.tar.gz
    

    解压并放入:

    tar -xzvf openssl-1.1.1f.tar.gz
    cd openssl-1.1.1f
    

    编译安装(这些是 64 位 Mac OS 指令。请参阅the openssl documentation 了解 32 位和其他 OS 指令):

    ./Configure darwin64-x86_64-cc shared enable-ec_nistp_64_gcc_128 no-ssl2 no-ssl3 no-comp --openssldir=/usr/local/ssl/macos-x86_64
    make depend
    sudo make install
    

    这创建了一个新的 openssl 文件夹,因此当您导出库路径时,您必须为其提供正确的 openssl 文件夹:

    export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/opt/openssl@1.1/lib/
    

    如果您还没有弄清楚,希望对您有所帮助,也希望将来有其他人像我一样准备把他们的电脑扔到房间的另一边。

    【讨论】:

      最近更新 更多