LinuxSir.cn,穿越时空的Linuxsir!

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

启动盘创建时编译devfsd出现错误

[复制链接]
发表于 2003-11-26 22:00:45 | 显示全部楼层 |阅读模式
Blfs创建启动盘时,到freshmeat下载devfsd并进行make。
出错信息:
cc -O2 -I. -Wall    -c -o devfsd.o devfsd.c
devfsd.c: In function `free_config':
devfsd.c:1386: error: `RTLD_NEXT' undeclared (first use in this function)
devfsd.c:1386: error: (Each undeclared identifier is reported only once
devfsd.c:1386: error: for each function it appears in.)
devfsd.c: In function `get_shared_object':
devfsd.c:1702: error: `RTLD_NEXT' undeclared (first use in this function)
make: *** [devfsd.o] Error 1

内核配置没有选上devfs,因为选上了系统boot时就swapon就会失败。
不知道有没有关系呢?

另外,/var/utmp不存在。究竟为什么呢?

请各位帮忙。
发表于 2003-11-27 00:38:37 | 显示全部楼层
内核是否选上devfs在编译devfsd应该是没有关系的。
你看看是否有哪个库文件的加载有误。
看看源码devfsd.c里面include那些行是否有哪个文件定义了 RTLD_NEXT看看有没有漏了。我是一直都是一次性OK,所以没有遇到你所说的情况,也说不好。
看看版主有没有遇到过这样的情况。
 楼主| 发表于 2003-11-27 13:07:28 | 显示全部楼层

奇怪,为什么会加载库错误呢

如果是一个完整的devfsd源码目录,应该不会编译错误啊。我是在freshmeat上下载的。
[root@homestudio /tmp/devfsd]# ls
Makefile       devfsd.8  devfsd.conf  expression.c  version.h
compat_name.c  devfsd.c  devfsd.h     karma.h

另外,我也不知道怎样去找定义RTLD_NEXT的头文件。
我查看了一下devfsd.c,好像有使用到modprobe。是不是要求内核包含devfs或者把devfs编译成模块呢?
 楼主| 发表于 2003-11-27 13:08:25 | 显示全部楼层

另外,为什么我没有/var/utmp呢?

是不是我的内核配置得不符合要求呢?
发表于 2003-11-27 13:27:48 | 显示全部楼层
那可难说了,有的时候软件包下载回来就是编译不过的,尤其是更新比较慢的软件包。
 楼主| 发表于 2003-11-27 13:31:56 | 显示全部楼层

那老大提供个下载地址吧

freshmeat应该可以吧,不过校园网难上啊。
发表于 2003-11-27 13:35:52 | 显示全部楼层
我能下载的地址,你不一定能下,呵呵,比如sourceforge的二级域名。
 楼主| 发表于 2003-11-27 18:38:27 | 显示全部楼层

使用devfsd需要内核对devfs的支持吧

置顶帖子里有"devfs的使用":
http://www.linuxsir.cn/bbs/showthread.php?s&threadid=18586

里面推荐使用devfs而非/dev/pty,lfs-5.0却使用/dev/pty,而blfs(20030629)文档提及创建启动盘时又使用devfsd,真是费解。究竟哪个好呢?

照理说devfsd是用于启动盘上的内核来启动devfs的吧,上面的帖子就是这个意思,而启动盘上的内核也正来源于我之前编译的内核(并未选择devfs选项),但ftyh兄又说devfsd是否编译成功应该和内核是否支持devfs无关。

现在我就是不能正确编译devfsd,唉。。。

究竟是怎么个说法呢?请tram老大和ftyh兄详细指点。谢了。
发表于 2003-11-27 21:44:03 | 显示全部楼层
在做基本系统的时候,在进行DEVFSD的编译时,所使用的系统内核应该是主系统的吧。我的主系统也是没有DEVFS的支持的。但是可以编译通过的。然后编译了LFS的内核,之后都做完了之基本系统启动起来之后才是真正的使用了LFS的内核了。当然你的LFS的内核当然是要选上支持DEVFS的。不然的话,你的基本系统是启动不了的。会出现找不到分区的提示。
不知道这样说得是否正确。(其实我被问了一下,我自己也有点不清楚了)我的理解是这样的。不好意思了!
 楼主| 发表于 2003-11-27 21:58:39 | 显示全部楼层

ftyh兄,你在lfs里用portage吗?

可以提供portage的ebuild文件吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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