clang-7:错误:macOS Big Sur的链接器命令失败,退出代码为1

地理理论

自Big Sur以来,安装需要在macOS中编译的R软件包已被中断。这是一个例子。

> install.packages('nlme')

  There is a binary version available but the source version is later:
      binary  source needs_compilation
nlme 3.1-150 3.1-151              TRUE

Do you want to install from sources the package which needs compilation? (Yes/no/cancel) Yes
installing the source package ‘nlme’

trying URL 'https://cran.rstudio.com/src/contrib/nlme_3.1-151.tar.gz'
Content type 'application/x-gzip' length 805592 bytes (786 KB)
==================================================
downloaded 786 KB

* installing *source* package ‘nlme’ ...
** package ‘nlme’ successfully unpacked and MD5 sums checked
** using staged installation
** libs
"gfortran-4.8" -fno-optimize-sibling-calls  -fPIC  -Wall -g -O2  -c chol.f -o chol.o
gfortran-4.8: warning: couldn’t understand kern.osversion ‘20.1.0
clang -mmacosx-version-min=10.13 -I"/Library/Frameworks/R.framework/Resources/include" -DNDEBUG   -I/usr/local/include   -fPIC  -Wall -g -O2  -c corStruct.c -o corStruct.o
clang -mmacosx-version-min=10.13 -I"/Library/Frameworks/R.framework/Resources/include" -DNDEBUG   -I/usr/local/include   -fPIC  -Wall -g -O2  -c gnls.c -o gnls.o
clang -mmacosx-version-min=10.13 -I"/Library/Frameworks/R.framework/Resources/include" -DNDEBUG   -I/usr/local/include   -fPIC  -Wall -g -O2  -c init.c -o init.o
clang -mmacosx-version-min=10.13 -I"/Library/Frameworks/R.framework/Resources/include" -DNDEBUG   -I/usr/local/include   -fPIC  -Wall -g -O2  -c matrix.c -o matrix.o
clang -mmacosx-version-min=10.13 -I"/Library/Frameworks/R.framework/Resources/include" -DNDEBUG   -I/usr/local/include   -fPIC  -Wall -g -O2  -c nlOptimizer.c -o nlOptimizer.o
clang -mmacosx-version-min=10.13 -I"/Library/Frameworks/R.framework/Resources/include" -DNDEBUG   -I/usr/local/include   -fPIC  -Wall -g -O2  -c nlme.c -o nlme.o
clang -mmacosx-version-min=10.13 -I"/Library/Frameworks/R.framework/Resources/include" -DNDEBUG   -I/usr/local/include   -fPIC  -Wall -g -O2  -c nlmefit.c -o nlmefit.o
clang -mmacosx-version-min=10.13 -I"/Library/Frameworks/R.framework/Resources/include" -DNDEBUG   -I/usr/local/include   -fPIC  -Wall -g -O2  -c pdMat.c -o pdMat.o
clang -mmacosx-version-min=10.13 -I"/Library/Frameworks/R.framework/Resources/include" -DNDEBUG   -I/usr/local/include   -fPIC  -Wall -g -O2  -c pythag.c -o pythag.o
"gfortran-4.8" -fno-optimize-sibling-calls  -fPIC  -Wall -g -O2  -c rs.f -o rs.o
gfortran-4.8: warning: couldn’t understand kern.osversion ‘20.1.0
clang -mmacosx-version-min=10.13 -dynamiclib -Wl,-headerpad_max_install_names -undefined dynamic_lookup -single_module -multiply_defined suppress -L/Library/Frameworks/R.framework/Resources/lib -L/usr/local/lib -o nlme.so chol.o corStruct.o gnls.o init.o matrix.o nlOptimizer.o nlme.o nlmefit.o pdMat.o pythag.o rs.o  -F/Library/Frameworks/R.framework/.. -framework R -Wl,-framework -Wl,CoreFoundation
ld: framework not found CoreFoundation
clang-7: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [nlme.so] Error 1
ERROR: compilation failed for package ‘nlme’
* removing ‘/Library/Frameworks/R.framework/Versions/4.0/Resources/library/nlme’
* restoring previous ‘/Library/Frameworks/R.framework/Versions/4.0/Resources/library/nlme’
Warning in install.packages :
  installation of package ‘nlme’ had non-zero exit status

The downloaded source packages are in
    ‘/private/var/folders/_3/b8whcf8d1bb8w_lr2rrscb5m0000gp/T/RtmpWCjwfs/downloaded_packages’

我尝试重新安装xcode和命令行工具,并完成了Brew更新和升级。任何建议表示赞赏。

jared_mamrot

这一直很具有挑战性,但是这是我使用MacOS Big Sur上的源代码编译R包的步骤:

  1. 重新安装xcode命令行工具

(如果他说“最新”,请不要相信软件更新-他说谎-brew doctor说我的版本实际上是旧的)

