2013-10-10 5 views
2

У меня есть 64-битный R (R версия 2.15.2 (2012-10-26) - «Trick or Treat») на Mac OSX 10.8.5 и версия Oracle Instantclient 11.2.0.3.0 из Oracle. Я получил sqlplus, а также Perl и Python для работы над ними. Теперь я пытаюсь построить ROracle. Он должен быть построен из источника, так что я скачал его и попытался бегущегоROracle: 64bit установить на MacOSX 10.8 (Mountain Lion)

R CMD INSTALL ROracle_1.1-10.tar.gz 

Однако, я думаю, что это ожидает другую структуру каталогов, чем то, что Instant Client дал мне. Например, когда я пытаюсь запустить эту команду, я получаю:

$ R CMD INSTALL ROracle_1.1-10.tar.gz 
* installing to library ‘/Library/Frameworks/R.framework/Versions/2.15/Resources/library’ 
* installing *source* package ‘ROracle’ ... 
** package ‘ROracle’ successfully unpacked and MD5 sums checked 
configure: error: "/Applications/instantclient_11_2/lib" directory does not exist 
ERROR: configuration failed for package ‘ROracle’ 
* removing ‘/Library/Frameworks/R.framework/Versions/2.15/Resources/library/ROracle’ 

Это правда, что у меня нет «Lib» каталог в моем «/ Applications/instantclient_11_2» директории. Я тем не менее пытаются подделать путем создания одного и ссылки на .dylib файлы в «/ Applications/instantclient_11_2» директории, и я мимо этой ошибки на новый:

$ R CMD INSTALL ROracle_1.1-10.tar.gz 
* installing to library ‘/Library/Frameworks/R.framework/Versions/2.15/Resources/library’ 
* installing *source* package ‘ROracle’ ... 
** package ‘ROracle’ successfully unpacked and MD5 sums checked 
configure: error: "/Applications/instantclient_11_2/rdbms/public" directory does not exist 
ERROR: configuration failed for package ‘ROracle’ 
* removing ‘/Library/Frameworks/R.framework/Versions/2.15/Resources/library/ROracle’ 

Так что теперь ищет другой каталог, которого нет. Я не хочу продолжать и угадывать в каталогах, которые он ожидает, и пытаться вернуть их в виде ссылок на файлы, которые он должен ожидать в этих каталогах (я даже не знаю, чего он может ожидать здесь).

Есть ли другой способ сделать это? Я думаю, что я должен это сделать, исходя из того, что Perl и Python могут использовать эти драйверы.

Спасибо, Matt

ответ

5

Я думаю, что у вас есть "ORACLE_HOME" набор переменных. У меня была такая же проблема, и как только я сделал

export ORACLE_HOME="" 

Я мог бы скомпилировать ROracle.

До:

[email protected]:~/Downloads$ R CMD INSTALL ROracle_1.1-10.tar.gz 
*installing to library ‘/opt/R/library’ 
* installing *source* package ‘ROracle’ ... 
** package ‘ROracle’ successfully unpacked and MD5 sums checked 
configure: error: "/usr/lib/oracle/12.1/rdbms/public" directory does not exist 
ERROR: configuration failed for package ‘ROracle’ 
* removing ‘/opt/R/library/ROracle’ 

После:

[email protected]:~/Downloads$ export ORACLE_HOME="" 
[email protected]:~/Downloads$ R CMD INSTALL ROracle_1.1-10.tar.gz 
* installing to library ‘/opt/R/library’ 
* installing *source* package ‘ROracle’ ... 
** package ‘ROracle’ successfully unpacked and MD5 sums checked 
configure: creating ./config.status 
config.status: creating src/Makevars 
** libs 
gcc -std=gnu99 -I/usr/share/R/include -DNDEBUG -I/opt/oracle/sdk/include  -fpic -O2 -pipe -g -c rodbi.c -o rodbi.o 
gcc -std=gnu99 -I/usr/share/R/include -DNDEBUG -I/opt/oracle/sdk/include  -fpic -O2 -pipe -g -c rooci.c -o rooci.o 
gcc -std=gnu99 -I/usr/share/R/include -DNDEBUG -I/opt/oracle/sdk/include  -fpic -O2 -pipe -g -c routl.c -o routl.o 
gcc -std=gnu99 -shared -o ROracle.so rodbi.o rooci.o routl.o -L/opt/oracle -lclntsh -L/usr/lib/R/lib -lR 
installing to /opt/R/library/ROracle/libs 
** R 
** inst 
** preparing package for lazy loading 
** help 
*** installing help indices 
** building package indices 
** installing vignettes 
** testing if installed package can be loaded 
* DONE (ROracle) 
+0

Спасибо, я буду проверять, работает ли это немного позже. – mpettis

+0

yep 'unset ORACLE_HOME' исправил это для меня тоже. –

+0

После '' unset ORACLE_HOME'' я встретил ошибку '' configure: error: библиотеки OCI не найдены''. Как мне это исправить? – mamatv

Смежные вопросы