我正在尝试使用一个交叉库ng示例工具链交叉编译Python2.7.18用于x86,uclibc机器。所使用的命令如下:
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_glibc dir包含以前的Python-2.7.18安装,但是对于本机glibc,编译得很好。实际上,libc.so.0位于目标系统的base_rootfs中,该系统正在./配置阶段进行链接。我现在被困在这里了。任何线索都将不胜感激。任何额外的信息将按需提供。
提前谢谢。
发布于 2020-11-19 10:41:47
python:无法打开共享对象文件:没有这样的文件或目录
这是一个运行时加载程序错误.您正在尝试运行一个与该python链接的libc.so.0可执行文件。
如果此可执行文件能够在宿主环境中实际运行,则可以通过将base_rootfs库添加到LD_LIBRARY_PATH来启用它。否则,您需要在构建过程的这一步骤中使用宿主python可执行文件,或者完全禁用它。
https://stackoverflow.com/questions/64909671
复制相似问题