Qubes OS Debian에서 Python 3.6.0+ 컴파일 문제

Qubes OS Debian에서 Python 3.6.0+ 컴파일 문제

Debian내부 템플릿 (gcc 4.9.2) Qubes OS의 소스 코드에서 Python 3.6.0과 최신 CPython을 컴파일하려고 합니다 .

이 작업을 수행했지만 configure출력을 자세히 살펴보면 많은 라이브러리와 기능을 사용할 수 없는 것 같고 그 중 일부의 경우 구성 스크립트가 시스템 호출에 대해 긍정적인 응답을 제공하지만 예를 들어 시스템 호출 기능은 다음과 같습니다 getrandom().

...
checking for the Linux getrandom() syscall... yes
checking for the getrandom() function... no
...


에서 사용된 테스트 코드를 찾아서 configure직접 컴파일하고 테스트했는데 잘 작동합니다.

#include <unistd.h>
#include <sys/syscall.h>
#include <linux/random.h>

int main() {
    const int flags = 0;
    char buffer[1];
    int n;
    /* ignore the result, Python checks for ENOSYS at runtime */
    (void)syscall(SYS_getrandom, buffer, sizeof(buffer), flags);
    return 0;
}

configure그래서 나는 왜 이러한 기능을 싫어하는 것 같은지 이해할 수 없습니다 . **


또 다른 문제는 찾을 수 없다는 것입니다 g++. 하지만 설치했는데 잘 작동합니다.

checking for g++... no

configure:

    By default, distutils will build C++ extension modules with "g++".
    If this is not intended, then set CXX on the configure command line.


저는 Debian 출신 Ubuntu이므로 이것이 템플릿 문제인지 Debian, 아니면 쉽게 수정하고 Debian을 계속 사용할 수 있는 잘못된 구성 또는 누락된 구성 요소인지 궁금합니다.Qubes OSDebianQubes OS



완전한 configure출력 문제(최적화 포함):

user@work-debian:~/Downloads/Python-3.6.0$ ./configure --enable-optimizations --with-lto  | grep " no"