sudo rm -rf /Library/Developer/CommandLineTools
sudo xcode-select --install
  1. 通过Homebrew安装gcc和llvm(安装Homebrew的说明),或者,如果已经安装了gcc / llvm,则跳到下一步
# WARNING: This can take several hours
brew install gcc
brew install llvm
  1. 如果您已经通过Homebrew安装了gcc和llvm:
brew cleanup
brew update
brew upgrade
brew reinstall gcc
brew reinstall llvm
  1. 将一些标题链接到/ usr / local / include
sudo ln -s /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/* /usr/local/include/

# I believe you can safely ignore warnings like this:
#ln: /usr/local/include//tcl.h: File exists
#ln: /usr/local/include//tclDecls.h: File exists
#ln: /usr/local/include//tclPlatDecls.h: File exists
#ln: /usr/local/include//tclTomMath.h: File exists
#ln: /usr/local/include//tclTomMathDecls.h: File exists
#ln: /usr/local/include//tk.h: File exists
#ln: /usr/local/include//tkDecls.h: File exists
#ln: /usr/local/include//tkPlatDecls.h: File exists
  1. 编辑您的~/.R/Makevars文件(如果您Makevars~/.R/目录中没有文件,请创建它)并仅包含以下几行:
FLIBS=-L/usr/local/gfortran/lib/gcc/x86_64-apple-darwin19/10.2.0 -L/usr/local/gfortran/lib -lgfortran -lquadmath -lm
CXX1X=/usr/local/gfortran/bin/g++
CXX98=/usr/local/gfortran/bin/g++
CXX11=/usr/local/gfortran/bin/g++
CXX14=/usr/local/gfortran/bin/g++
CXX17=/usr/local/gfortran/bin/g++

LLVM_LOC = /usr/local/opt/llvm
CC=/usr/local/gfortran/bin/gcc -fopenmp
CXX=/usr/local/gfortran/bin/g++ -fopenmp
CFLAGS=-g -O3 -Wall -pedantic -std=gnu99 -mtune=native -pipe
CXXFLAGS=-g -O3 -Wall -pedantic -std=c++11 -mtune=native -pipe
LDFLAGS=-L/usr/local/opt/gettext/lib -L$(LLVM_LOC)/lib -Wl,-rpath,$(LLVM_LOC)/lib
CPPFLAGS=-I/usr/local/opt/gettext/include -I$(LLVM_LOC)/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include
  1. 从R / Rstudio中的源代码编译软件包
# Compile the nlme package from source
install.packages("nlme", type = "source")

# To check whether openmp is enabled, compile data.table:
install.packages("data.table", type = "source")

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

为什么会出现clang:错误:链接器命令失败,退出代码为1?

Cocoapods错误:链接器命令失败,退出代码为1(使用-v查看调用)

Xcode 8.3存档错误:链接器命令失败,退出代码为1

Geofire(iOS)铛:错误:链接器命令失败,退出代码为1(使用-v查看调用)

clang:错误:链接器命令失败,退出代码为1,react-native

Xcode 10错误:链接器命令失败,退出代码为1

错误:链接器命令失败,退出代码为1(使用-v查看调用)

ld:找不到体系结构x86_64的符号clang:错误:链接器命令失败,退出代码为1

Android NDK.Build命令失败。未定义参考。clang ++:错误:链接器命令失败,退出代码为1

链接器命令在macOS上失败,退出代码为1(使用-v查看调用)

我不断收到以下错误消息:clang:error:链接器命令失败,退出代码为1(使用-v查看调用)。请帮忙,谢谢

添加GoogleMaps pod时,iOS“链接器命令失败,退出代码为1”错误

Objective-C铛:错误:链接器命令失败,退出代码为1

clang:错误:链接器命令失败,退出代码为1(使用-v查看调用),且符号重复

链接器命令失败,退出代码为1-Xcode 7

MySQL C ++连接器错误:链接器命令失败,退出代码为1

XCode 7:链接器命令失败,退出代码为1(使用-v查看调用)

Swift:错误:链接器命令失败,退出代码为1

错误链接器命令失败,退出代码为1(使用-v查看调用)

ios swift应用编译错误:链接器命令失败,退出代码为1

获取错误clang:错误:从终端编译C ++文件时,链接器命令失败,退出代码为1(使用-v查看调用)

铛:错误:链接器命令失败,退出代码为1(Xcode 8.2.1)

clang:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)控制台应用程序

C++ XCODE ld:找不到架构 x86_64 clang 的符号:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)

显示最近的问题 clang:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)?

Xcode 中的错误“/clang:-1: 链接器命令失败,退出代码为 1(使用 -v 查看调用)”

clang:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)Xcode 10.2.1

RealmJS:clang:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)

在 macOS Catalina 上的 C 中使用 bzlib - “ld:未找到架构 x86_64 的符号”,“clang:错误:链接器命令失败,退出代码为 1”