Невозможно запустить код C ++ (в основном, отсутствуют файлы (.h)) - PullRequest
1 голос
/ 02 мая 2020

Я попробовал следующее в R 3.6.3 и недавно в R 4.0. Бег Ма c OSX Каталина. У меня есть версия Xcode 11.4.1 и я сделал xcode-select --install, чтобы убедиться, что у меня есть инструменты командной строки.

Когда пакет R должен быть скомпилирован из источника в Rstudio, я получаю сообщение об ошибке, что config.h не нашел. Я получаю похожие ошибки при попытке R cpp (некоторые .h не найден. Например, math.h).

Если у кого-нибудь есть обходной путь, дайте мне знать. и спасибо. Я довольно долго искал эту проблему, но не смог ее решить.

* installing *source* package ‘pkgbuild’ ...
** package ‘pkgbuild’ successfully unpacked and MD5 sums checked
** using staged installation
** R
** byte-compile and prepare package for lazy loading
** help
*** installing help indices
** building package indices
** testing if installed package can be loaded from temporary location
** testing if installed package can be loaded from final location
** testing if installed package keeps a record of temporary installation path
* DONE (pkgbuild)
* installing *source* package ‘rlang’ ...
** package ‘rlang’ successfully unpacked and MD5 sums checked
** using staged installation
** libs
clang -mmacosx-version-min=10.13 -I"/Library/Frameworks/R.framework/Resources/include" -DNDEBUG -I./lib/  -I/usr/local/include   -fPIC  -Wall -g -O2  -c capture.c -o capture.o
In file included from capture.c:1:
In file included from /Library/Frameworks/R.framework/Resources/include/Rinternals.h:44:
In file included from /Library/Frameworks/R.framework/Resources/include/R_ext/Arith.h:41:
In file included from /usr/local/include/math.h:8:
In file included from /usr/local/include/features.h:10:
/usr/local/include/forwards.h:10:10: fatal error: 'config.h' file not found
#include "config.h"
         ^~~~~~~~~~
1 error generated.
make: *** [capture.o] Error 1
ERROR: compilation failed for package ‘rlang’
* removing ‘/Library/Frameworks/R.framework/Versions/4.0/Resources/library/rlang’
Warning in install.packages :
  installation of package ‘rlang’ had non-zero exit status

1 Ответ

0 голосов
/ 04 мая 2020

Я разместил нечто подобное в списке рассылки, посвященном R Developers. После некоторого обсуждения стало очевидно, что там были конфликтующие заголовочные файлы, расположенные в / usr / local / include и / usr / local / library. Эти * .h файлы были выбраны, а не те, которые связаны с R.

Одно из решений (которое работало) состояло в том, чтобы создать каталог с именем ~ / .R и затем внутри этого каталога создать файл Makevars с следующая строка:

CPPFLAGS = -isys root /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk

Вторым решением было переименование / usr / local / library и / usr / local / include для того, чтобы эти файлы были недоступны для R при попытке компиляции из источника C ++ или с использованием пакета R cpp.

. Надеемся, что эти решения помогут другим, если у них возникнут аналогичные проблемы .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...