[问题]有关drcom的编译错误....

系统安装、升级讨论
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
回复
AuirEx
帖子: 154
注册时间: 2007-04-22 21:52

[问题]有关drcom的编译错误....

#1

帖子 AuirEx » 2007-05-25 9:35

小弟安装drcom遇到问题。在对drcomsuite-0.1.12文件用make时提示出错,希望能够有人解答!先谢谢了!以下是提示信息:
root@fancy:/tmp# cd drcomsuite-0.1.12
root@fancy:/tmp/drcomsuite-0.1.12# make
make -C include
make[1]: Entering directory `/tmp/drcomsuite-0.1.12/include'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/tmp/drcomsuite-0.1.12/include'
make -C drcomc
make[1]: Entering directory `/tmp/drcomsuite-0.1.12/drcomc'
gcc -Wall -W -Wstrict-prototypes -Wmissing-prototypes -pedantic -I/tmp/drcomsuite-0.1.12 -I/tmp/drcomsuite-0.1.12/include -O2 -c -o drcomc.o drcomc.c
gcc drcomc.o -o drcomc
make[1]: Leaving directory `/tmp/drcomsuite-0.1.12/drcomc'
make -C drcomcd
make[1]: Entering directory `/tmp/drcomsuite-0.1.12/drcomcd'
gcc -Wall -W -Wstrict-prototypes -Wmissing-prototypes -pedantic -I/tmp/drcomsuite-0.1.12 -I/tmp/drcomsuite-0.1.12/include -O2 -DREENTRANT -c -o drcomcd.o drcomcd.c
gcc -Wall -W -Wstrict-prototypes -Wmissing-prototypes -pedantic -I/tmp/drcomsuite-0.1.12 -I/tmp/drcomsuite-0.1.12/include -O2 -DREENTRANT -c -o daemon.o daemon.c
gcc -ldrcom -lpthread drcomcd.o daemon.o -o drcomcd
make[1]: Leaving directory `/tmp/drcomsuite-0.1.12/drcomcd'
make -C module
make[1]: Entering directory `/tmp/drcomsuite-0.1.12/module'
make -C Linux
make[2]: Entering directory `/tmp/drcomsuite-0.1.12/module/Linux'
make -C 2.6.x
make[3]: Entering directory `/tmp/drcomsuite-0.1.12/module/Linux/2.6.x'
make -C /lib/modules/2.6.20-15-generic/build M=/tmp/drcomsuite-0.1.12/module/Linux/2.6.x modules
make[4]: Entering directory `/usr/src/linux-headers-2.6.20-15-generic'
CC [M] /tmp/drcomsuite-0.1.12/module/Linux/2.6.x/init.o
CC [M] /tmp/drcomsuite-0.1.12/module/Linux/2.6.x/proc.o
CC [M] /tmp/drcomsuite-0.1.12/module/Linux/2.6.x/proto.o
/tmp/drcomsuite-0.1.12/module/Linux/2.6.x/proto.c:73: 警告: 初始化丢弃了指针目标类型的限定
/tmp/drcomsuite-0.1.12/module/Linux/2.6.x/proto.c: 在函数 ‘init_proto’ 中:
/tmp/drcomsuite-0.1.12/module/Linux/2.6.x/proto.c:306: 错误: 向只读变量 ‘inet_stream_ops’ 赋值
/tmp/drcomsuite-0.1.12/module/Linux/2.6.x/proto.c:309: 错误: 向只读变量 ‘inet_dgram_ops’ 赋值
/tmp/drcomsuite-0.1.12/module/Linux/2.6.x/proto.c: 在函数 ‘cleanup_proto’ 中:
/tmp/drcomsuite-0.1.12/module/Linux/2.6.x/proto.c:322: 错误: 向只读变量 ‘inet_dgram_ops’ 赋值
/tmp/drcomsuite-0.1.12/module/Linux/2.6.x/proto.c:323: 错误: 向只读变量 ‘inet_stream_ops’ 赋值
make[5]: *** [/tmp/drcomsuite-0.1.12/module/Linux/2.6.x/proto.o] 错误 1
make[4]: *** [_module_/tmp/drcomsuite-0.1.12/module/Linux/2.6.x] 错误 2
make[4]: Leaving directory `/usr/src/linux-headers-2.6.20-15-generic'
make[3]: *** [all] 错误 2
make[3]: Leaving directory `/tmp/drcomsuite-0.1.12/module/Linux/2.6.x'
make[2]: *** [all] 错误 2
make[2]: Leaving directory `/tmp/drcomsuite-0.1.12/module/Linux'
make[1]: *** [all] 错误 2
make[1]: Leaving directory `/tmp/drcomsuite-0.1.12/module'
make: *** [module] 错误 2
补充说我的编译环境应该已经创建好,唯一有疑问的是有关gcc版本的。说是需要3.4版本的,我的ubuntu是7.04(feisty),自然版本过高。我想问是不是在新立得里装上3.4的就行了?我用uname –r查看还是显示4.1版!想卸4.1好像不是那么简单,它跟很多文件关联啊!

顺便贴出我对libdrcom-0.0-20050423-2文件make是的提示,里面应该没什么问题了吧?!
root@fancy:/tmp/libdrcom-0.0-20050423-2# make
gcc -Wall -Wextra -Wstrict-prototypes -Wmissing-prototypes -pedantic -Iinclude -O2 -D_REENTRANT -c -o src/init.o src/init.c
gcc -Wall -Wextra -Wstrict-prototypes -Wmissing-prototypes -pedantic -Iinclude -O2 -D_REENTRANT -c -o src/cleanup.o src/cleanup.c
gcc -Wall -Wextra -Wstrict-prototypes -Wmissing-prototypes -pedantic -Iinclude -O2 -D_REENTRANT -c -o src/handle.o src/handle.c
gcc -Wall -Wextra -Wstrict-prototypes -Wmissing-prototypes -pedantic -Iinclude -O2 -D_REENTRANT -c -o src/login.o src/login.c
src/login.c: 在函数 ‘drcom_login’ 中:
src/login.c:34: 警告: 未使用的参数 ‘timeout’
gcc -Wall -Wextra -Wstrict-prototypes -Wmissing-prototypes -pedantic -Iinclude -O2 -D_REENTRANT -c -o src/logout.o src/logout.c
src/logout.c: 在函数 ‘drcom_logout’ 中:
src/logout.c:32: 警告: 未使用的参数 ‘timeout’
gcc -Wall -Wextra -Wstrict-prototypes -Wmissing-prototypes -pedantic -Iinclude -O2 -D_REENTRANT -c -o src/passwd.o src/passwd.c
src/passwd.c: 在函数 ‘drcom_passwd’ 中:
src/passwd.c:32: 警告: 未使用的参数 ‘timeout’
gcc -Wall -Wextra -Wstrict-prototypes -Wmissing-prototypes -pedantic -Iinclude -O2 -D_REENTRANT -c -o src/keepalive.o src/keepalive.c
gcc -Wall -Wextra -Wstrict-prototypes -Wmissing-prototypes -pedantic -Iinclude -O2 -D_REENTRANT -c -o src/watchport.o src/watchport.c
gcc -Wall -Wextra -Wstrict-prototypes -Wmissing-prototypes -pedantic -Iinclude -O2 -D_REENTRANT -c -o src/misc.o src/misc.c
gcc -Wall -Wextra -Wstrict-prototypes -Wmissing-prototypes -pedantic -Iinclude -O2 -D_REENTRANT -c -o lib/dialog.o lib/dialog.c
gcc -Wall -Wextra -Wstrict-prototypes -Wmissing-prototypes -pedantic -Iinclude -O2 -D_REENTRANT -c -o lib/readconf.o lib/readconf.c
gcc -Wall -Wextra -Wstrict-prototypes -Wmissing-prototypes -pedantic -Iinclude -O2 -D_REENTRANT -c -o lib/md5.o lib/md5.c
lib/md5.c:131:36: 警告: 使用 C99 long long 整数常量
gcc -Wall -Wextra -Wstrict-prototypes -Wmissing-prototypes -pedantic -Iinclude -O2 -D_REENTRANT -c -o os/getaddr.o os/linux/getaddr.c
gcc -Wall -Wextra -Wstrict-prototypes -Wmissing-prototypes -pedantic -Iinclude -O2 -D_REENTRANT -fPIC -shared -o src/libdrcom.so src/init.o src/cleanup.o src/handle.o src/login.o src/logout.o src/passwd.o src/keepalive.o src/watchport.o src/misc.o lib/dialog.o lib/readconf.o lib/md5.o os/getaddr.o -lm
root@fancy:/tmp/libdrcom-0.0-20050423-2# make install
mkdir -p /usr/include
cp include/drcom.h /usr/include
mkdir -p /usr/lib
cp src/libdrcom.so /usr/lib
mkdir -p /etc
cp etc/drcom.conf.new /etc
mkdir -p /usr/doc/libdrcom-0.0-20050423-2
cp -a doc/* /usr/doc/libdrcom-0.0-20050423-2
回复