Установка PLR на Mac Lion
Я пытаюсь установить PL/R 8.3.0.13.1 на мой MacBook Pro под управлением OS X 10.7.5, Postgres 9.2 и R 2.15.2. Я нашел в Интернете хорошее пошаговое руководство для Windows, но не могу найти ничего похожего для Mac.
Я застрял при запуске этой команды [в качестве официальной документации] ( http://www.joeconway.com/plr/doc/plr-install.html):
USE_PGXS=1 make
Выход:
make: pkg-config: Command not found
make: pkg-config: Command not found
make: pkg-config: Command not found
make: pkg-config: Command not found
make: pkg-config: Command not found
*** Cannot build PL/R because R_HOME cannot be found.
*** Refer to the documentation for details.
Понятно, что это означает, что мне нужно как-то создать R_HOME, переменную и / или местоположение...
Есть идеи как это сделать?
2 ответа
Сообщение об ошибке на самом деле немного сбивает с толку. Если вы посмотрите на Makefile PL/R, логика в том, что он использует R_HOME
найти R, когда установлено, в противном случае он пытается pkg-config
, У вас нет ни одного набора, так что выручает.
Я рекомендую пойти pkg-config
маршрут, если это возможно. R_HOME
В маршруте, как представляется, предполагается схема установки R, которая не может быть универсально применимой. Возможно, это относится к сборкам прямо из исходного кода.
Вышесказанное относится ко всем платформам. Теперь в OS X это зависит от того, как вы установили R. Например, если вы использовали MacPorts, все будет примерно так:
sudo port install pkgconfig
sudo port install R
а затем собрать саму PL / R:
make USE_PGXS=1
Но это сломается, потому что PL / R не ожидает, что MacPorts разделяет заголовки R на две отдельные директории (я полагаю, зависит от архитектуры и независимо).
Доморощенный может работать лучше, но принцип тот же.
Вы должны выяснить, что вы должны установить переменную R_HOME вашей среды PLR. В терминальной сессии я получаю это
computername:~ username$ R RHOME #only enter stuff after"$"
/Library/Frameworks/R.framework/Resources
Это внизу страницы, на которую вы ссылаетесь:
"Совет: R_HOME должен быть определен в среде пользователя, под которым запускается PostgreSQL, до запуска postmaster. В противном случае PL/R откажется загружаться. См. Plr_environ(), которая позволяет исследовать среду, доступную для postgreSQL postmaster процесс. "
Это с веб-страницы, описывающей проблему и предлагающей исправление:
To fix: Add a "R_HOME = '/usr/lib/R' " to /etc/postgresql/version/cluster/environmen
Example Fix for version 8.1:
$ sudo -s
# echo -e "\nR_HOME = '/usr/lib/R'" >> /etc/postgresql/8.1/main/environment
# exit
To Test:
$ sudo /etc/init.d/postgresql-8.1 restart
$ sudo -u postgres psql plr_test
plr_test=# select test();
test
------