LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1108|回复: 7

急啊~~作lfs,第一次编译gcc的时候报错了~~

[复制链接]
发表于 2005-11-29 18:03:10 | 显示全部楼层 |阅读模式
我用的是as4作的宿主系统,如下错误:
$make install

mkdir -p -- /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.3
mkdir: cannot create directory `/usr/local/lib/gcc': Permission denied
make[1]: *** [installdirs] Error 1
make[1]: Leaving directory `/mnt/lfs/sources/gcc-build/gcc'
make: *** [install-gcc] Error 2

怎么回事?怎么让我去创建/usr里面的东西阿?
发表于 2005-11-29 19:04:30 | 显示全部楼层
严格按照文档来做!
mkdir -p -- /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.3
mkdir: cannot create directory `/usr/local/lib/gcc': Permission denied
看样子是没有权限!
回复 支持 反对

使用道具 举报

发表于 2005-11-29 19:10:40 | 显示全部楼层
前面的一些步骤呢?
还有就是你用的是什么用户名进去的呢?
用的是什么版本的LFS-Book呢?
怎么会有要将gcc安装到/usr/local/下面去的呢?好像前面的步骤配置就错了。
回复 支持 反对

使用道具 举报

发表于 2005-11-29 22:42:55 | 显示全部楼层
不用root还是好,要不然就得麻烦删东西了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-11-30 11:28:10 | 显示全部楼层
Post by 休想
严格按照文档来做!
mkdir -p -- /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.3
mkdir: cannot create directory `/usr/local/lib/gcc': Permission denied
看样子是没有权限!



我做的是Linux From Scratch - Version 6.1,按照文档,在做好环境之后,先安装Binutils-2.15.94.0.2.2,顺利完成,接下来就做gcc,步骤如下:
用分区软件先分了一个linux分区,然后再安装的as4,结果这个分区就自己变成了/dev/hda1,as4的跟分区成了/dev/hda2,还有个swap分区。跟分区是安装时用ext3格式化的。

装好之后,执行:
mke2fs /dev/hda1  将该分区转换成ext2格式
然后执行:
export LFS=/mnt/lfs
mkdir -p $LFS
mount /dev/hda1 $LFS  将其挂在到/mnt/lfs下面

这里出现了一个问题,就是我每次重新启动系统的时候都必须重新挂载以下,要不认不出/dev/hda1这个分区~~

然后再这个分区下面建立sources、tools目录:
mkdir $LFS/sources
chmod a+wt $LFS/sources
mkdir $LFS/tools
ln -s $LFS/tools /

添加lfs用户,设环境:
#groupadd lfs
#useradd -s /bin/bash -g lfs -m -k /dev/null lfs
#passwd lfs
#chown lfs $LFS/tools
#chown lfs $LFS/sources
#su - lfs

$cat > ~/.bash_profile << "EOF"
〉exec env -i HOME=$HOME TERM=$TERM PS1='\u:\w\$ ' /bin/bash
〉EOF

$cat > ~/.bashrc << "EOF"
〉set +h
〉umask 022
〉LFS=/mnt/lfs
〉LC_ALL=POSIX
〉PATH=/tools/bin:/bin:/usr/bin
〉export LFS LC_ALL PATH
〉EOF


$source ~/.bash_profile


接下来就是安装编译了,首先是Binutils-2.15.94.0.2.2:
解包的过程就不说了,我是在source下面建了一个目录(文档上说最好用一个新建的目录来编译它)binutils-build:
$mkdir binutils-build
$cd binutils-build
$../binutils-2.15.94.0.2.2/configure --prefix=/tools --disable-nls
$make
$make install
$make -C ld clean
$make -C ld LIB_PATH=/tools/lib
这个大概花了半小时的时间,之后作gcc:
$mkdir gcc-build
$cd gcc-build


$../gcc-3.4.3/configure --prefix=/tools \
    --libexecdir=/tools/lib --with-local-prefix=/tools \
    --disable-nls --enable-shared --enable-languages=c
这个我是分开执行的:
$../gcc-3.4.3/configure --prefix=/tools
$../gcc-3.4.3/configure --libexecdir=/tools/lib --with-local-prefix=/tools
$../gcc-3.4.3/configure --disable-nls --enable-shared --enable-languages=c
是不是这里出错了?那两个“\”是什么意思啊?

然后
$make bootstrap
$make install   就抱了我所说的错误。

版主帮忙分析一下,谢谢!!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-11-30 11:32:59 | 显示全部楼层
对了,我是用vmare虚拟机作的实验。
奇怪就在这里:mkdir -p -- /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.3,为什么要跑到/usr下面作东西呢 ??
回复 支持 反对

使用道具 举报

发表于 2005-11-30 16:08:45 | 显示全部楼层
这里不能分开执行,那后面的"\" 表示换行,但还是一个命令。这里出错了。所以说,要严格按书执行,特别是不知道什么意思的情况下:)

这个我是分开执行的:
$../gcc-3.4.3/configure --prefix=/tools
$../gcc-3.4.3/configure --libexecdir=/tools/lib --with-local-prefix=/tools
$../gcc-3.4.3/configure --disable-nls --enable-shared --enable-languages=c
是不是这里出错了?那两个“\”是什么意思啊?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-12-1 10:26:17 | 显示全部楼层
哦 ,谢谢!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表