Как скомпилировать и запустить программу Oracle OCI/OCCI с C++ в AlpineC++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Как скомпилировать и запустить программу Oracle OCI/OCCI с C++ в Alpine

Сообщение Anonymous »

У меня возникли некоторые проблемы при попытке скомпилировать (точнее, связать) программу OCCI с C++ в докере Alpine.
Я уже установил Instant Client 21.14, выполнив некоторые шаги, описанные в этом вопросе, с символическими ссылками. уже созданы и установлены переменные среды.
Моя проблема возникает, когда я пытаюсь связать простую программу на C++, подобную следующей:

Код: Выделить всё

g++ -o oracleclient OracleClient2.o -L"$ORACLE_HOME" -locci -lclntsh
/// Or
g++ -o oracleclient OracleClient2.o -L"$ORACLE_HOME" -locci_gcc53 -lclntsh
Эти шаги компиляции работают в Ubuntu, но в Alpine я получаю много ошибок компоновки, некоторые из них:

Код: Выделить всё

ld: warning: libdl.so.2, needed by /usr/lib/instantclient/libocci_gcc53.so, not found (try using -rpath or -rpath-link)
ld: /usr/lib/instantclient/libclntsh.so: undefined reference to `sigfillset@GLIBC_2.2.5'
ld: /usr/lib/instantclient/libocci_gcc53.so: undefined reference to `operator new(unsigned long)@GLIBCXX_3.4'
ld: /usr/lib/instantclient/libclntsh.so: undefined reference to `sigprocmask@GLIBC_2.2.5'
ld: /usr/lib/instantclient/libclntsh.so: undefined reference to `pthread_cond_timedwait@GLIBC_2.3.2'
ld: /usr/lib/instantclient/libclntshcore.so.21.1: undefined reference to `pthread_attr_setschedpolicy@GLIBC_2.2.5'
Во-первых, я не знаю, как установить libdl.so.2 в Alpine, и вторая проблема заключается в том, что, насколько я понимаю, Alpine использует musl- libc и общие библиотеки Oracle используют glibc, поэтому они несовместимы.
Я уже пытался установить gcompat, но это не решило мою проблему.
Любая помощь приветствуется.
Я пытался связать и запустить приложение OCCI C++ в докере Alpine, но, очевидно, общие библиотеки Instant Client несовместимы с Alpine.

Подробнее здесь: https://stackoverflow.com/questions/790 ... -in-alpine
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C++»