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

ベストアンサー1

おすすめ記事