尝试安装gcc时权限被拒绝,即使以root用户身份登录

尝试安装gcc时权限被拒绝,即使以root用户身份登录,gcc,makefile,installation,root,permission-denied,Gcc,Makefile,Installation,Root,Permission Denied,我正试图在Ubuntu10.04上安装GCC4.7.0。在安装依赖项一段时间后,我已经能够运行make而没有错误,但是最后一步make安装不希望成功,它最终导致权限被拒绝 以下是我所做的: ../gcc-4.7.0/configure --prefix=/usr/local/gcc/4.7.7 --enable-languages=c,c++ make su -l cd /groups/gobj make install 最后一个命令的结果: make[1]: Entering directo

我正试图在Ubuntu10.04上安装GCC4.7.0。在安装依赖项一段时间后,我已经能够运行make而没有错误,但是最后一步make安装不希望成功,它最终导致权限被拒绝

以下是我所做的:

../gcc-4.7.0/configure --prefix=/usr/local/gcc/4.7.7 --enable-languages=c,c++
make
su -l
cd /groups/gobj
make install
最后一个命令的结果:

make[1]: Entering directory `/groups/gobj'
/bin/bash ../gcc-4.7.0/mkinstalldirs /usr/local/gcc/4.7.7 /usr/local/gcc/4.7.7
make[2]: Entering directory `/groups/gobj/fixincludes' 
rm -rf /usr/local/gcc/4.7.7/libexec/gcc/x86_64-unknown-linux-gnu/4.7.0/install-tools
/bin/bash ../../gcc-4.7.0/fixincludes/../mkinstalldirs /usr/local/gcc/4.7.7/libexec
...
rm -f /usr/local/gcc/4.7.7/share/info/gccinstall.info
if [ -f doc/gccinstall.info ]; then \
      for f in doc/gccinstall.info*; do \
        realfile=`echo $f | sed -e 's|.*/\([^/]*\)$|\1|'`; \
        /usr/bin/install -c -m 644 $f /usr/local/gcc/4.7.7/share/info/$realfile; \
        chmod a-x /usr/local/gcc/4.7.7/share/info/$realfile; \
      done; \
    else true; fi
if /bin/bash -c 'install-info --version' >/dev/null 2>&1; then \
      if [ -f /usr/local/gcc/4.7.7/share/info/gccinstall.info ]; then \
        install-info --dir-file=/usr/local/gcc/4.7.7/share/info/dir /usr/local/gcc/4.7.7/share/info/gccinstall.info; \
      else true; fi; \
    else true; fi;
build/genhooks -d \
                    ../../gcc-4.7.0/gcc/doc/tm.texi.in > tmp-tm.texi
/bin/bash: tmp-tm.texi: Permission denied
make[2]: *** [s-tm-texi] Error 1
make[2]: Leaving directory `/groups/gobj/gcc'
make[1]: *** [install-gcc] Error 2
make[1]: Leaving directory `/groups/gobj'
make: *** [install] Error 2
我已经试过su-root,su-,su,但没有成功。一些文件被有效地复制到/usr/local/gcc/4.7.0,但是进程停止了,我不明白为什么,因为我是以root用户身份登录的。我已经检查过,文件/groups/gcc-4.7.0/gcc/doc/tm.texi.in存在。有什么帮助吗?

你试过sudo吗

sudo make install
编辑:

作为root用户,您可以将自己添加到sudoers。 如果您无法通过sudo获得root,请尝试这两种方法

su - root


听起来令人费解的是,超级用户“root”无法创建文件,而普通用户可以创建文件,一种可能的情况是,您的生成目录(即运行“
make install
”的目录)由NFS服务器提供服务,而且它的装载方式可能会使服务器不信任构建机器将文件作为根用户写入的请求

作为一个简单的测试,请查看是否可以通过以root用户身份运行
touch test
将空文件写入构建目录。如果失败了,那么你已经找到了问题的根源。另一种确认方法是检查“
mount
”的输出,至少确认您的构建目录是通过NFS提供的

server:/groups      20G  948M   19G   5% /groups
如果您在装载输出中看到这样一行,那么您肯定知道您的构建目录正在被NFS装载。但是,要判断root是否受信任,最终必须检查NFS服务器上的设置

解决问题
解决此问题的最快方法是在生成计算机上找到本地文件系统,并将生成目录的内容移到那里,然后重新运行“
makeinstall
”.

组/gcc-4.7.0/gcc/doc/tmp tm.texi或组/gcc-4.7.0/gcc/doc/的权限是什么?/groups/gcc-4.7.0/gcc/doc/tmp-tm.texi不存在和/groups/gcc-4.7.0/gcc/doc/:drwxr-xr-x 3 laurencew用户10240 2012-03-22 09:30 doc我已设法将其安装在组的子目录中,但希望了解/usr/local中的安装情况
tmp tm.texi
有问题。可能是
build/genhooks
期望它在那里。我要么
makedistclean
并重新生成,要么如果没有文档,构建就无法工作(检查
configure
标志)。我认为构建没有问题,因为我能够在/groups中安装它,并且在构建之前我使用makedistclean(与之前所有失败的尝试一样,导致引导比较失败)。您是否尝试过sudo-i;cd'ing到安装目录,然后运行make install?如果没有,错误是什么?您可以编辑原始帖子以添加错误。抱歉,前面的评论是错误的。我无法将sudo与我的帐户一起使用,因为我的帐户不在sudoer组中。但是我已经获得了我计算机的root密码。谢谢Juri,但它是这不是我的个人电脑,我在一家公司做实习。我不能把我的用户添加到Sudoer-Guy。我在这个主题上阅读的内容通常是在root下登录时解决的。这就是我一直在做的。我不明白为什么它不适用于我的情况。如果只有你应该使用GCC,考虑编译GCC到你的家。目录。这是我一直在做的事情(不是在/home中,而是在另一个文件夹中),它可以工作,但我真的理解为什么我不能作为root用户在/usr/local中安装它。否则我的问题就解决了。
server:/groups      20G  948M   19G   5% /groups