我正在尝试在运行Raspbian Jessie的Raspberry Pi上从源代码构建和安装python 3.6.2。这是构建过程的过程:

$ ./configure --enable-optimizations --enable-ipv6  # everything seems fine
$ make -s -j$(nproc) # everything seems fine except for a few tests being skipped
$ make test  # again, a few tests are skipped
$ sudo checkinstall -D make altinstall  # FAILURE


错误是:

*snip*
running install_lib
copying build/lib.linux-armv7l-3.6/_codecs_cn.cpython-36m-arm-linux-gnueabihf.so -> /usr/local/lib/python3.6/lib-dynload
error: [Errno 2] No such file or directory
Makefile:1451: recipe for target 'sharedinstall' failed
make: *** [sharedinstall] Error 1

****  Installation failed. Aborting package creation.

Cleaning up...OK

Bye.


但是,该文件确实存在,目的地也存在:

$ ls build/lib.linux-armv7l-3.6/_codecs_cn.cpython-36m-arm-linux-gnueabihf.so
build/lib.linux-armv7l-3.6/_codecs_cn.cpython-36m-arm-linux-gnueabihf.so
$ ls /usr/local/lib/python3.6
config-3.6m-arm-linux-gnueabihf  lib-dynload


基本上是wtf。我尝试在Makefilesetup.py中四处寻找,但实际上没有时间完全掌握整个构建过程。这可能是怎么回事?我应该放弃使用checkinstall吗?欢迎任何建议。

最佳答案

事实证明,这是一个checkinstall错误,有些描述。我咬住子弹,跑了sudo make altinstall,一切顺利。我对checkinstall进行了更多研究,它似乎有一些...困难的错误。我最多不会将其标记为“越野车”,并且它在大多数情况下都运行良好,但是有时会出错,而且似乎没有太多可做的事情。

10-05 23:45