无法为x86、uclibc交叉编译Python2.7.18

2024-06-26 13:25:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试使用crosstool ng示例工具链为x86 uclibc机器交叉编译Python 2.7.18。使用的命令如下:

CONFIG_SITE=config.site CC=/home/msainz/x-tools/x86_64-unknown-linux-uclibc/bin/x86_64-unknown-linux-uclibc-gcc CXX=/home/msainz/x-tools/x86_64-unknown-linux-uclibc/bin/x86_64-unknown-linux-uclibc-g++ AR=/home/msainz/x-tools/x86_64-unknown-linux-uclibc/bin/x86_64-unknown-linux-uclibc-ar RANLIB=/home/msainz/x-tools/x86_64-unknown-linux-uclibc/bin/x86_64-unknown-linux-uclibc-ranlib READELF=/home/msainz/x-tools/x86_64-unknown-linux-uclibc/bin/x86_64-unknown-linux-uclibc-readelf LDFLAGS="-L/home/msainz/Projects/Selene/WP3/local/uclibc/base_rootfs/lib -L/home/msainz/Projects/Selene/WP3/local/uclibc/base_rootfs/usr/lib" CFLAGS="-I/home/msainz/Projects/Selene/WP3/local/uclibc/base_rootfs/usr/include -I/home/msainz/Projects/Selene/WP3/local/uclibc/base_rootfs/include" CPPFLAGS="-I/home/msainz/Projects/Selene/WP3/local/uclibc/base_rootfs/usr/include -I/home/msainz/Projects/Selene/WP3/local/uclibc/base_rootfs/include" ./configure --enable-shared --host=x86_64-unknown-linux-uclibc --build=x86_64 --disable-ipv6 --prefix=/home/msainz/Projects/python2_top_uclibc/

PATH=$PATH:/home/msainz/Projects/python2_top_glibc/bin/ make

PATH=$PATH:/home/msainz/Projects/python2_top_glibc/bin/ make install

执行结束时出现以下错误:

fi /home/msainz/x-tools/x86_64-unknown-linux-uclibc/bin/x86_64-unknown-linux-uclibc-gcc -L/home/msainz/Projects/Selene/WP3/local/uclibc/base_rootfs/lib -L/home/msainz/Projects/Selene/WP3/local/uclibc/base_rootfs/usr/lib -Xlinker -export-dynamic -o python \ Modules/python.o \ -L. -lpython2.7 -ldl -lpthread -lm _PYTHON_PROJECT_BASE=/home/msainz/Projects/Python-2.7.18 _PYTHON_HOST_PLATFORM=linux2-x86_64 PYTHONPATH=./Lib:./Lib/plat-linux2 python -S -m sysconfig --generate-posix-vars ;\ if test $? -ne 0 ; then \ echo "generate-posix-vars failed" ; \ rm -f ./pybuilddir.txt ; \ exit 1 ; \ fi python: error while loading shared libraries: libc.so.0: cannot open shared object file: No such file or directory generate-posix-vars failed make: *** [Makefile:523: pybuilddir.txt] Error 1

python2_top_glibcdir包含以前的Python-2.7.18安装,但是对于本机glibc来说,它编译得非常完美。libc.so.0实际上位于目标系统的基本rootfs中,在./configure阶段链接。我现在被这件事难住了。任何线索都将不胜感激。任何附加信息将根据需要提供

提前谢谢


Tags: homebasebinlinuxliblocaltoolsx86
1条回答
网友
1楼 · 发布于 2024-06-26 13:25:40

python: cannot open shared object file: No such file or directory

这是一个运行时加载程序错误。您正在尝试运行一个python可执行文件,该可执行文件链接到该libc.so.0

如果此可执行文件实际上可以在主机环境中运行,则可以通过将base_rootfs库添加到LD_LIBRARY_PATH来启用它。否则,您需要在构建过程的这一步中使用宿主python可执行文件,或者完全禁用它

相关问题 更多 >