arpoison Makefile call 'libnet-config' to get libs and cpp path. When you try to cross compile arpoison on a host when libnet is not installed, it fail : # i586-alix-linux-gnu-emerge -vat net-analyzer/arpoison ... >>> Compiling source in /usr/i586-alix-linux-gnu/tmp/portage/net-analyzer/arpoison-0.6/work/arpoison ... make -j1 i586-alix-linux-gnu-gcc -Wall -Os -pipe -march=geode -fomit-frame-pointer -I/usr/i586-alix-linux-gnu/usr/include/ -I/usr/i586-alix-linux-gnu/include/ `libnet-config --defines` arpoison.c -o arpoison `libnet-config --libs` /bin/sh: libnet-config: command not found /bin/sh: libnet-config: command not found arpoison.c: In function 'main': arpoison.c:41:9: warning: pointer targets in assignment differ in signedness arpoison.c:81:15: warning: pointer targets in assignment differ in signedness arpoison.c:156:2: warning: pointer targets in passing argument 2 of 'libnet_init' differ in signedness /usr/i586-alix-linux-gnu/usr/include/./libnet/libnet-functions.h:64:1: note: expected 'const char *' but argument is of type 'u_char *' /usr/i586-alix-linux-gnu/tmp/portage/net-analyzer/arpoison-0.6/temp/ccdUOKvN.o: In function `main': arpoison.c:(.text+0x212): undefined reference to `libnet_init' arpoison.c:(.text+0x264): undefined reference to `libnet_build_arp' arpoison.c:(.text+0x28e): undefined reference to `libnet_build_ethernet' arpoison.c:(.text+0x2bd): undefined reference to `libnet_write' arpoison.c:(.text+0x336): undefined reference to `libnet_destroy' collect2: ld returned 1 exit status Here is a fix to use HOST libnet-config (bash script) Reproducible: Always
Created attachment 280371 [details, diff] arpoison-0.6.ebuild-BJA-libnet-config-prefix.diff
+ 26 Dec 2012; Sergey Popov <pinkbyte@gentoo.org> +arpoison-0.6-r2.ebuild: + Revision bump: EAPI 5, fix for crosscompilation, wrt bug #375655 Turning this bug into stable request. Arches, please test and mark stable =net-analyzer/arpoison-0.6-r2 Target keywords: amd64 ppc x86
amd64 stable
x86 stable
ppc : fine here
ppc stable. Last arch, closing