【问题标题】:OpenSSL installation and "openssl.so loading failed ... execution halted"OpenSSL 安装和“openssl.so 加载失败......执行停止”
【发布时间】:2017-01-27 00:09:13
【问题描述】:

我正在尝试通过在 R 中安装 OpenSSL

install.packages("openssl")

这是通过 brew 全新安装的 R,所以不确定出了什么问题。这是最近的 ~20 条日志

> o compatibility.o diffie.o envelope.o error.o hash.o info.o keygen.o
> keys.o onload.o openssh.o password.o pem.o pkcs12.o pkcs7.o rand.o
> rsa.o signing.o ssl.o stream.o write.o
> -L/usr/local/opt/openssl@1.1/lib -L/usr/local/opt/openssl/lib -lssl -lcrypto -F/usr/local/Cellar/r/3.3.2/R.framework/.. -framework R -lintl -Wl,-framework -Wl,CoreFoundation installing to /usr/local/lib/R/3.3/site-library/openssl/libs
> ** R
> ** inst
> ** preparing package for lazy loading
> ** help
> *** installing help indices
> ** building package indices
> ** installing vignettes
> ** testing if installed package can be loaded Error in dyn.load(file, DLLpath = DLLpath, ...) :   unable to load shared object
> '/usr/local/lib/R/3.3/site-library/openssl/libs/openssl.so':  
> dlopen(/usr/local/lib/R/3.3/site-library/openssl/libs/openssl.so, 6):
> Symbol not found: _DSA_get0_key   Referenced from:
> /usr/local/lib/R/3.3/site-library/openssl/libs/openssl.so   Expected
> in: flat namespace  in
> /usr/local/lib/R/3.3/site-library/openssl/libs/openssl.so Error:
> loading failed Execution halted ERROR: loading failed
> * removing ‘/usr/local/lib/R/3.3/site-library/openssl’
> 
> The downloaded source packages are in
>   ‘/private/var/folders/8n/47bzk9810mq31790qbb38zg80000gn/T/Rtmpe7etrQ/downloaded_packages’
> Warning message: In install.packages("openssl") :   installation of
> package ‘openssl’ had non-zero exit status

【问题讨论】:

标签: r macos openssl


【解决方案1】:

我猜只是幸运但随机解决了它。我从 brew 中卸载了 openssl,这可能需要您这样做:

brew uninstall --ignore-dependencies openssl

如果你在没有--ignore-dependencies 的情况下运行它,那么它会列出依赖它的包(如果有的话)。然后回到 R 并安装 openssl 并且它可以工作(至少对我来说)。然后,如果 brew 包停止工作,您可以从 brew 安装 openssl。我在使用 R 时没有遇到任何问题(到目前为止)

brew install openssl

【讨论】:

    【解决方案2】:

    我遇到了同样的错误,在尝试卸载和重新安装等之后没有错误,我终于成功地将 lib 更改为使用默认的本地 lib 安装:

    /Users/username/Library/R/3.6/library
    

    默认情况下,R 将软件包安装到/usr/local/lib/R/3.6/site-library。让我们试试

    install.packages("openssl", lib = "/Users/username/Library/R/3.6/library")
    

    您可以运行 .libPaths() 来检查您的库路径

    【讨论】:

      猜你喜欢
      • 2013-02-24
      • 2017-09-06
      • 1970-01-01
      • 2021-05-13
      • 2016-09-30
      • 2023-02-10
      • 1970-01-01
      • 1970-01-01
      • 2011-08-25
      相关资源
      最近更新 更多