Я вызываю OCISessionGet и получаю ошибку:
OCI_ATTR_PASSWORD is greater than the maximum allowable length of 1024
Все библиотеки находятся через ldconfig, здесь проблем нет. Я не использую LD_LIBRARY_PATH. Что приводит к сбою функции get сеанса, так это неожиданный LD_LIBRARY_PATH, который содержит совершенно несвязанные пути, но, что крайне важно, ошибочно заканчивается :
Если я удалю двоеточие или вообще отключу LD_LIBRARY_PATH, то все будет работать нормально.
Здесь есть две неожиданные для меня проблемы. Во-первых, я ожидаю, что LD_LIBRARY_PATH будет разрешена системой, а не оракулом, а во-вторых, эта проблема возникает в первую очередь.
Так это системная ошибка или ошибка оракула? Можно ли это использовать?
Это касается Instantclient-(basiclite/devel)-23.26.1.0.0-1 в Ubuntu 24.04
ОБНОВЛЕНИЕ: Чтобы было ясно, это вообще не проблема PATH. Oracle не установлен в системе. Это герметичная сборка (но в тестовой системе для теста был установлен LD_LIBRARY_PATH). Все следующие определения работают, кроме тех, которые заканчиваются на:
unset LD_LIBRARY_PATH # ok
export LD_LIBRARY_PATH=. # ok
export LD_LIBRARY_PATH=./. # ok
export LD_LIBRARY_PATH='' # ok
export LD_LIBRARY_PATH=/foo:/bar # ok
export LD_LIBRARY_PATH=.: # bad
export LD_LIBRARY_PATH=./.: # bad
export LD_LIBRARY_PATH=':' # bad
export LD_LIBRARY_PATH=/foo:/bar: # bad
Подробнее здесь: https://stackoverflow.com/questions/798 ... -linux-bug