我在 Ubuntu 10.04 LTS 上安装 rootsh 1.5.3(以下本指南)我得到:
$ make && make install
Making all in src
make[1]: Entering directory `/tmp/rootsh-1.5.3/src'
make all-am
make[2]: Entering directory `/tmp/rootsh-1.5.3/src'
if gcc -DHAVE_CONFIG_H -I. -I. -I. -g -O2 -Wall -Wstrict-prototypes -Wmissing-declarations -Wnested-externs -Wpointer-arith -pedantic -pedantic -Wstrict-prototypes -MT rootsh.o -MD -MP -MF ".deps/rootsh.Tpo" -c -o rootsh.o rootsh.c; \
then mv -f ".deps/rootsh.Tpo" ".deps/rootsh.Po"; else rm -f ".deps/rootsh.Tpo"; exit 1; fi
rootsh.c:183:1: warning: function declaration isn’t a prototype [-Wstrict-prototypes]
rootsh.c: In function ‘main’:
rootsh.c:299:2: warning: C++ style comments are not allowed in ISO C90 [enabled by default]
rootsh.c:299:2: warning: (this will be reported only once per input file) [enabled by default]
rootsh.c:345:4: warning: ISO C90 forbids mixed declarations and code [-pedantic]
rootsh.c: In function ‘endlogging’:
rootsh.c:837:29: warning: value computed is not used [-Wunused-value]
rootsh.c:803:10: warning: ignoring return value of ‘write’, declared with attribute warn_unused_result [-Wunused-result]
rootsh.c: In function ‘dologging’:
rootsh.c:748:10: warning: ignoring return value of ‘write’, declared with attribute warn_unused_result [-Wunused-result]
rootsh.c: In function ‘beginlogging’:
rootsh.c:705:10: warning: ignoring return value of ‘write’, declared with attribute warn_unused_result [-Wunused-result]
rootsh.c: In function ‘main’:
rootsh.c:542:16: warning: ignoring return value of ‘write’, declared with attribute warn_unused_result [-Wunused-result]
In file included from /usr/include/fcntl.h:252:0,
from rootsh.c:60:
In function ‘open’,
inlined from ‘beginlogging.part.0’ at rootsh.c:682:24:
/usr/include/x86_64-linux-gnu/bits/fcntl2.h:51:24: error: call to ‘__open_missing_mode’ declared with attribute error: open with O_CREAT in second argument needs 3 arguments
make[2]: *** [rootsh.o] Error 1
make[2]: Leaving directory `/tmp/rootsh-1.5.3/src'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/tmp/rootsh-1.5.3/src'
make: *** [all-recursive] Error 1
如何修复这些错误?
答案1
我现在找到了一个解决方法——从这里安装 .deb 包:http://debian.qcode.co.uk/debs/
wget http://debian.qcode.co.uk/debs/rootsh_1.5.3-1_amd64.deb
dpkg -i rootsh_1.5.3-1_amd64.deb