Невозможно скомпилировать пакеты R под Conda - PullRequest
0 голосов
/ 10 января 2020

ОК, это сводит меня с ума. Я пытаюсь использовать Conda в качестве менеджера квазипакетов для R на моей Ma c (OS 10.15), как я это делал (успешно) на других Unix установках.

Повторно я получаю следующую ошибку

Перед созданием новой среды conda имеем:

$ gcc -v
Configured with: --prefix=/Library/Developer/CommandLineTools/usr --with-gxx-include-dir=/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/4.2.1
Apple clang version 11.0.0 (clang-1100.0.33.8)
Target: x86_64-apple-darwin19.2.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin

и

$ which clang
/usr/bin/clang

Мы создаем новую пустую среду и проверяем снова

$ conda create --name r_env
$ conda activate r_env
$ gcc -v
Configured with: --prefix=/Library/Developer/CommandLineTools/usr --with-gxx-include-dir=/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/4.2.1
Apple clang version 11.0.0 (clang-1100.0.33.8)
Target: x86_64-apple-darwin19.2.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin
$ which clang
/usr/bin/clang

Отлично. Все идет нормально. Теперь мы устанавливаем R и проверяем снова.

$ conda install r=3.6
$ gcc -v
Configured with: --prefix=/Library/Developer/CommandLineTools/usr --with-gxx-include-dir=/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/4.2.1
Apple clang version 11.0.0 (clang-1100.0.33.8)
Target: x86_64-apple-darwin19.2.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin

$ which clang
/Users/dgarfield/miniconda3/envs/r_env/bin/clang
$ clang -v 
clang version 4.0.1 (tags/RELEASE_401/final)
Target: x86_64-apple-darwin19.2.0
Thread model: posix
InstalledDir: /Users/dgarfield/miniconda3/envs/r_env/bin

Похоже, у нас новый лязг! Почему это проблема?

$ R
> install.packages("XML")
trying URL 'https://cran.uni-muenster.de/src/contrib/XML_3.98-1.20.tar.gz'
Content type 'application/x-gzip' length 1600829 bytes (1.5 MB)
==================================================
downloaded 1.5 MB

* installing *source* package ‘XML’ ...
** package ‘XML’ successfully unpacked and MD5 sums checked
** using staged installation
checking for gcc... x86_64-apple-darwin13.4.0-clang
checking whether the C compiler works... no
configure: error: in `/private/var/folders/dg/hbvl43fn0b7flfk6l__3bwth0000gq/T/Rtmplh4pEL/R.INSTALL12b2d7b634136/XML':
configure: error: C compiler cannot create executables
See `config.log' for more details
ERROR: configuration failed for package ‘XML’
* removing ‘/Users/dgarfield/miniconda3/envs/r_env/lib/R/library/XML’

The downloaded source packages are in
    ‘/private/var/folders/dg/hbvl43fn0b7flfk6l__3bwth0000gq/T/RtmpaiTLe8/downloaded_packages’
Updating HTML index of packages in '.Library'
Making 'packages.html' ... done
Warning message:
In install.packages("XML") :
  installation of package ‘XML’ had non-zero exit status

Это прекрасно работает на стандартной (не Conda) установке. Я предполагаю, что виновником является этот новый лязг.

Следуя тому, что я видел в других местах, я попробовал это с CONDA_BUILD_SYSROOT = / Library / Developer / CommandLineTools / SDKs / MacOSX.sdk и CONDA_BUILD_SYSROOT = / opt / MacOSX10.9.sdk

Итак это не кажется чем-то слишком странным с заголовками (??). Но у меня нет идей, и я мог бы использовать некоторые рекомендации.

(и да, я знаю, что в случае XML, conda могла бы установить меня, но это не относится ко всем пакетам).

Спасибо!

...