Bởi vì tôi phải cài đặt nhiều phiên bản Python trên nhiều máy chủ Oracle Linux được xây dựng thông qua một quá trình khởi động, tôi muốn xây dựng một vòng python cho kho yum của chúng tôi. Tôi đã có thể xây dựng Python bằng tay bằng cách sử dụng 'make altinstall' mà không cài đặt trên hệ thống mặc định của bạn Python cài đặt, vì vậy tôi nghĩ rằng đó sẽ là con đường để đi.RPM Python Tôi xây dựng sẽ không cài đặt
Sau nhiều thử và sai, tôi quản lý để xây dựng một rpm bắt đầu với một .bz2 python 2.7 gói - nhưng bây giờ khi tôi cố gắng để cài đặt nó, tôi nhận được một lỗi:
error: Failed dependencies:
/usr/local/bin/python is needed by Python-2.7.2-1.i386
gì .. . ??? Python là những gì tôi đang cố gắng để cài đặt !!! Và mặc định hệ thống Python (2.4) là trong/usr/bin/python !!! Và vị trí tạo mẫu của tôi cho thư mục python là /tmp/python2.7 (và tệp thực thi là /tmp/python2.7/bin/python2.7). Vậy tại sao nó lại tìm trong/usr/local/bin?
Dưới đây là cốt lõi của SPEC RPM của tôi:
%prep
%setup -q
%build
./configure --prefix=/tmp/python2.7
make
%install
make altinstall
tôi có một cái nhìn sâu hơn về các rpm build log và tôi thấy:
Requires: /bin/sh /tmp/python2.7/bin/python2.7 /usr/bin/env /usr/local/bin/python libc.so.6 libc.so.6(GLIBC_2.0)...[a lot more...]
Ok, do đó là nơi/usr/local/bin đi vào ... Bây giờ, câu hỏi là, làm cách nào để xác định các yêu cầu này? Tôi đã chỉ định điều gì đó sai? Tôi có cần ghi đè điều gì đó không?
Giống như nhiều người mới sử dụng rpm, tôi nhận được phần xây dựng, nhưng tôi không thực sự "grok" điều gì xảy ra ở cuối rpmbuild và những gì thực sự được đưa vào tệp rpm (ngoài các tệp bạn chỉ định trong% tệp) và sau đó điều gì thực sự xảy ra khi bạn thực hiện cài đặt rpm.
Có ai có thể đề xuất tại sao cài đặt của tôi không thành công hoặc những gì tôi có thể đọc để hiểu lý do xây dựng rpm của tôi yêu cầu những gì tôi đang cố gắng xây dựng?
Âm thanh đầy hứa hẹn - Tôi sẽ thử ... – Ilane
>>> in "Cảm ơn bạn, F.J !!!" Cảm ơn bạn, F.J !!! – Ilane
Bạn không muốn tắt chế độ phụ thuộc trong trường hợp này. Điều này có thể phá vỡ gói python bởi vì RPM sẽ không biết những gì các tập tin như vậy gói phụ thuộc vào. Điều chính xác cần làm là vá tệp chứa dòng shebang sai. – jayhendren