即使将 --prefix 传递给配置,也使安装权限被拒绝
Posted
技术标签:
【中文标题】即使将 --prefix 传递给配置,也使安装权限被拒绝【英文标题】:make install permission denied even with --prefix passed to configure 【发布时间】:2010-07-11 04:44:06 【问题描述】:我正在尝试安装 gcc(gcc 的一个分支,而不是 svn 中的主干),我将其配置为:
./configure --prefix=/home/user/myroot/ --enable-languages=c,c++ \
--disable-multilib --libexecdir=/usr/lib --without-included-gettext \
--enable-threads=posix --disable-werror --with-arch-32=i486 \
--with-tune=generic --enable-checking=release --build=i486-linux-gnu \
--host=i486-linux-gnu --target=i486-linux-gnu
/home/user/myroot 是一个存在的目录。
当我运行 make 时,它可以很好地构建 gcc。
但是,当我进行 make install 时,我得到的是:
make[1]: Entering directory `/home/user/gcc/gcc-cjung'
/bin/bash ./mkinstalldirs /home/user/myroot /home/user/myroot
make[2]: Entering directory `/home/user/gcc/gcc-cjung/host-i486-linux-gnu/fixincludes'
rm -rf /usr/lib/gcc/i486-linux-gnu/4.5.0/install-tools
/bin/bash ../.././fixincludes/../mkinstalldirs /usr/lib/gcc/i486-linux-gnu/4.5.0/install-tools
mkdir -p -- /usr/lib/gcc/i486-linux-gnu/4.5.0/install-tools
mkdir: cannot create directory `/usr/lib/gcc/i486-linux-gnu/4.5.0': Permission denied
make[2]: *** [install] Error 1
make[2]: Leaving directory `/home/user/gcc/gcc-cjung/host-i486-linux-gnu/fixincludes'
make[1]: *** [install-fixincludes] Error 2
make[1]: Leaving directory `/home/user/gcc/gcc-cjung'
make: *** [install] Error 2
为什么我指定前缀为 /home/user/myroot 时,它还想复制东西到 /usr/lib?
顺便说一句,如果这很重要,我正在使用 Ubuntu 9.10。我已经安装了 build-essential、gawk、flex、bison 和 libmpfr。
【问题讨论】:
【参考方案1】:为什么将libexecdir
设置为/usr/lib
?这意味着它必须将东西安装到/usr/lib
,这是一个您无法写入的目录。
你可能想要--libexecdir=/home/user/myroot/usr/lib
【讨论】:
啊,我看到我失败了。我只是从某个地方复制/粘贴,并没有意识到额外的标志。谢谢!以上是关于即使将 --prefix 传递给配置,也使安装权限被拒绝的主要内容,如果未能解决你的问题,请参考以下文章