appop 发表于 2012-01-10 17:59

nagios 3.2.3编译报错

gcc -g -O2 -DHAVE_CONFIG_H -DNSCGI-o cmd.cgi cmd.c extcmd_list.o getcgi.o cgiutils.o cgiauth.o macros-cgi.o skiplist.oobjects-cgi.o xobjects-cgi.o statusdata-cgi.o xstatusdata-cgi.o comments-cgi.o downtime-cgi.o   
/usr/bin/ld: i386:x86-64 architecture of input file `extcmd_list.o' is incompatible with i386 output
/usr/bin/ld: final link failed: Invalid operation
collect2: ld 返回 1
make: *** 错误 1
make: Leaving directory `/usr/src/nagios-cn-3.2.3/cgi'
make: *** 错误 2
./configure 完了
make all 报错了
求高手分析

cjaizss 发表于 2012-01-10 22:36

file extcmd_list.o

appop 发表于 2012-01-11 09:05

我的系统是
Linux appopdr 2.6.32-71.el6.i686 #1 SMP Fri Nov 12 04:17:17 GMT 2010 i686 i686 i386 GNU/Linux
生成 a.out
然后再怎么操作呢
菜鸟求指教

appop 发表于 2012-01-11 09:19

我在另外一台虚拟机上编译了也是这个错误
2.6.32-220.el6.i686 #1 SMP Wed Nov 9 08:02:18 EST 2011 i686 i686 i386 GNU/Linux2.6.32-220.el6.i686 #1 SMP Wed Nov 9 08:02:18 EST 2011 i686 i686 i386 GNU/Linux

hzy2hzy 发表于 2012-01-11 09:30

gcc -m64 -g -O2 -DHAVE_CONFIG_H -DNSCGI-o cmd.cgi cmd.c extcmd_list.o getcgi.o cgiutils.o cgiauth.o macros-cgi.o skiplist.oobjects-cgi.o xobjects-cgi.o statusdata-cgi.o xstatusdata-cgi.o comments-cgi.o downtime-cgi.o

gcc里面通过-m64或-m32指定CPU架构是64或32位的吧

appop 发表于 2012-01-11 09:53

但是 我是通过make all 来编译的
那么我不知道还有没有剩下的没有编译的

appop 发表于 2012-01-11 09:57

应该是内核的问题 我找了个 redhat 5.6
可以编译了
make all
ok

appop 发表于 2012-01-11 09:59

# gcc -m32 -g -O2 -DHAVE_CONFIG_H -DNSCGI-o cmd.cgi cmd.c extcmd_list.o getcgi.o cgiutils.o cgiauth.o macros-cgi.o skiplist.oobjects-cgi.o xobjects-cgi.o statusdata-cgi.o xstatusdata-cgi.o comments-cgi.o downtime-cgi.o
/usr/bin/ld: i386:x86-64 architecture of input file `extcmd_list.o' is incompatible with i386 output
/usr/bin/ld: final link failed: Invalid operation
我是 32位的
应用了 以上的还是不行的
网上是有说通过这样子来编译的
能不能修改 那个configure文件来修正这个错误

ding_0112 发表于 2012-05-30 11:47

先执行make clean操作,然后再执行 ./configure && make all
页: [1]
查看完整版本: nagios 3.2.3编译报错