checking for python3.6... no
checking for --enable-universalsdk... no
checking for --with-universal-archs... no
checking for --without-gcc... no
checking for --with-icc... no
checking whether we are cross compiling... no
checking for gcc option to accept ISO C89... none needed
checking for a sed that does not truncate output... /bin/sed
checking for --with-cxx-main=<compiler>... no
checking for g++... no
checking minix/config.h usability... no
checking minix/config.h presence... no
checking for minix/config.h... no
checking for the Android API level... not Android
checking for case-insensitive build directory... no
checking for --enable-shared... no
checking for --enable-profiling... no
checking for --with-pydebug... no
checking for -llvm-profdata... no
checking whether gcc accepts and needs -fno-strict-aliasing... no
checking if we can turn on gcc unreachable code warning... no
checking whether pthreads are available without options... no
checking whether gcc accepts -Kpthread... no
checking whether gcc accepts -Kthread... no
checking conio.h usability... no
checking conio.h presence... no
checking for conio.h... no
checking direct.h usability... no
checking direct.h presence... no
checking for direct.h... no
checking ieeefp.h usability... no
checking ieeefp.h presence... no
checking for ieeefp.h... no
checking io.h usability... no
checking io.h presence... no
checking for io.h... no
checking process.h usability... no
checking process.h presence... no
checking for process.h... no
checking sys/devpoll.h usability... no
checking sys/devpoll.h presence... no
checking for sys/devpoll.h... no
checking sys/audioio.h usability... no
checking sys/audioio.h presence... no
checking for sys/audioio.h... no
checking sys/bsdtty.h usability... no
checking sys/bsdtty.h presence... no
checking for sys/bsdtty.h... no
checking sys/event.h usability... no
checking sys/event.h presence... no
checking for sys/event.h... no
checking sys/kern_control.h usability... no
checking sys/kern_control.h presence... no
checking for sys/kern_control.h... no
checking sys/loadavg.h usability... no
checking sys/loadavg.h presence... no
checking for sys/loadavg.h... no
checking sys/lock.h usability... no
checking sys/lock.h presence... no
checking for sys/lock.h... no
checking sys/mkdev.h usability... no
checking sys/mkdev.h presence... no
checking for sys/mkdev.h... no
checking sys/modem.h usability... no
checking sys/modem.h presence... no
checking for sys/modem.h... no
checking sys/sys_domain.h usability... no
checking sys/sys_domain.h presence... no
checking for sys/sys_domain.h... no
checking sys/termio.h usability... no
checking sys/termio.h presence... no
checking for sys/termio.h... no
checking libutil.h usability... no
checking libutil.h presence... no
checking for libutil.h... no
checking bluetooth.h usability... no
checking bluetooth.h presence... no
checking for bluetooth.h... no
checking util.h usability... no
checking util.h presence... no
checking for util.h... no
checking sys/endian.h usability... no
checking sys/endian.h presence... no
checking for sys/endian.h... no
checking for library containing opendir... none required
checking bluetooth/bluetooth.h usability... no
checking bluetooth/bluetooth.h presence... no
checking for bluetooth/bluetooth.h... no
checking Solaris LFS bug... no
checking whether to enable large file support... no
checking for --enable-framework... no
checking for dyld... no
checking for sendfile in -lsendfile... no
checking for shl_load in -ldld... no
checking for textdomain in -lintl... no
checking aligned memory access is required... no
checking for --with-address-sanitizer... no
checking for t_open in -lnsl... no
checking for socket in -lsocket... no
checking for --with-libs... no
checking for pkg-config... no
checking for --with-system-expat... no
checking for --with-system-libmpdec... no
checking for --enable-loadable-sqlite-extensions... no
checking for --with-valgrind... no
checking for --with-dtrace... no
checking MACHDEP_OBJS... none
checking for getentropy... no
checking for lchmod... no
checking for plock... no
checking for pthread_init... no
checking for strlcpy... no
checking for _getpty... no
checking for kqueue... no
checking for ctermid_r... no
checking for broken unsetenv... no
checking for chflags... no
checking for lchflags... no
checking for openpty... no
checking for fseek64... no
checking for ftell64... no
checking getaddrinfo bug... no
checking for struct stat.st_flags... no
checking for struct stat.st_gen... no
checking for struct stat.st_birthtime... no
checking for time.h that defines altzone... no
checking whether char is unsigned... no
checking if sockaddr has sa_len member... no
checking for --with-fpectl... no
checking whether C doubles are big-endian IEEE 754 binary64... no
checking whether C doubles are ARM mixed-endian IEEE 754 binary64... no
checking whether we can use gcc inline assembler to get and set mc68881 fpcr... no
checking for x87-style double rounding... no
checking whether log1p drops the sign of negative zero... no
checking for broken sem_getvalue... no
checking digit size for Python's longs... no value specified
checking for UCS-4 tcl... no
checking whether byte ordering is bigendian... no
checking for broken nice()... no
checking for broken poll()... no
checking for tv_nsec2 in struct stat... no
checking for /dev/ptc... no
checking for broken mbstowcs... no
checking for --with-computed-gotos... no value specified
checking for glibc _FORTIFY_SOURCE/memmove bug... no
checking for gcc ipa-pure-const bug... no
checking for the getrandom() function... no

configure문제의 전체 출력(최적화 없음):

user@work-debian:~/Downloads/Python-3.6.0$ ./configure | grep " no"

