Rserve: ld: не найдена библиотека для -lssl

Я получаю сообщение об ошибке при попытке установить Rserve 1.8.6. Я могу успешно установить 1.7.3 из CRAN. Это на Mac OS High Sierra.

 ld: library not found for -lssl
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[1]: *** [forward] Error 1
make: *** [all] Error 2
ERROR: compilation failed for package ‘Rserve’
* removing ‘/Library/Frameworks/R.framework/Versions/3.5/Resources/library/Rserve’
* restoring previous ‘/Library/Frameworks/R.framework/Versions/3.5/Resources/library/Rserve’

The downloaded source packages are in
    ‘/private/var/folders/v7/hyxrfmk94p1_03gdrm27fnxncy3vq1/T/RtmpFHKNMe/downloaded_packages’

person Rishabh Gupta    schedule 16.01.2019    source источник
comment
такая же проблема, установлены инструменты командной строки xcode +. Мне любопытно, как решить эту проблему (почему Rserve 1.8 больше не доступен в бинарном виде?)   -  person Antje Janosch    schedule 31.01.2019
comment
та же проблема: joxi.ru/n2Y4D4UbdQJEm6   -  person Max Zhuravlev    schedule 01.07.2019


Ответы (2)


Это сработало для меня (MacOS):

В терминале:

brew install openssl

export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/opt/openssl/lib/
person Max Zhuravlev    schedule 01.07.2019

Я использую Mac OS 10.15 Catalina, я потратил 2 дня, пытаясь решить эту же проблему, ища помощь в Интернете. В конце концов мне это удалось, объединив решения из нескольких разных источников.

Главное, чего мне не хватало, так это того, что Mac OS поставляется со своей собственной версией openssl, которая, по ее мнению, превосходит все, что вы можете найти. Это неверно. Что вам нужно сделать, так это пойти и загрузить последнюю версию openssl, установить ее, а затем экспортировать ЭТУ библиотеку в переменную пути к вашей библиотеке. Вот шаги, которые я предпринял с openssl 1.1.1:

Получите номер последней версии openssl из источника (https://www.openssl.org/source/), а затем вручную установите его прямо туда, куда он должен идти:

cd /usr/local/src  
  • Если вы получаете «Нет такого файла или каталога», сделайте это:

    cd /usr/local && mkdir src && cd src

Загрузите openssl с помощью curl (показан) или по приведенной выше ссылке на исходный код (убедитесь, что вы поместили файл в каталог, который вы только что создали на предыдущем шаге):

curl --remote-name https://www.openssl.org/source/openssl-1.1.1f.tar.gz

Извлечь и компакт-диск в:

tar -xzvf openssl-1.1.1f.tar.gz
cd openssl-1.1.1f

Скомпилируйте и установите (это инструкции для 64-битной Mac OS. См. документацию openssl для 32-битных и других инструкций ОС):

./Configure darwin64-x86_64-cc shared enable-ec_nistp_64_gcc_128 no-ssl2 no-ssl3 no-comp --openssldir=/usr/local/ssl/macos-x86_64
make depend
sudo make install

Это создало новую папку openssl, поэтому при экспорте пути к библиотеке вы должны указать правильную папку openssl:

export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/opt/[email protected]/lib/

Надеюсь, это поможет вам, если вы еще этого не поняли, и кому-то еще в будущем, кто готов бросить свой компьютер через комнату, как я.

person callmedeeray    schedule 08.04.2020