2015-05-31 3 views
2

мой сервер Linux: 2.6.18 RHEL5Как установить psycopg2-2.6 с python2.6

GCC версии: GCC (GCC) 4.1.2 20080704 (Red Hat 4.1.2-51)

установлен RPM пакеты:

python26-2.6.5-4.el5 
python26-devel-2.6.5-4.el5 
postgresql-devel-8.1.23-1 
postgresql-libs-8.1.23-1 
postgresql-devel-8.1.23-1 
postgresql-8.1.23-1 

когда я бегу "python2.6 setup.py установить", сообщение об ошибке:

gcc -pthread -shared build/temp.linux-x86_64-2.6/psycopg/psycopgmodule.o build/temp.linux-x86_64-2.6/psycopg/green.o build/temp.linux-x86_64-2.6/psycopg/pqpath.o build/temp.linux-x86_64-2.6/psycopg/utils.o build/temp.linux-x86_64-2.6/psycopg/bytes_format.o build/temp.linux-x86_64-2.6/psycopg/connection_int.o build/temp.linux-x86_64-2.6/psycopg/connection_type.o build/temp.linux-x86_64-2.6/psycopg/cursor_int.o build/temp.linux-x86_64-2.6/psycopg/cursor_type.o build/temp.linux-x86_64-2.6/psycopg/diagnostics_type.o build/temp.linux-x86_64-2.6/psycopg/error_type.o build/temp.linux-x86_64-2.6/psycopg/lobject_int.o build/temp.linux-x86_64-2.6/psycopg/lobject_type.o build/temp.linux-x86_64-2.6/psycopg/notify_type.o build/temp.linux-x86_64-2.6/psycopg/xid_type.o build/temp.linux-x86_64-2.6/psycopg/adapter_asis.o build/temp.linux-x86_64-2.6/psycopg/adapter_binary.o build/temp.linux-x86_64-2.6/psycopg/adapter_datetime.o build/temp.linux-x86_64-2.6/psycopg/adapter_list.o build/temp.linux-x86_64-2.6/psycopg/adapter_pboolean.o build/temp.linux-x86_64-2.6/psycopg/adapter_pdecimal.o build/temp.linux-x86_64-2.6/psycopg/adapter_pint.o build/temp.linux-x86_64-2.6/psycopg/adapter_pfloat.o build/temp.linux-x86_64-2.6/psycopg/adapter_qstring.o build/temp.linux-x86_64-2.6/psycopg/microprotocols.o build/temp.linux-x86_64-2.6/psycopg/microprotocols_proto.o build/temp.linux-x86_64-2.6/psycopg/typecast.o -L. -L/usr/lib64 -lpython2.6 -lpq -o build/lib.linux-x86_64-2.6/psycopg2/_psycopg.so 
/usr/bin/ld: build/temp.linux-x86_64-2.6/psycopg/psycopgmodule.o: relocation R_X86_64_PC32 against `lobjectType' can not be used when making a shared object; recompile with -fPIC 
/usr/bin/ld: final link failed: Bad value 
collect2: ld return 1 
error: command 'gcc' failed with exit status 1 

, когда я использую «НКУ -fPIC ", результат все тот же.

ответ

1

Я знаю, что это было задано давно, но недавно я столкнулся с той же проблемой (хотя в системе CentOS вместо Red Hat).

Я не уверен, что это поможет, но моя проблема в том, что версия libpq (установленная с Postgres) является «слишком старой». Решение, которое работало для меня, заключалось в установке версии 2.5 psycopg2. Эта версия достаточно хороша для моих нужд.

Я нашел идею здесь: https://github.com/psycopg/psycopg2/issues/305

Я использовал версию 2.5, но, возможно, немного более новая версия будет работать. Я нашел исходный код здесь: http://initd.org/psycopg/tarballs/PSYCOPG-2-5/

Смежные вопросы