2009-04-15 36 views
2

我支持python-devel 2.3.7的硬依賴項的應用程序。應用程序運行嵌入的python解釋器,嘗試加載libpython2.3.so - 但由於本地機器在/ usr/lib64下有libpython2.4.so,因此應用程序失敗。需要構建(或以其他方式獲取)python-devel 2.3並將其添加到LD_LIBRARY_PATH

我看到有python-devel(但不是版本2.3.x)的RPM。另一個缺點是我不想覆蓋/ usr/lib下的現有python(我沒有su)。我想要做的就是放置在我的主目錄(即/ home/noahz/lib)中的某個位置,並使用PATH和LD_LIBRARY_PATH指向此應用程序的舊版本。

我試圖找出(但似乎無法制作符合正確的谷歌搜索)是​​:

1)我在哪裏可以下載python-devel的-2.3或libpython2.3.so。 1.0(如果可以得)

2A),如果我不能下載python-devel的-2.3,我怎麼libpython2.3.so從源代碼編譯(已下載Python的2.3.tgz和

2B)是從源代碼構建libpython2.3.so.1.0並用LD_LIBRARY_PATH指向它,或者我會遇到其他問題(其他依賴)

3)一般來說,我是否正確地接近這個問題?

附加信息:

  • 我試圖符號鏈接(LN-S)到更高版本。這導致應用程序默默失敗。

  • 發行版是Red Hat企業版Linux 5(RHEL 5) - 用於x86_64的

回答

2

您可以使用Python RPM的鏈接從ChristopheD提到的Python主頁。 您可以使用cpio提取RPM,因爲它們只是專門的cpio歸檔文件。 您將它們解壓縮到您的主目錄並設置LD_LIBRARY_PATH和PATH的方法應該可行;我一直都在使用這個工具來手動構建我也已經安裝的較新版本的項目。

儘管不要關注-devel包,你需要主包。您也可以解壓縮-devel,但實際使用的唯一方法是指向實際庫的libpython2.3.so符號鏈接,您也可以手動創建它。

這是否正確的方法取決於你正在嘗試做什麼。如果你所要做的只是讓這個應用程序爲你個人運行,那麼這個黑客聽起來很好。

如果您想要將某些東西實際分發給其他人來運行此應用程序,並且您無法修復實際的應用程序,則應考慮構建與系統不衝突的較早的Python版本的rpm,安裝一個。

+0

谷歌搜索「如何使libpython2.3.so」(不含引號) - 這個頁面是第一擊:http://www.czaplinski.net/sun/#python - 它的工作。謝謝! – noahlz 2009-04-20 02:52:13

相關問題