checking for python3.6... no
checking for --enable-universalsdk... no
checking for --with-universal-archs... no
checking for --without-gcc... no
checking for --with-icc... no
checking whether we are cross compiling... no
checking for gcc option to accept ISO C89... none needed
checking for a sed that does not truncate output... /bin/sed
checking for --with-cxx-main=<compiler>... no
checking for g++... no
checking minix/config.h usability... no
checking minix/config.h presence... no
checking for minix/config.h... no
checking for the Android API level... not Android
checking for case-insensitive build directory... no
checking for --enable-shared... no
checking for --enable-profiling... no
checking for --with-pydebug... no
checking for -llvm-profdata... no
checking whether gcc accepts and needs -fno-strict-aliasing... no
checking if we can turn on gcc unreachable code warning... no
checking whether pthreads are available without options... no
checking whether gcc accepts -Kpthread... no
checking whether gcc accepts -Kthread... no
checking conio.h usability... no
checking conio.h presence... no
checking for conio.h... no
checking direct.h usability... no
checking direct.h presence... no
checking for direct.h... no
checking ieeefp.h usability... no
checking ieeefp.h presence... no
checking for ieeefp.h... no
checking io.h usability... no
checking io.h presence... no
checking for io.h... no
checking process.h usability... no
checking process.h presence... no
checking for process.h... no
checking sys/devpoll.h usability... no
checking sys/devpoll.h presence... no
checking for sys/devpoll.h... no
checking sys/audioio.h usability... no
checking sys/audioio.h presence... no
checking for sys/audioio.h... no
checking sys/bsdtty.h usability... no
checking sys/bsdtty.h presence... no
checking for sys/bsdtty.h... no
checking sys/event.h usability... no
checking sys/event.h presence... no
checking for sys/event.h... no
checking sys/kern_control.h usability... no
checking sys/kern_control.h presence... no
checking for sys/kern_control.h... no
checking sys/loadavg.h usability... no
checking sys/loadavg.h presence... no
checking for sys/loadavg.h... no
checking sys/lock.h usability... no
checking sys/lock.h presence... no
checking for sys/lock.h... no
checking sys/mkdev.h usability... no
checking sys/mkdev.h presence... no
checking for sys/mkdev.h... no
checking sys/modem.h usability... no
checking sys/modem.h presence... no
checking for sys/modem.h... no
checking sys/sys_domain.h usability... no
checking sys/sys_domain.h presence... no
checking for sys/sys_domain.h... no
checking sys/termio.h usability... no
checking sys/termio.h presence... no
checking for sys/termio.h... no
checking libutil.h usability... no
checking libutil.h presence... no
checking for libutil.h... no
checking bluetooth.h usability... no
checking bluetooth.h presence... no
checking for bluetooth.h... no
checking util.h usability... no
checking util.h presence... no
checking for util.h... no
checking sys/endian.h usability... no
checking sys/endian.h presence... no
checking for sys/endian.h... no
checking for library containing opendir... none required
checking bluetooth/bluetooth.h usability... no
checking bluetooth/bluetooth.h presence... no
checking for bluetooth/bluetooth.h... no
checking Solaris LFS bug... no
checking whether to enable large file support... no
checking for --enable-framework... no
checking for dyld... no
checking for sendfile in -lsendfile... no
checking for shl_load in -ldld... no
checking for textdomain in -lintl... no
checking aligned memory access is required... no
checking for --with-address-sanitizer... no
checking for t_open in -lnsl... no
checking for socket in -lsocket... no
checking for --with-libs... no
checking for pkg-config... no
checking for --with-system-expat... no
checking for --with-system-libmpdec... no
checking for --enable-loadable-sqlite-extensions... no
checking for --with-valgrind... no
checking for --with-dtrace... no
checking MACHDEP_OBJS... none
checking for getentropy... no
checking for lchmod... no
checking for plock... no
checking for pthread_init... no
checking for strlcpy... no
checking for _getpty... no
checking for kqueue... no
checking for ctermid_r... no
checking for broken unsetenv... no
checking for chflags... no
checking for lchflags... no
checking for openpty... no
checking for fseek64... no
checking for ftell64... no
checking getaddrinfo bug... no
checking for struct stat.st_flags... no
checking for struct stat.st_gen... no
checking for struct stat.st_birthtime... no
checking for time.h that defines altzone... no
checking whether char is unsigned... no
checking if sockaddr has sa_len member... no
checking for --with-fpectl... no
checking whether C doubles are big-endian IEEE 754 binary64... no
checking whether C doubles are ARM mixed-endian IEEE 754 binary64... no
checking whether we can use gcc inline assembler to get and set mc68881 fpcr... no
checking for x87-style double rounding... no
checking whether log1p drops the sign of negative zero... no
checking for broken sem_getvalue... no
checking digit size for Python's longs... no value specified
checking for UCS-4 tcl... no
checking whether byte ordering is bigendian... no
checking for broken nice()... no
checking for broken poll()... no
checking for tv_nsec2 in struct stat... no
checking for /dev/ptc... no
checking for broken mbstowcs... no
checking for --with-computed-gotos... no value specified
checking for glibc _FORTIFY_SOURCE/memmove bug... no
checking for gcc ipa-pure-const bug... no
checking for the getrandom() function... no

checking for python3.6... no
checking for --enable-universalsdk... no
checking for --with-universal-archs... no
checking for --without-gcc... no
checking for --with-icc... no
checking whether we are cross compiling... no
checking for gcc option to accept ISO C89... none needed
checking for a sed that does not truncate output... /bin/sed
checking for --with-cxx-main=<compiler>... no
checking for g++... no
  If this is not intended, then set CXX on the configure command line.
