разрешение make install отклонено, даже если передана настройка --prefix - PullRequest
4 голосов
/ 11 июля 2010

Я пытаюсь установить 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

Почему он все еще хочетчтобы скопировать материал в / usr / lib, когда я указал префикс / home / user / myroot?

Кстати, я использую Ubuntu 9.10, если это имеет значение.Я уже установил build-essential, gawk, flex, bison и libmpfr.

1 Ответ

5 голосов
/ 11 июля 2010

Почему вы установили libexecdir на /usr/lib?Это означает, что он должен будет установить вещи в /usr/lib, каталог, в который вы не можете писать.

Возможно, вы захотите --libexecdir=/home/user/myroot/usr/lib

...