Проблемы проверки R toolchain с помощью pkgbuild для установки Rstan - PullRequest
0 голосов
/ 06 ноября 2018

Я пытаюсь установить Rstan на моем Mac 10.13.6 High Sierra, с версией 3.5.1 'Feather Spray' R и версией 1.1.419 Rstudio, следуя этим инструкциям.

Поскольку установщик инструментария macOS R продолжал выдавать ошибку во время установки, я выбрал ручные шаги, описанные здесь .

С первой попытки я просто обновил свой XCode и следовал инструкциям, но так как это, похоже, не сработало, я удалил XCode (также из моего бункера, как предлагалось здесь ) и переустановил XCode 10.1 (10B61 ) и принял лицензию, запустив sudo xcodebuild -license в терминале, как описано здесь .

Инструменты командной строки доступны как работающие

> system('clang++ -v')

дает этот вывод:

Apple LLVM version 10.0.0 (clang-1000.11.45.5) Target:
x86_64-apple-darwin17.7.0 Thread model: posix InstalledDir:
 /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin

На следующем шаге я запустил кусок кода для конфигурации clang ++, после чего запустил следующую строку:

# print the contents to the console 
> cat(readLines(MAKEVARS), sep = "\n")

привело к этому:

LDFLAGS=  -L/usr/local/clang4/lib   # The following statement changes
the Fortran linking path  
FLIBS=-L/usr/local/gfortran/lib/gcc/x86_64-apple-darwin16/6.3.0   #
End Fortran linking path statement   # The following statement changes
the Fortran linking path  
FLIBS=-L/usr/local/gfortran/lib/gcc/x86_64-apple-darwin16/6.3.0   #
End Fortran linking path statement CC=/usr/local/clang4/bin/clang
CXX=/usr/local/clang4/bin/clang++ CXX1X=/usr/local/clang4/bin/clang++
CXX98=/usr/local/clang4/bin/clang++
CXX11=/usr/local/clang4/bin/clang++
CXX14=/usr/local/clang4/bin/clang++
CXX17=/usr/local/clang4/bin/clang++   # The following statement
changes the Fortran linking path  
FLIBS=-L/usr/local/gfortran/lib/gcc/x86_64-apple-darwin16/6.3.0   #
End Fortran linking path statement

CXX14FLAGS=-O3 -mtune=native -march=native -Wno-unused-variable
-Wno-unused-function  -Wno-unknown-pragmas CC=clang CXX14=clang++ -arch x86_64 -ftemplate-depth-256

CXX14FLAGS=-O3 -mtune=native -march=native -Wno-unused-variable
-Wno-unused-function  -Wno-unknown-pragmas CC=clang CXX14=clang++ -arch x86_64 -ftemplate-depth-256

Затем я установил пакет pkgbuild в соответствии с инструкциями, и должны были выполнить следующие инструкции:

pkgbuild::has_build_tools(debug = TRUE)

Чтобы убедиться, что pkgbuild считает, что ваш набор инструментов работает. Также говорится:

Если это возвращает FALSE, вернитесь к предыдущему разделу и правильно установите набор инструментов.

После запуска строки Rstudio предлагает мне следующий комментарий:

Сборка R пакета из исходного кода требует установки дополнительных инструменты для сборки. Хотите установить дополнительные инструменты сейчас?

Если я нажимаю «нет» на вопрос, хочу ли я установить дополнительные инструменты, R возвращает:

[1] FALSE

Если я нажимаю «да», я получаю эту страницу. Я следовал инструкциям на этой странице, чтобы загрузить и установить инструменты командной строки со страницы разработчика Apple (упомянутый второй вариант), это не имело никакого значения, и я все еще надеюсь, что при проверке строки pkgbuild требуются дополнительные инструменты сборки. Попытка через терминал работает:

xcode-select --install

Результат:

error: command line tools are already installed, use "Software Update"
to install updates

Однако в моем магазине приложений нет обновлений программного обеспечения.

Если я продолжу выполнять следующий шаг инструкций (игнорируя ошибку pkgbuild):

> fx <- inline::cxxfunction( signature(x = "integer", y = "numeric" ) , '
+   return ScalarReal( INTEGER(x)[0] * REAL(y)[0] ) ;
+                            ' )

Я получаю этот вывод:

/Library/Frameworks/R.framework/Resources/bin/R: line 142:
/Library/Frameworks/R.framework/Resources/etc/x86_64/ldpaths: No such
file or directory

ERROR(s) during compilation: source code errors or compiler
configuration errors!

Program source:   1:    2: // includes from the plugin   3: #include
<R.h>   4: #include <Rdefines.h>   5: #include <R_ext/Error.h>   6:   
7:    8: // user includes   9:   10:   11: // declarations  12: extern
"C" {  13: SEXP file758212ccc99c( SEXP x, SEXP y) ;  14: }  15:   16:
// definition  17:   18: SEXP file758212ccc99c( SEXP x, SEXP y ){  19:
20:     return ScalarReal( INTEGER(x)[0] * REAL(y)[0] ) ;  21:           
22: Rf_warning("your C++ program does not return anything");   23: 
return R_NilValue ;   24: }  25:   26:  Error in compileCode(f, code,
language = language, verbose = verbose) :    Compilation ERROR,
function(s)/method(s) not created!
/Library/Frameworks/R.framework/Resources/bin/R: line 142:
/Library/Frameworks/R.framework/Resources/etc/x86_64/ldpaths: No such
file or directory In addition: Warning message: In system(cmd, intern
= !verbose) :   running command '/Library/Frameworks/R.framework/Resources/bin/R CMD SHLIB
file758212ccc99c.cpp 2> file758212ccc99c.cpp.err.txt' had status 1

Это заставляет меня думать, что, может быть, что-то не так с путем к Rtools? Приношу свои извинения, если я делаю что-то явно неправильное, но я не смог найти информацию о предыдущих проблемах на этом этапе (проверка pkgbuild) и буду очень признателен за любую информацию о том, что я могу попробовать дальше! Если бы я просто удалил все со своего ноутбука, я также был бы признателен за совет, как убедиться, что все из этих неудачных попыток исчезло, если это возможно.

...