Khi tôi cố gắng xây dựng phiên bản riêng của tôi về Python sử dụng:Làm thế nào để bỏ qua python địa phương khi xây dựng python từ nguồn
./configure --enable-shared --prefix=/app/vendor/python-dev && make && make install
tôi thấy một số lỗi trong khi cài đặt:
/usr/bin/ld: /usr/local/lib/libpython2.7.a(abstract.o): di dời R_X86_64_32 đối với `.rodata.str1.8 'không thể được sử dụng khi tạo đối tượng được chia sẻ ; biên dịch lại với /usr/local/lib/libpython2.7.a -fPIC: không thể đọc biểu tượng: Xấu giá trị
Vấn đề bắt đầu khi mối liên kết cố gắng sử dụng /usr/local/lib/libpython2.7.a
và không phải là thư viện mới được biên soạn.
Làm cách nào để ngăn chặn trình liên kết (định cấu hình/tạo) sử dụng thư viện python được cài đặt trên hệ thống?
'./configure enable-chia sẻ --prefix =/app/vendor/python-dev && make && make install' hoạt động cho tôi (từ [tar-2.7.5 tarball] (http://www.python.org/ftp/python/2.7.5/Python-2.7 .5.tar.bz2) trên Ubuntu 13.04). Nếu lỗi xảy ra trong phần 'make', bạn sẽ phải bao gồm toàn bộ đầu ra từ' make'. – Aya
Đây là lỗi duy nhất. Nó đơn giản lặp lại cho các mô-đun khác. Tôi đang sử dụng 2.7.4 tarball. Nhưng tôi có 2.7.4 trên máy tính của tôi, biên dịch tĩnh (tôi đoán không có -fPIC). – Xyand
Chắc chắn, nhưng lý do cho lỗi sẽ xảy ra sớm hơn trong quá trình xây dựng, vì vậy không thể chẩn đoán mà không có thêm thông tin. Hãy xem [this] (http://mail.python.org/pipermail/python-list/2010-September/587427.html) và phần tiếp theo. Tôi không chắc đó có phải là vấn đề tương tự hay không, nhưng tôi không thể làm gì nhiều hơn nếu không nhìn thấy đầu ra từ 'make'. – Aya