因爲我必須在通過kickstart過程構建的多個Oracle Linux服務器上安裝多個版本的Python,我想爲我們的yum存儲庫構建一個python rpm。我能夠使用'make altinstall'手動構建Python,它不會在您的默認系統Python安裝上安裝,所以我認爲這將是一條路。我建立的Python RPM不會安裝
大量的試驗和錯誤後,我設法建立開始與操作.bz2蟒蛇2.7包一個rpm - 但現在,當我嘗試安裝它,我得到一個錯誤:
error: Failed dependencies:
/usr/local/bin/python is needed by Python-2.7.2-1.i386
什麼.. ??? Python是我想要安裝的!而系統默認的Python(2.4)在/ usr/bin/python中!我的python目錄的原型位置是/tmp/python2.7(可執行文件是/tmp/python2.7/bin/python2.7)。那麼爲什麼它在/ usr/local/bin中查找?
這裏是我的RPM SPEC的核心:
%prep
%setup -q
%build
./configure --prefix=/tmp/python2.7
make
%install
make altinstall
我走在轉生成日誌定睛一看,我看到:
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...]
好了,還有的地方在/ usr /本地/斌進來...現在,問題是,它是如何確定這些要求?我說錯了嗎?我是否需要重寫某些內容?
與許多rpm新手一樣,我獲得了構建部分,但是我並沒有真正地「琢磨」rpmbuild結束時會發生什麼以及實際上將哪些內容放入rpm文件(除了在%文件中指定的文件之外),然後在執行rpm安裝時會發生什麼。
任何人都可以提出爲什麼我的安裝失敗,或者我可能會讀懂,以瞭解爲什麼我的rpm版本需要我想要構建?
聽起來很有希望 - 我會試試看... – Ilane
>>>打印「謝謝你,F.J !!!」 謝謝F.J !!! – Ilane
在這種情況下,您不想關閉依賴關係處理。這可能會破壞python包,因爲RPM不知道包依賴於什麼文件。正確的做法是修補包含錯誤的shebang行的文件。 – jayhendren