Segfault при установке 2.7.5 - PullRequest
       16

Segfault при установке 2.7.5

0 голосов
/ 19 февраля 2019

Я на относительно чистой Ubuntu 18.10.Я пытаюсь начать использовать pyenv, и мне удалось использовать его для установки python 3.7.2.

Тем не менее, второе, что я попробовал, это установка 2.7.5, и это просто не сработало, несмотря ни на чтоЯ пытаюсь.

$ pyenv install 2.7.5
Downloading Python-2.7.5.tgz...
-> https://www.python.org/ftp/python/2.7.5/Python-2.7.5.tgz
Installing Python-2.7.5...
patching file ./Modules/readline.c
Hunk #1 succeeded at 204 (offset -2 lines).
Hunk #2 succeeded at 747 (offset -2 lines).
Hunk #3 succeeded at 857 (offset -2 lines).
Hunk #4 succeeded at 905 (offset -13 lines).
patching file ./Lib/site.py
patching file ./Lib/ssl.py
Hunk #2 succeeded at 430 (offset -5 lines).
patching file ./Modules/_ssl.c
Hunk #1 succeeded at 65 (offset -2 lines).
Hunk #2 succeeded at 304 (offset -4 lines).
Hunk #3 succeeded at 1729 (offset -83 lines).

BUILD FAILED (Ubuntu 18.10 using python-build 1.2.9-12-g99092d7f)

Inspect or clean up the working tree at /tmp/python-build.20190219134616.5823
Results logged to /tmp/python-build.20190219134616.5823.log

Last 10 log lines:
        Modules/python.o \
        libpython2.7.a -lpthread -ldl  -lutil   -lm  
/usr/bin/ld: libpython2.7.a(posixmodule.o): in function `posix_tmpnam':
/tmp/python-build.20190219134616.5823/Python-2.7.5/./Modules/posixmodule.c:7515: warning: the use of `tmpnam_r' is dangerous, better use `mkstemp'
/usr/bin/ld: libpython2.7.a(posixmodule.o): in function `posix_tempnam':
/tmp/python-build.20190219134616.5823/Python-2.7.5/./Modules/posixmodule.c:7462: warning: the use of `tempnam' is dangerous, better use `mkstemp'
./python -E -S -m sysconfig --generate-posix-vars
Could not find platform dependent libraries <exec_prefix>
Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>]
make: *** [Makefile:464: pybuilddir.txt] Segmentation fault (core dumped)

Из любопытства я попробовал на чистой недавно установленной ВМ и получил ту же ошибку, но на официальном образе Docker это работает.Так что в моей среде должно быть что-то неправильное.

Но что?

1 Ответ

0 голосов
/ 19 февраля 2019

Python 2.7.5 не будет работать должным образом с компилятором gcc-8 Ubuntu 8.2.0-7ubuntu1, который является стандартным для Ubuntu 18.10.

Самый простой способ обойти это - установить gcc 7.3.0 и символическую ссылку на /usr/bin/gcc.

В ответе на этот вопрос есть хорошее описание, как это сделать downgrade-gnu-compilers-ubuntu-18-04 .

...