RODBC в OpenCPU не может найти зависимые библиотеки

Здесь есть несколько связанных тем, но суть моей попытки подключиться к Vertica с помощью R через OpenCPU и vRODBC:

  1. Я начал с RJDBC, который прекрасно работает в RStudio (даже в версии для сервера RStudio), но OpenCPU/rApache это не нравится. rJava в OpenCPU
  2. Я установил пакет vRODBC, который является производным от RODBC, и я успешно запросил Vertica как из CMD Line, используя isql, так и из RStudio Server, используя DSN и odbcConnect('myDSNName'). Установка vRODBC
  3. Когда я компилирую приложение с кодом, который работает на RStudio Server, я получаю ошибку соединения при попытке запустить его через OpenCPU (извлечено из консоли):

Работает с сервера RStudio

> vertica =  odbcConnect("VerticaDSN")
> data = sqlQuery(vertica, query)
> data
  TDIDCount
1      3015

Но не из приложения Opencpu, которое я создал

//From Console Output
[vRODBC] ERROR: state 01000, code 0, message [unixODBC][Driver Manager]Can't open lib '/opt/vertica/lib64/libverticaodbc.so.6.1.3' : file not found
Warning message:
ODBC connection failed
[1] -1

Я проверил этот путь, и он явно существует. Я нашел другой вопрос, который говорит, что эта ошибка вызвана зависимостью, которая не может быть загружена для библиотеки libverticaodbc.so, поэтому я попытался выполнить шаги, чтобы увидеть, для какой библиотеки у меня, возможно, не было разрешений с пользователем opencpu, но безрезультатно., Не могу открыть lib с UnixODBC

$ sudo su - opencpu
$ ldd /opt/vertica/lib64/libverticaodbc.so.6.1.3
        linux-vdso.so.1 =>  (0x00007fff5cd10000)
        libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f16a30cc000)
        libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2 (0x00007f16a2eb1000)
        libcrypt.so.1 => /lib/x86_64-linux-gnu/libcrypt.so.1 (0x00007f16a2c77000)
        libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f16a2a59000)
        libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f16a2755000)
        libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f16a244e000)
        libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f16a2238000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f16a1e73000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f16a4854000)
$

Я близко... очень близко... Я чувствую это... просто нужно получить некоторую теневую переменную окружения или фиксированные разрешения, чтобы OpenCPU мог правильно находить драйверы ODBC, и тогда у меня будет больше поддержки R+webApp я вперед!

0 ответов

Другие вопросы по тегам