Ubuntu 23.10下编译Python 3.10.13源码失败求助
Python 3.10.13编译时gcc权限拒绝问题解决
环境与操作背景
- 系统:Ubuntu 23.10
- 配置命令:
./configure --prefix=/home/goodstealing/.python3.10.13 --enable-loadable-sqlite-extensions --enable-optimizations
注:
--enable-loadable-sqlite-extensions参数用于适配flask_sqlalchemy的正常运行
执行make -j编译时触发错误,核心报错片段:
gcc -c -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fno-semantic-interposition -std=c99 -Wextra -Wno-unused-result -Wno-unused-parameter -Wno-missing-field-initializers -Werror=implicit-function-declaration -fvisibility=hidden -fprofile-generate -I./Include/internal -I. -I./Include -DPy_BUILD_CORE -o Programs/python.o ./Programs/python.c make[3]: gcc: Permission denied make[3]: *** [Makefile:813: Programs/python.o] Error 127
补充的Programs目录权限信息:
total 76 drwxr-xr-x 2 goodstealing goodstealing 4096 Aug 24 2023 . drwxr-xr-x 16 goodstealing goodstealing 4096 Feb 29 22:44 .. -rw-r--r-- 1 goodstealing goodstealing 4782 Aug 24 2023 _freeze_importlib.c -rw-r--r-- 1 goodstealing goodstealing 266 Aug 24 2023 python.c -rw-r--r-- 1 goodstealing goodstealing 67 Aug 24 2023 README -rw-r--r-- 1 goodstealing goodstealing 49614 Aug 24 2023 _testembed.c
问题分析与解决步骤
1. 确认gcc是否安装且可执行
先检查gcc是否存在:
gcc --version
若提示命令不存在,执行以下命令安装gcc:
sudo apt update && sudo apt install gcc
2. 修复gcc的执行权限
如果gcc已安装但仍提示权限拒绝,检查gcc的权限配置:
ls -la $(which gcc)
正常情况下,gcc的权限应为-rwxr-xr-x(所有用户可执行)。若权限不足,执行:
sudo chmod +x $(which gcc)
3. 确保源码目录的读写权限
虽然Programs目录权限正常,但需保证整个Python源码目录对当前用户开放读写:
chmod -R u+rw /home/goodstealing/Python-3.10.13
4. 重新执行编译流程
先清理之前的编译残留:
make clean
再重新配置并编译:
./configure --prefix=/home/goodstealing/.python3.10.13 --enable-loadable-sqlite-extensions --enable-optimizations make -j$(nproc)
内容的提问来源于stack exchange,提问作者goodstealing
相关产品推荐
相关产品推荐

