- 论坛徽章:
- 0
|
今天将系统进行了升级,升级为debian-40r0
并安装了光盘上自带的gcc (gcc 4.1)
当用源码编译安装vsftpd-2.0.5时,出现如下问题:
- ...
- gcc -c sysutil.c -O2 -Wall -W -Wshadow -march=i586 -mtune=i686 -idirafter
- dummyinc
- sysutil.c: In function 'vsf_sysutil_wait_exited_normally':
- sysutil.c:604: error: assignment of read-only member '__in'
- sysutil.c: In function 'vsf_sysutil_wait_get_exitcode':
- sysutil.c:614: error: assignment of read-only member '__in'
- make: *** [sysutil.o] Error 1
复制代码
用google查了下网上根本找不到答案,最后在gnu的maillist上看到同样有人问这个问题
得到的答案是
Actually it is a bug in glibc's header with WIFEXITED, WEXITSTATUS, etc.
根据http://sourceware.org/bugzilla/show_bug.cgi?id=1392
上的提示将 wait.h中作由下修改
- # define __WAIT_INT(status) \
- (__extension__ ({ union { __typeof(status) __in; int __i; } __u; \
- __u.__in = (status); __u.__i; }))
复制代码
- # define __WAIT_INT(status) \
- (__extension__ (((union { __typeof(status) __in; int __i; }) \
- { .__in = (status) }).__i))
复制代码
但是新问题又来了,编译又说 sysdeputil.c编译出错?
本人菜鸟一个,不知道是什么原因。希望各位给一个思路!谢谢!!! |
|