故障表现

make -f Makefile_linux linux_x86_64
gcc -B/usr/lib/x86_64-linux-gnu -fpic -D_REENTRANT -D_GNU_SOURCE  -I. -c -o exec_pty_x86_64.o exec_pty.c
gcc: 致命错误:cannot execute ‘cc1’: execvp: 权限不够
编译中断。
make: *** [Makefile_linux:77:exec_pty_x86_64.o] 错误 1

故障排除

采用root权限运行

[yeqiang@localhost native]$ sudo make -f Makefile_linux linux_x86_64
[sudo] yeqiang 的密码:
gcc -B/usr/lib/x86_64-linux-gnu -fpic -D_REENTRANT -D_GNU_SOURCE  -I. -c -o exec_pty_x86_64.o exec_pty.c
gcc -B/usr/lib/x86_64-linux-gnu -fpic -D_REENTRANT -D_GNU_SOURCE  -I. -c -o openpty_x86_64.o openpty.c
gcc -B/usr/lib/x86_64-linux-gnu -fpic -D_REENTRANT -D_GNU_SOURCE  -I. -c -o pfind_x86_64.o pfind.c
mkdir -p ../os/linux/x86_64
gcc -g -shared -Wl,-soname,libpty.so  -o ../os/linux/x86_64/libpty.so exec_pty_x86_64.o openpty_x86_64.o pfind_x86_64.o

说明:银河麒麟修改了chmod、导致安装文件权限一般未700而不是755,gcc是root安装的,因此只有root能够访问安装的gcc及其相关工具、库。在直到安装目标文件情况下,可以通过以下指令手动调整文件或目录权限

chmod 755 filename 
chmod 755 dirname/ -R

 

Logo

更多推荐