2016-05-30 6 views
2

Мне нужно запустить tornado webapp на сервере, используя psycopg2 с postgresql как бэкэнд. Я работаю над выпуском Linux Red Hat Enterprise Linux 6.5. Я создал виртуальную среду. Теперь на этом сервере у меня нет доступа root, я не могу использовать pip или yum, и я не могу скопировать текст с сервера (поэтому я не могу опубликовать точный журнал ошибок). Я вручную загружал tar-файлы для библиотек и их установку. Когда я пытаюсь запустить webapp, я получаю следующую ошибку:ImportError: /lib/libc.so.6: version `GLIBC_2.14 'не найдено (требуется /usr/lib/libpq.so.5)

ImportError: /lib/libc.so.6: version `GLIBC_2.14' not found (required by /usr/lib/libpq.so.5) 

Версия для libc.so.6 - 2.12. Ошибка отображается в psycopg2/init .py.

Прошу прощения, так как это не так много, но у сервера есть много ограничений. Любая помощь будет оценена.

ответ

3

Эта ошибка:

ImportError: /lib/libc.so.6: version `GLIBC_2.14' not found \ 
    (required by /usr/lib/libpq.so.5) 

означает, что libpq.so.5 был построен на системе с GLIBC-2.14 или выше.

Поскольку вы заявляете, что не имеете права root на эту систему, и поскольку /usr/lib не может быть доступен для записи обычными пользователями, мы должны предположить, что вы попросили sysadmin в этой системе установить что-то для вас, а sysadmin установил нерабочий пакет PostgreSQL.

Вы не можете легко решить эту проблему самостоятельно.

Вы должны работать со своим sysadmin для установки правильных пакетов для вашей системы.

В качестве альтернативы вы можете установить и использовать новую версию GLIBC в нестандартном местоположении. Это совершенно нетривиально. Некоторые детали here.

+0

Я установил PostgrSQL и другие библиотеки в отдельном месте, используя виртуальную среду и экспортируя LD_LIBRARY_PATH в это место, все еще получая ту же ошибку. Было бы лучше обновить GLIBC-2.14 в этом месте или искать совместимую версию PostgreSQL? – cppnoob

+0

@cppnoob Если вы можете установить GIBC-2.14 в свою виртуальную среду, это будет самый простой путь. –

+0

Я попытался установить GLIBC-2.14, но на сервере не хватило места во время «make» (у меня есть только 450 МБ на сервере, а в начале я занял только 100 МБ). Я попытался установить Redhat совместимый PostgreSQL, но я мог только найти RPM, которым нужен root-доступ, если я не ошибаюсь. Есть ли другая альтернатива, или я делаю что-то неправильно? – cppnoob