2009-04-15 7 views
2

私はpython-devel 2.3.7に強く依存するアプリケーションをサポートしています。アプリケーションはlibpython2.3.soを読み込もうとしている埋め込みPythonインタプリタを実行しますが、ローカルマシンは/ usr/lib64の下にlibpython2.4.soを持っているので、アプリケーションは失敗しています。python-devel 2.3をビルド(あるいは取得)する必要があり、LD_LIBRARY_PATHに追加する必要があります

python-develのRPMがあります(バージョン2.3.xではなく)。もう一つの問題は、/ usr/libにある既存のPythonを上書きしたくないということです(私はとにかくsuを持っていません)。私がしたいことは、私のホームディレクトリ(すなわち/ home/noahz/lib)のどこかに置いて、PATHとLD_LIBRARY_PATHを使ってこのアプリケーションの古いバージョンを指し示すことです。私のpython-develの-2.3またはlibpython2.3.soをダウンロードしない

1):

私は何を見つけるためにしようとしている(しかしための右のGoogle検索を作るように見えることはできませんが)です。 1.0(いずれかの利用可能な場合)私はのpython-develの-2.3、私はソースからビルドするlibpython2.3.soんかダウンロードできない場合)

2A(すでにPythonの-2.3.tgzと

2Bをダウンロード) libpython2.3.so.1.0をソースからビルドして、LD_LIBRARY_PATHで十分に指しているか、他の問題(その他の依存関係)に遭遇しますか?

3)一般的に、私はこの問題に正しい方法で近づいていますか?

ADDITIONAL INFO:

  • 私は新しいバージョンに(LN -s)をシンボリックリンクしようとしました。これにより、アプリは黙って失敗しました。

  • は、ディストリビューションは、Red Hat Enterprise Linux 5(RHEL5)である - x86_64版

答えて

2

あなたはChristopheDが言及したのpythonのホームページからリンクのpython RPMのを使用することができます。 特殊なcpioアーカイブなので、RPMをcpioで抽出することができます。 それらをあなたのホームディレクトリに展開し、LD_LIBRARY_PATHとPATHを設定する方法は有効です。私はこれも私がインストールしている手作りの新しいバージョンのプロジェクトのために使っています。

-develパッケージに集中しないでください。メインパッケージが必要です。 -develも展開できますが、実際に使用するのは実際のライブラリを指すlibpython2.3.soのシンボリックリンクだけです。これを手動で作成することもできます。

これが正しいアプローチかどうかは、実行しようとしていることによって異なります。あなたがしようとしているのは、この1つのアプリケーションをあなたのために動かすことです。このハックはうまく聞こえます。

実際にこのアプリケーションを実行するために何かを他の人に配布したいと思っていて、実際のアプリケーションを修正する方法がない場合は、システムと競合しない古いPythonバージョンのrpmを作成することを検討してください。インストールされたもの。

+0

は「libpython2.3.soの作り方」(引用符なし)のためにGoogleで検索 - このページでは、最初にヒットした:http://www.czaplinski.net/sun/#python - それが働きました。ありがとう! – noahlz

関連する問題