Я пытаюсь скомпилировать Python 2.6.8 на Kubuntu 19.04.
Текущая версия системы - Python 2.7.16. См. Ниже сообщение об ошибке, которое я получаю во время make.
oguz@dikanka:~$ tar -xvzf Python-2.6.8.tgz
oguz@dikanka:~$ cd Python-2.6.8/
oguz@dikanka:~/Python-2.6.8$ ./configure
…
…
oguz@dikanka:~/Python-2.6.8$ make
…
…
gcc -pthread -Xlinker -export-dynamic -o python \
Modules/python.o \
libpython2.6.a -lpthread -ldl -lutil -lm
/usr/bin/ld: libpython2.6.a(posixmodule.o): in function `posix_tmpnam':
/home/oguz/Python-2.6.8/./Modules/posixmodule.c:7261: warning: the use of `tmpnam_r' is dangerous, better use `
mkstemp'
/usr/bin/ld: libpython2.6.a(posixmodule.o): in function `posix_tempnam':
/home/oguz/Python-2.6.8/./Modules/posixmodule.c:7216: warning: the use of `tempnam' is dangerous, better use `m
kstemp'
Segmentation fault (core dumped)
make: *** [Makefile:414: sharedmods] Error 139
Я обнаружил, что эта ошибка в Python очень похожа на мой случай, но это довольно старая ошибка: https://bugs.python.org/issue535545
Здесь он говорит, что posixmodule завершается сбоем, потому что ресурс.h не обнаружен должным образом программой configure Аналогичным образом, в моем случае строка HAVE_SYS_RESOURCE_H файла pyconfig.h закомментирована. Я также понял, что мои заголовки c lib не находятся в / usr / include / sys и / usr / include / bits. Вместо этого я могу найти их в следующих местах:
oguz@dikanka:/usr/include/linux$ find /usr/include -name resource.h
/usr/include/asm-generic/resource.h
/usr/include/linux/resource.h
/usr/include/x86_64-linux-gnu/asm/resource.h
/usr/include/x86_64-linux-gnu/bits/resource.h
/usr/include/x86_64-linux-gnu/sys/resource.h
Я пробовал символические ссылки на x86_64-linux-gnu / sys и x86_64-linux-gnu / bits, но проблема остается.
Есть идеи? Заранее спасибо!
просто необходимо изменить одну строку в Include/objimpl.h: замените, "долго удваивают макет" "двойным макетом".Приятного отдыха!
--- a/Include/objimpl.h
+++ b/Include/objimpl.h
@@ -248,7 +248,7 @@ typedef union _gc_head {
union _gc_head gc_prev;
Py_ssize_t gc_refs;
} gc;
- long double dummy; / force worst-case alignment /
+ double dummy; / force worst-case alignment */
} PyGC_Head;
extern PyGC_Head *_PyGC_generation0;