checking minix/config.h usability... no
checking minix/config.h presence... no
checking for minix/config.h... no
checking for the Android API level... not Android
checking for case-insensitive build directory... no
checking for --enable-shared... no
checking for --enable-profiling... no
checking for --with-pydebug... no
checking for --enable-optimizations... no
checking for --with-lto... no
checking for -llvm-profdata... no
checking whether gcc accepts and needs -fno-strict-aliasing... no
checking if we can turn on gcc unreachable code warning... no
checking whether pthreads are available without options... no
checking whether gcc accepts -Kpthread... no
checking whether gcc accepts -Kthread... no
checking conio.h usability... no
checking conio.h presence... no
checking for conio.h... no
checking direct.h usability... no
checking direct.h presence... no
checking for direct.h... no
checking ieeefp.h usability... no
checking ieeefp.h presence... no
checking for ieeefp.h... no
checking io.h usability... no
checking io.h presence... no
checking for io.h... no
checking process.h usability... no
checking process.h presence... no
checking for process.h... no
checking sys/devpoll.h usability... no
checking sys/devpoll.h presence... no
checking for sys/devpoll.h... no
checking sys/audioio.h usability... no
checking sys/audioio.h presence... no
checking for sys/audioio.h... no
checking sys/bsdtty.h usability... no
checking sys/bsdtty.h presence... no
checking for sys/bsdtty.h... no
checking sys/event.h usability... no
checking sys/event.h presence... no
checking for sys/event.h... no
checking sys/kern_control.h usability... no
checking sys/kern_control.h presence... no
checking for sys/kern_control.h... no
checking sys/loadavg.h usability... no
checking sys/loadavg.h presence... no
checking for sys/loadavg.h... no
checking sys/lock.h usability... no
checking sys/lock.h presence... no
checking for sys/lock.h... no
checking sys/mkdev.h usability... no
checking sys/mkdev.h presence... no
checking for sys/mkdev.h... no
checking sys/modem.h usability... no
checking sys/modem.h presence... no
checking for sys/modem.h... no
checking sys/sys_domain.h usability... no
checking sys/sys_domain.h presence... no
checking for sys/sys_domain.h... no
checking sys/termio.h usability... no
checking sys/termio.h presence... no
checking for sys/termio.h... no
checking libutil.h usability... no
checking libutil.h presence... no
checking for libutil.h... no
checking bluetooth.h usability... no
checking bluetooth.h presence... no
checking for bluetooth.h... no
checking util.h usability... no
checking util.h presence... no
checking for util.h... no
checking sys/endian.h usability... no
checking sys/endian.h presence... no
checking for sys/endian.h... no
checking for library containing opendir... none required
checking bluetooth/bluetooth.h usability... no
checking bluetooth/bluetooth.h presence... no
checking for bluetooth/bluetooth.h... no
checking Solaris LFS bug... no
checking whether to enable large file support... no
checking for --enable-framework... no
checking for dyld... no
checking for sendfile in -lsendfile... no
checking for shl_load in -ldld... no
checking for textdomain in -lintl... no
checking aligned memory access is required... no
checking for --with-address-sanitizer... no
checking for t_open in -lnsl... no
checking for socket in -lsocket... no
checking for --with-libs... no
checking for pkg-config... no
checking for --with-system-expat... no
checking for --with-system-libmpdec... no
checking for --enable-loadable-sqlite-extensions... no
checking for --with-valgrind... no
checking for --with-dtrace... no
checking MACHDEP_OBJS... none
checking for getentropy... no
checking for lchmod... no
checking for plock... no
checking for pthread_init... no
checking for strlcpy... no
checking for _getpty... no
checking for kqueue... no
checking for ctermid_r... no
checking for broken unsetenv... no
checking for chflags... no
checking for lchflags... no
checking for openpty... no
checking for fseek64... no
checking for ftell64... no
checking getaddrinfo bug... no
checking for struct stat.st_flags... no
checking for struct stat.st_gen... no
checking for struct stat.st_birthtime... no
checking for time.h that defines altzone... no
checking whether char is unsigned... no
checking if sockaddr has sa_len member... no
checking for --with-fpectl... no
checking whether C doubles are big-endian IEEE 754 binary64... no
checking whether C doubles are ARM mixed-endian IEEE 754 binary64... no
checking whether we can use gcc inline assembler to get and set mc68881 fpcr... no
checking for x87-style double rounding... no
checking whether log1p drops the sign of negative zero... no
checking for broken sem_getvalue... no
checking digit size for Python's longs... no value specified
checking for UCS-4 tcl... no
checking whether byte ordering is bigendian... no
checking for broken nice()... no
checking for broken poll()... no
checking for tv_nsec2 in struct stat... no
checking for /dev/ptc... no
checking for broken mbstowcs... no
checking for --with-computed-gotos... no value specified
checking for glibc _FORTIFY_SOURCE/memmove bug... no
checking for gcc ipa-pure-const bug... no
checking for the getrandom() function... no

관련 정보