Modify

Opened 9 years ago

Closed 5 years ago

#4302 closed defect (worksforme)

ipcad build failure on x86-alix at r13492

Reported by: seniorr@… Owned by: florian
Priority: normal Milestone:
Component: packages Version: Trunk
Keywords: Cc:

Description

During a "select all packages" build, ran into this:

make[3]: Entering directory `/aux2/src/openwrt/feeds/packages/net/ipcad'
gzip -dc /src_archive/openwrt/dl/ipcad-3.7.3.tar.gz | /bin/tar -C /aux2/src/openwrt/build_dir/i386/ipcad-3.7.3/.. -xf -

Applying ./patches/001-honor_cppflags.patch using plaintext: 
patching file Makefile.in
touch /aux2/src/openwrt/build_dir/i386/ipcad-3.7.3/.prepared_a2f8972efb6d0cecfe530cfa9c085ca1
(cd /aux2/src/openwrt/build_dir/i386/ipcad-3.7.3; touch cfglex.c cslex.c );
(cd /aux2/src/openwrt/build_dir/i386/ipcad-3.7.3/./; if [ -x ./configure ]; then /usr/bin/X11/find /aux2/src/openwrt/build_dir/i386/ipcad-3.7.3/ -name config.guess | xargs -r -n1 cp /aux2/src/openwrt/scripts/config.guess; /usr/bin/X11/find /aux2/src/open
wrt/build_dir/i386/ipcad-3.7.3/ -name config.sub | xargs -r -n1 cp /aux2/src/openwrt/scripts/config.sub; AR=i386-linux-uclibc-ar AS="i386-linux-uclibc-gcc -c -O2 -pipe -march=i486 -funit-at-a-time -fhonour-copts" LD=i386-linux-uclibc-ld NM=i386-linux-ucl
ibc-nm CC="i386-linux-uclibc-gcc" GCC="i386-linux-uclibc-gcc" CXX="i386-linux-uclibc-g++" RANLIB=i386-linux-uclibc-ranlib STRIP=i386-linux-uclibc-strip OBJCOPY=i386-linux-uclibc-objcopy OBJDUMP=i386-linux-uclibc-objdump SIZE=i386-linux-uclibc-size CFLAGS
="-O2 -pipe -march=i486 -funit-at-a-time -fhonour-copts " CXXFLAGS="-O2 -pipe -march=i486 -funit-at-a-time -fhonour-copts " CPPFLAGS="-I/aux2/src/openwrt/staging_dir/i386/usr/include -I/aux2/src/openwrt/staging_dir/i386/include " LDFLAGS="-L/aux2/src/ope
nwrt/staging_dir/toolchain-i386_gcc4.1.2/lib -L/aux2/src/openwrt/staging_dir/i386/usr/lib -L/aux2/src/openwrt/staging_dir/i386/lib " PKG_CONFIG_PATH="/aux2/src/openwrt/staging_dir/i386/usr/lib/pkgconfig:/aux2/src/openwrt/staging_dir/host/usr/lib/pkgconfi
g" PKG_CONFIG_LIBDIR="/aux2/src/openwrt/staging_dir/i386/usr/lib/pkgconfig"  ac_cv_func_getifaddrs=no ac_cv_header_ifaddrs_h=no ac_cv_header_linux_netfilter_ipv4_ip_queue_h=no  ./configure --target=i386-linux --host=i386-linux --build=i486-linux-gnu --pr
ogram-prefix="" --program-suffix="" --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --libexecdir=/usr/lib --sysconfdir=/etc --datadir=/usr/share --localstatedir=/var --mandir=/usr/man --infodir=/usr/info --disable-nls  --enable-sha
red --disable-static --with-psrc=pcap --with-pcap-include="/aux2/src/openwrt/staging_dir/i386/usr/include" --with-pcap-libraries="/aux2/src/openwrt/staging_dir/i386/usr/lib" ; fi; )
configure: loading site script /aux2/src/openwrt/include/site/i386-linux-uclibc
checking for i386-linux-gcc... i386-linux-uclibc-gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... yes
checking for suffix of executables... 
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether i386-linux-uclibc-gcc accepts -g... yes
checking for i386-linux-uclibc-gcc option to accept ANSI C... none needed
checking for a BSD-compatible install... /usr/bin/X11/install -c
checking whether ln -s works... yes
checking whether make sets $(MAKE)... yes
checking for bison... bison -y
checking for flex... flex
checking for yywrap in -lfl... no
checking for yywrap in -ll... no
checking lex output file root... lex.yy
checking whether yytext is a pointer... no
checking for pthread_detach... no
checking for pthread_detach in -lc... yes
checking for working pthreads... Cross-compiling: assuming OK
checking how to run the C preprocessor... i386-linux-uclibc-gcc -E
checking for egrep... grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking fcntl.h usability... yes
checking fcntl.h presence... yes
checking for fcntl.h... yes
checking for unistd.h... (cached) yes
checking sys/time.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking for sys/types.h... (cached) yes
checking for sys/stat.h... (cached) yes
checking sys/ioctl.h usability... yes
checking sys/ioctl.h presence... yes
checking for sys/ioctl.h... yes
checking arpa/inet.h usability... yes
checking arpa/inet.h presence... yes
checking for arpa/inet.h... yes
checking sys/socket.h usability... yes
checking sys/socket.h presence... yes
checking for sys/socket.h... yes
checking for netinet/in.h... yes
checking for netinet/in_systm.h... yes
checking for net/if.h... yes
checking for net/route.h... yes
checking for ifaddrs.h... (cached) no
checking for netinet/ip.h... yes
checking for netinet/tcp.h... yes
checking for net/ethernet.h... yes
checking for netinet/if_ether.h... yes
checking asm/types.h usability... yes
checking asm/types.h presence... yes
checking for asm/types.h... yes
checking linux/socket.h usability... yes
checking linux/socket.h presence... yes
checking for linux/socket.h... yes
checking for linux/netlink.h... no
checking for linux/netfilter.h... no
checking for linux/if.h... no
checking for linux/netfilter_ipv4/ipt_ULOG.h... yes
checking for linux/netfilter_ipv4/ip_queue.h... (cached) no
checking sys/resource.h usability... yes
checking sys/resource.h presence... yes
checking for sys/resource.h... yes
checking netdb.h usability... yes
checking netdb.h presence... yes
checking for netdb.h... yes
checking sys/file.h usability... yes
checking sys/file.h presence... yes
checking for sys/file.h... yes
checking paths.h usability... yes
checking paths.h presence... yes
checking for paths.h... yes
checking libgen.h usability... yes
checking libgen.h presence... yes
checking for libgen.h... yes
checking sysexits.h usability... yes
checking sysexits.h presence... yes
checking for sysexits.h... yes
checking errno.h usability... yes
checking errno.h presence... yes
checking for errno.h... yes
checking sched.h usability... yes
checking sched.h presence... yes
checking for sched.h... yes
checking pthread.h usability... yes
checking pthread.h presence... yes
checking for pthread.h... yes
checking for socket in -lsocket... no
checking for inet_pton in -lnsl... yes
checking packet source type... pcap
checking net/bpf.h usability... no
checking net/bpf.h presence... no
checking for net/bpf.h... no
checking pcap.h usability... yes
checking pcap.h presence... yes
checking for pcap.h... yes
checking for pcap_open_live in -lpcap... yes
checking libipq.h usability... no
checking libipq.h presence... no
checking for libipq.h... no
checking pcap_findalldevs... yes
checking interface access type... linux
checking for an ANSI C-conforming const... yes
checking for off_t... yes
checking for size_t... yes
checking whether struct tm is in sys/time.h or time.h... time.h
checking for struct tm.tm_zone... yes
checking whether byte ordering is bigendian... (cached) no
checking for in_addr_t... yes
checking for socklen_t... yes
checking for open as weak alias for _open... no
checking for strstr... yes
checking for fcntl... yes
checking for flock... yes
checking for sched_yield... yes
checking for pthread_cancel... yes
checking for setpriority... yes
checking for strtoull... yes
checking for strtouq... yes
checking for inet_aton... yes
checking for inet_pton... yes
checking for getifaddrs... (cached) no
configure: creating ./config.status
config.status: creating Makefile
config.status: creating ipcad.spec
config.status: creating config.h
touch /aux2/src/openwrt/build_dir/i386/ipcad-3.7.3/.configured
make -C /aux2/src/openwrt/build_dir/i386/ipcad-3.7.3 DESTDIR="/aux2/src/openwrt/build_dir/i386/ipcad-3.7.3/ipkg-install" all install
make[4]: Entering directory `/aux2/src/openwrt/build_dir/i386/ipcad-3.7.3'
i386-linux-uclibc-gcc -I/aux2/src/openwrt/staging_dir/i386/usr/include -I/aux2/src/openwrt/staging_dir/i386/include  -I/usr/local/include -DIPCAD_VERSION=\"3.7.3\" -DCONFIG_FILE=\"/etc/ipcad.conf\" -DHAVE_CONFIG_H -D_REENTRANT -D_THREAD_SAFE -DPSRC_pcap -DIFST_linux  -O2 -pipe -march=i486 -funit-at-a-time -fhonour-copts  -I/usr/local/include -DHAVE_CONFIG_H -W -Wall -o main.o -c main.c
In file included from ipcad.h:33,
                 from main.c:29:
