Tôi cố gắng để xây dựng Python 2.6 cho QGIS trên RHEL 5. Trong quá trình làm QGIS tôi nhận được lỗi sau:Làm thế nào tôi có thể đặt ccshared = -fPIC trong khi thực thi ./configure?
Linking CXX shared library libqgispython.so
/usr/bin/ld: /usr/local/lib/python2.6/config/libpython2.6.a(abstract.o): relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object; recompile with -fPIC
/usr/local/lib/python2.6/config/libpython2.6.a: could not read symbols: Bad value
collect2: ld returned 1 exit status
make[2]: *** [src/python/libqgispython.so.1.0] Error 1
make[1]: *** [src/python/CMakeFiles/qgispython.dir/all] Error 2
make: *** [all] Error 2
Những gì tôi hình dung ra từ lỗi này là tôi cần phải xây dựng Python 2.6 với một số cờ, -fPIC
. OK, vì vậy tôi tìm thấy nó trong tệp configure.in
nhưng nó kiểm tra một số điều kiện và dựa trên các điều kiện đó, nó gán -fPIC
cho cờ CCSHARED
.
Điều tôi đã làm là sau khi đã kiểm tra tất cả các điều kiện, tôi đã thêm dòng sau để cố ý sử dụng CCSHARED
làm -fPIC
.
CCSHARED="-fPIC";
Nhưng nó đã không làm việc ..
Làm thế nào để xác định trong khi cấu hình mà tôi muốn thiết lập CCSHARED
như -fPIC
?
Thật không may, khi tôi thử chạy './configure --enable-shared', điều này gây ra nhiều mô-đun tích hợp Python quan trọng để không biên dịch được (tôi đang cố gắng biên dịch Python 2.7.3 cho hệ thống 64 bit Ubuntu 11.04). Thay vì thêm '--enable-shared', tôi phải chỉnh sửa' Makefile' và thêm '-fPIC' sau' CC = 'theo câu trả lời của ashishsony bên dưới. –
Mô-đun của tôi cũng không thể xây dựng được, nhưng đó là vì tôi đã cài đặt libpython2.7a xấu vào/usr/local/lib! Xóa nó và chạy lại 'make', và mọi thứ đều hạnh phúc. –
Tôi đã cài đặt trên linux khoa học 6.4 bằng cách sử dụng mô-đun môi trường. Tôi đã phải xóa installaiton trước –