6

私はpythonとubuntuが初めてです。ubuntu 12.10にpython 2.6.5をインストールしようとしています。私はすでにpython 2.7.3を持っており、既存のpythonと並んで2.6.5をインストールしようとしています。make を実行すると、次のエラーが表示されます。

Failed to find the necessary bits to build these modules:
_bsddb             bsddb185           dl
imageop            linuxaudiodev      ossaudiodev
sunaudiodev
To find the necessary bits, look in setup.py in detect_modules() for the module's name.

Failed to build these modules:
_curses            _curses_panel      _ssl

_ssl モジュールが一番心配です。別の投稿で述べたように、./configure --with-ssl を使用しましたが、メッセージは同じです。任意のポインタをいただければ幸いです。

追記: make は bz2 もビルドできないと不平を言っていましたが、この投稿エントリでbzip2 を再コンパイルして修正しました。これで _ssl がダウンしました。_curses が必要かどうかわかりません。

編集: make log ファイルが見つかりました。これは、python 2.6.5 が ssl v2 をサポートしているのに対し、このサポートは Ubuntu で削除されたことが原因のようです。ログ ファイルには次のものが含まれます。

*** WARNING: renaming "_ssl" since importing it failed: build/lib.linux-x86_64-2./_ssl.so: undefined symbol: SSLv2_method

このブログには、ssl v2 サポートなしで再構築された python 2.6.8 があります。私は現在、2.6.5 ソースで彼らの変更を試みています。

編集 2:上記のように 2.6.5 ソースを変更し、ssl v2 サポートを削除すると、_ssl モジュールがビルドされない問題が修正されました。また、以前にインストールしようとしたパッケージのリストは次のとおりです。

apt-get install libreadline-dev
apt-get install libssl-dev (already installed)
apt-get install libbz2-dev (already installed)
apt-get install build-essential (already installed)
apt-get install sqlite3
apt-get install tk-dev
apt-get install libsqlite3-dev
apt-get install libc6-dev (already installed)
apt-get install libgdbm-dev
apt-get install libncursesw5-dev

make からの完全な出力は次のとおりです。

running build
running build_ext
building '_curses' extension
gcc -pthread -fPIC -fno-strict-aliasing -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict prototypes -I. -I/tmp/nimbula/Python-2.6.5/./Include -I. -IInclude -I./Include -I/usr/local/include -I/tmp/nimbula/Python-2.6.5/Include -I/tmp/nimbula/Python-2.6.5 -c /tmp/nimbula/Python-2.6.5/Modules/_cursesmodule.c -o build/temp.linux-x86_64-2.6/tmp/nimbula/Python-2.6.5/Modules/_cursesmodule.o
building '_curses_panel' extension
gcc -pthread -fPIC -fno-strict-aliasing -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I. -I/tmp/nimbula/Python-2.6.5/./Include -I. -IInclude -I./Include -I/usr/local/include -I/tmp/nimbula/Python-2.6.5/Include -I/tmp/nimbula/Python-2.6.5 -c /tmp/nimbula/Python-2.6.5/Modules/_curses_panel.c -o build/temp.linux-x86_64-2.6/tmp/nimbula/Python-2.6.5/Modules/_curses_panel.o

Failed to find the necessary bits to build these modules:
_bsddb             bsddb185           dl
imageop            linuxaudiodev      ossaudiodev
sunaudiodev
To find the necessary bits, look in setup.py in detect_modules() for the module's name.

Failed to build these modules:
_curses            _curses_panel

running build_scripts

編集 3:ええ、これらの質問をしてくれてありがとう。以前にインストールしたパッケージを見てみると、libncursesw5-dev の 1 つが明らかに見栄えがよくありませんでした (バージョンが含まれており、古い投稿から入手したため)。以下を試してみたところ、_curses と _curses_panel がビルドされないという問題が解決されました。

apt-get install libncurses-dev

libncurses-dev をインストールした後、make clean, ./configure --with-ssl, make を実行しました。

これで、make からの出力は次のようになります。

running build
running build_ext

Failed to find the necessary bits to build these modules:
_bsddb             bsddb185           dl
imageop            linuxaudiodev      ossaudiodev
sunaudiodev
To find the necessary bits, look in setup.py in detect_modules() for the module's name.

running build_scripts
4

2 に答える 2

3

ubuntu 12.10でpythong 2.6.5のインストールを解決した方法は次のとおりです。

1.) 次のライブラリをインストールしようとしました (一部は既にシステムにインストールされていました)。

apt-get install libreadline-dev
apt-get install libssl-dev (already installed)
apt-get install libbz2-dev (already installed)
apt-get install build-essential (already installed)
apt-get install sqlite3
apt-get install tk-dev
apt-get install libsqlite3-dev
apt-get install libc6-dev (already installed)
apt-get install libgdbm-dev
apt-get install libncurses-dev

2.) bz2 モジュールがビルドされない問題:

a.) http://www.bzip.org/downloads.htmlから bz2 ソースをダウンロードしました。b.)この投稿cc=gccに従って Makefile を修正し、「cc=gcc -fPIC」に変更しました。c.) make と make install を実行しました。d.) コマンドラインから次のコードで bz2 をテストしました: python -c "import bz2; print bz2.doc "

3.) _ssl モジュールがビルドされない問題:

a.) Python ソースから ssl v2 を削除して、ssl を修正しました。Michael Schurter によるこのブログの指示に従いました。それは魅力のように機能しました。

4.) この時点でmake altinstall、既存の python を上書きしないように、 を使用して Python 2.6.5 をインストールしました。/usr/bin/python を新しい python インストールに向けました。まだいくつかのものが欠けていました。

5.) ez_setup を追加: curl -O https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py python ez_setup.py

6.) 追加された pip: easy_install -U pip

7.) インストールされた setuptools: pip install setuptools

この時点で、すべてが機能しているように見えます。

于 2013-10-07T23:00:04.273 に答える