psrc.h:93: error: field 'peer' has incomplete type
make[4]: *** [main.o] Error 1
make[4]: Leaving directory `/aux2/src/openwrt/build_dir/i386/ipcad-3.7.3'
make[3]: *** [/aux2/src/openwrt/build_dir/i386/ipcad-3.7.3/.built] Error 2
make[3]: Leaving directory `/aux2/src/openwrt/feeds/packages/net/ipcad'
make[2]: *** [package/feeds/packages/ipcad/compile] Error 2
make[2]: Leaving directory `/aux2/src/openwrt'
make[1]: *** [/aux2/src/openwrt/staging_dir/i386/stamp/.package_compile] Error 2
make[1]: Leaving directory `/aux2/src/openwrt'
make: *** [world] Error 2

Attachments (0)

Change History (8)

comment:1 Changed 9 years ago by florian

  • Resolution set to worksforme
  • Status changed from new to closed

I cannot reproduce this bug.

comment:2 Changed 9 years ago by jasong@…

I just had this exact error, I am investigating now.

I am on Kubuntu 8.10

comment:3 Changed 9 years ago by storch@…

I had exact this error too, compiling ipcad with debian.

The problem is configure detects 'sys/socket.h', but then tries to detect 'linux/netlink.h' without including 'sys/socket.h'. Similar with detecting 'linux/netfilter.h' after correcting the first.
Correcting both its compiling without errors.

Perhaps a bug in autoconf creating configure?

comment:4 Changed 6 years ago by yury@…

  • Resolution worksforme deleted
  • Status changed from closed to reopened

The problem is in fact genuine, but to experience it you need a recent toolchain and kernel. I solved it on RHEL6 by applying patches from Gentoo and then doing an autoreconf:

http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/net-analyzer/ipcad/files/

This should also work for OpenWRT. I wonder why these are not upstreamed yet...

comment:5 Changed 6 years ago by storch@…

You mean ipcad-3.7-linux-2.6.35.patch?
It looks similiar like I've done with 'configure' and ... yes it works for me, too!
(Debian/Squeeze)
I'll try to contact upstream...

comment:6 Changed 6 years ago by anonymous

I needed to apply all three of them, the signals patch fixes issue with newer gcc and the 2.6.25 patch wouldn't apply without the previous one.

Thanks for taking care of it!

comment:7 Changed 5 years ago by florian

  • Owner changed from developers to florian
  • Status changed from reopened to assigned
  • Version set to Trunk

comment:8 Changed 5 years ago by florian

  • Resolution set to worksforme
  • Status changed from assigned to closed

Add Comment

Modify Ticket

Action
as closed .
The resolution will be deleted. Next status will be 'reopened'.
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.