Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 370953 - net-firewall/ebtables-2.0.9.2-r1 cross compilation fix
Summary: net-firewall/ebtables-2.0.9.2-r1 cross compilation fix
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Core system (show other bugs)
Hardware: x86 Linux
: Normal normal (vote)
Assignee: Peter Volkov (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-06-09 23:17 UTC by Bertrand Jacquin
Modified: 2011-06-22 18:30 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
ebtables-2.0.9-2-libetc.so-PHONY.diff (ebtables-2.0.9-2-libebtc.so-PHONY.diff,391 bytes, patch)
2011-06-09 23:17 UTC, Bertrand Jacquin
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Bertrand Jacquin 2011-06-09 23:17:10 UTC
install makefile target depend on libebtc.so that is declare PHONY, so "emake install" recompile libebetc.so, but CC is as expected not define in install(), so compilation faile


i586-geode-linux-gnu-gcc -Os -pipe -march=k6-2 -fomit-frame-pointer -I/usr/i586-geode-linux-gnu/usr/include/ -I/usr/i586-geode-linux-gnu/include/ -DPROGVERSION=\"2.0.9-2\" -DPROGNAME=\"ebtables\" -DPROGDATE=\"June\ 2009\" -D_PATH_ETHERTYPES=\"/etc/ethertypes\" -DEBTD_ARGC_MAX=50 -DEBTD_CMDLINE_MAXLN=2048 -c ebtables-restore.c -o ebtables-restore.o  -Iinclude/
i586-geode-linux-gnu-gcc -Os -pipe -march=k6-2 -fomit-frame-pointer -I/usr/i586-geode-linux-gnu/usr/include/ -I/usr/i586-geode-linux-gnu/include/ -L/usr/i586-geode-linux-gnu/lib -L/usr/i586-geode-linux-gnu/usr/lib -Wl,--no-as-needed -o ebtables-restore ebtables-restore.o -Iinclude/ -L. -Lextensions -lebtc  -lebt_802_3  -lebt_nat  -lebt_arp  -lebt_arpreply  -lebt_ip  -lebt_ip6  -lebt_standard  -lebt_log  -lebt_redirect  -lebt_vlan  -lebt_mark_m  -lebt_mark  -lebt_pkttype  -lebt_stp  -lebt_among  -lebt_limit  -lebt_ulog  -lebt_nflog  -lebtable_filter  -lebtable_nat  -lebtable_broute \
-Wl,-rpath,/lib/ebtables
>>> Source compiled.
>>> Test phase [not enabled]: net-firewall/ebtables-2.0.9.2-r1

>>> Install ebtables-2.0.9.2-r1 into /usr/i586-geode-linux-gnu/tmp/portage/net-firewall/ebtables-2.0.9.2-r1/image/ category net-firewall
mkdir -p /usr/i586-geode-linux-gnu/tmp/portage/net-firewall/ebtables-2.0.9.2-r1/image//usr/share/man/man8
sed 's/$(VERSION)/2.0.9-2/' ebtables.8 | sed 's/$(DATE)/June\ 2009/' > ebtables.8_
install -m 0644 -o root -g root ebtables.8_ /usr/i586-geode-linux-gnu/tmp/portage/net-firewall/ebtables-2.0.9.2-r1/image//usr/share/man/man8/ebtables.8
rm -f ebtables.8_
mkdir -p /usr/i586-geode-linux-gnu/tmp/portage/net-firewall/ebtables-2.0.9.2-r1/image//etc
install -m 0644 -o root -g root ethertypes /usr/i586-geode-linux-gnu/tmp/portage/net-firewall/ebtables-2.0.9.2-r1/image//etc/ethertypes
gcc -shared -L/usr/i586-geode-linux-gnu/lib -L/usr/i586-geode-linux-gnu/usr/lib -Wl,--no-as-needed -Wl,-soname,libebtc.so -o libebtc.so -lc getethertype.o communication.o libebtc.o useful_functions.o ebtables.o
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.2/../../../../x86_64-pc-linux-gnu/bin/ld: skipping incompatible /usr/i586-geode-linux-gnu/usr/lib/libc.so when searching for -lc
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.2/../../../../x86_64-pc-linux-gnu/bin/ld: skipping incompatible /usr/i586-geode-linux-gnu/usr/lib/libc.a when searching for -lc
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.2/../../../../x86_64-pc-linux-gnu/bin/ld: skipping incompatible /usr/i586-geode-linux-gnu/usr/lib/libc.so when searching for -lc
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.2/../../../../x86_64-pc-linux-gnu/bin/ld: skipping incompatible /usr/i586-geode-linux-gnu/usr/lib/libc.a when searching for -lc
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.2/../../../../x86_64-pc-linux-gnu/bin/ld: i386 architecture of input file `getethertype.o' is incompatible with i386:x86-64 output
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.2/../../../../x86_64-pc-linux-gnu/bin/ld: i386 architecture of input file `communication.o' is incompatible with i386:x86-64 output
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.2/../../../../x86_64-pc-linux-gnu/bin/ld: i386 architecture of input file `libebtc.o' is incompatible with i386:x86-64 output
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.2/../../../../x86_64-pc-linux-gnu/bin/ld: i386 architecture of input file `useful_functions.o' is incompatible with i386:x86-64 output
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.2/../../../../x86_64-pc-linux-gnu/bin/ld: i386 architecture of input file `ebtables.o' is incompatible with i386:x86-64 output
collect2: ld returned 1 exit status
make: *** [libebtc] Error 1

libetc.so should not be build in install.

libetc Makefile target is define as PHONY which is wrong, here is the source error, patch from 06/18/2005 :

http://ebtables.cvs.sourceforge.net/viewvc/ebtables/ebtables2/userspace/ebtables2/Makefile?r1=1.35&r2=1.36

reported upstream to netfilter-devel ML

Here is a patch to fix it

Reproducible: Always

Steps to Reproduce:
1. i586-geode-linux-gnu-emerge -vat net-firewall/ebtables 
2.
3.
Comment 1 Bertrand Jacquin 2011-06-09 23:17:32 UTC
Created attachment 276437 [details, diff]
ebtables-2.0.9-2-libetc.so-PHONY.diff
Comment 2 Peter Volkov (RETIRED) gentoo-dev 2011-06-14 10:30:56 UTC
Thank you for report Bertrand! I saw your mail on netfilter mailing list and now I'd like to give upstream sometime to include this fix. Most of time they are rather fast, but if they'll keep silence for more then ween, then it's good idea to ping them. )
Comment 3 Peter Volkov (RETIRED) gentoo-dev 2011-06-20 05:49:33 UTC
Bertrand, will following patch work for you:

http://ebtables.cvs.sourceforge.net/viewvc/ebtables/ebtables2/userspace/ebtables2/Makefile?r1=1.62&r2=1.63

?
Comment 4 Bertrand Jacquin 2011-06-20 22:30:17 UTC
(In reply to comment #3)
> Bertrand, will following patch work for you:
> 
> http://ebtables.cvs.sourceforge.net/viewvc/ebtables/ebtables2/userspace/ebtables2/Makefile?r1=1.62&r2=1.63
> 
> ?

Yes, this is OK and much clean.
Comment 5 Peter Volkov (RETIRED) gentoo-dev 2011-06-22 18:30:08 UTC
Thank you! Patch was just added to CVS.