Я столкнулся с проблемой конфликта двух библиотек в linux ubunto.Я использую драйвер Netezza ODBC
, и мне нужно установить переменную окружения LD_LIBRARY_PATH
, как указано ниже
export LD_LIBRARY_PATH='/home/m/nz/lib64'
, и эта библиотека работает.тогда Когда я захочу использовать библиотеку rpy2
, если я установлю эту переменную, я столкнусь с этой ошибкой
warnings.warn(x, RRuntimeWarning)
Traceback (most recent call last):
File "/home/m/PycharmProjects/sandbox/pyodbcsample.py", line 22, in <module>
DGGRID_PACKAGE= importr("dggridR")
File "/home/m/.local/lib/python3.6/site-packages/rpy2/robjects/packages.py", line 453, in importr
env = _get_namespace(rname)
rpy2.rinterface.RRuntimeError: Error in dyn.load(file, DLLpath = DLLpath, ...) :
unable to load shared object '/home/m/R/x86_64-pc-linux-gnu-library/3.5/rgdal/libs/rgdal.so':
/usr/lib/x86_64-linux-gnu/libgssapi_krb5.so.2: symbol k5_buf_free version krb5support_0_MIT not defined in file libkrb5support.so.0 with link time reference
Когда я не установлю эту переменную окружения, rpy2
загружается без проблем, но с другой сторонычто odbc
драйвер перестает работать.
Очевидно, что проблема в этой системной среде, я пытался добавить эту строку как системную среду, но все равно она не работает
{$LD_LIBRARY_PATH}:$HOME/lib:/home/m/R/x86_64-pc-linux-gnu-library/3.5:/lib:/usr/lib/R/library/stats/libs/:/home/m/nzClient/linux64/driver/lib64:/usr/lib/x86_64-linux-gnu/:/lib64/:/lib/x86_64-linux-gnu/
Я также пытался добавить эти пути к библиотекев этот файл sudo gedit /etc/ld.so.conf.d/randomLibs.conf
, чтобы избежать установки ld_library_path
, но опять-таки не работает.
Какие варианты у меня есть, чтобы исправить этот конфликт.