Ubuntu18 の Python3.5 で pip install uwsgi でエラーしたのでPython3.5をビルドしなおす

投稿者: ytyng 5 年, 5 ヶ月 前

Ubuntu18にアップデートし 、デフォルトが Python3.6 になったマシンで、Python3.5 の検証が必要になった。

python3.5 -m venv venv35

でvenv を作って

. venv35/bin/activate
pip install uwsgi

すると

    /usr/bin/x86_64-linux-gnu-ld: /usr/local/lib/python3.5/config-3.5m/libpython3.5m.a(mystrtoul.o): relocation R_X86_64_32S against symbol `_Py_ctype_table' can not be used when making a PIE object。 -fPIC を付けて再コンパイルしてください。
    /usr/bin/x86_64-linux-gnu-ld: /usr/local/lib/python3.5/config-3.5m/libpython3.5m.a(structmember.o): relocation R_X86_64_32S against `.rodata' can not be used when making a PIE object。 -fPIC を付け
て再コンパイルしてください。
    /usr/bin/x86_64-linux-gnu-ld: /usr/local/lib/python3.5/config-3.5m/libpython3.5m.a(parser.o): relocation R_X86_64_32 against `.rodata.str1.8' can not be used when making a PIE object。 -fPIC を付け
て再コンパイルしてください。
    /usr/bin/x86_64-linux-gnu-ld: 最終リンクに失敗しました: 出力に対応するセクションがありません
    collect2: error: ld returned 1 exit status
    *** error linking uWSGI ***

のようにエラーが出て、リンクに失敗した。

なので、Python3.5 をビルドしなおす。

curl -O https://www.python.org/ftp/python/3.5.6/Python-3.5.6rc1.tgztar -xzvf Python-3.5.6rc1.tgz
cd Python-3.5.6rc1/
./configure --prefix=$HOME/.local --enable-optimizations
make -s -j2
make install

そして、そのpythonでvenv を作り

~/.local/bin/python3.5 -m venv venv356
. venv356/bin/activate
pip install uwsgi

インストールできる

参考

UbuntuでPythonをソースからインストール

https://qiita.com/yniji/items/8e392103a6f2a4152606

現在未評価

コメント

アーカイブ

2024
2023
2022
2021
2020
2019
2018
2017
2016
2015
2014
2013
2012
2011