r-Rserve:ld:找不到-lsl的库



我在尝试安装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’

这对我(MacOS)有效:

终端内:

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

我运行的是Mac OS 10.15 Catalina,我花了两天时间试图解决同样的问题,在互联网上搜索帮助。我最终通过拼凑几个不同来源的解决方案来解决这个问题。

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

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

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操作系统说明。有关32位和其他操作系统说明,请参阅openssl文档):

./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/

如果你还没有弄清楚,希望这能帮助你,以及未来任何像我一样准备把电脑扔到房间另一边的人。

相关内容

  • 没有找到相关文章

最新更新