Summary: | net-analyzer/ettercap-0.7.5* fails to cross-compile | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Bertrand Jacquin <bertrand> |
Component: | Current packages | Assignee: | Rick Farina (Zero_Chaos) <zerochaos> |
Status: | RESOLVED NEEDINFO | ||
Severity: | normal | CC: | ago, netmon |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: |
files/ettercap-BJA-cross-NS_GET32.diff
ettercap-0.7.3-r4.ebuild-BJA-autotools.diff net-analyzer:ettercap-0.7.5_pre20120903:20120911-195120.log net-analyzer:ettercap-0.7.6:20130527-183144.log |
Created attachment 280409 [details, diff]
files/ettercap-BJA-cross-NS_GET32.diff
Created attachment 280411 [details, diff]
ettercap-0.7.3-r4.ebuild-BJA-autotools.diff
Previous patch impose to run twice autoconf, I really don't understand why, so it's a bit crap but actully work.
Also add --with-libnet to precise libnet PATH.
> Also add --with-libnet to precise libnet PATH.
checking for libnet... no
configure: error: libnet >= 1.1.2.1 not found
Could you test latest 0.7.5_pre* ? It is based on cmake and should not fail. Created attachment 323540 [details] net-analyzer:ettercap-0.7.5_pre20120903:20120911-195120.log (In reply to comment #4) > Could you test latest 0.7.5_pre* ? It is based on cmake and should not fail. But it fail ;) (In reply to comment #1) changing to TRY_LINK from TRY_RUN for NS_GET32 is fine ... we just want to make sure the macro exists and expands correctly (a compile would miss the case where it didn't exist and so becomes an undefined func reference). EC_GCC_MACRO could be a compile-only test, but the current logic doesn't do anything useful other than error out when doing a native test (skips for cross). (In reply to comment #2) ROOT should never be used in a src_* func, so this change is unacceptable. the autotool logic also looks completely broken. libnet doesn't provide a .pc file, just a -config script, so you probably want to use the `cross-fix-root` script to mung things to work for cross-compiling. @Bertrand Jacquin please attach you emerge --info (In reply to comment #5) > But it fail ;) Please test latest tarball: ettercap-0.7.5_pre20121006 Somebody should get libnet upstream to provide a .pc Created attachment 349384 [details]
net-analyzer:ettercap-0.7.6:20130527-183144.log
On my side with the new cmake build system, cmake found lib in the HOST environnement instead of SYSROOT
Here is an updated build log for net-analyzer/ettercap-0.7.6
|
ettercap can't cross compile as acinclude.m4 use AC_TRY_RUN to determine if NS_GET32 exist. It should not be run but only linked. # i586-alix-linux-gnu-emerge -vat ettercap .. >>> Configuring source in /usr/i586-alix-linux-gnu/tmp/portage/net-analyzer/ettercap-0.7.3-r4/work/ettercap-NG-0.7.3 ... * econf: updating ettercap-NG-0.7.3/libltdl/config/config.guess with /usr/share/gnuconfig/config.guess * econf: updating ettercap-NG-0.7.3/libltdl/config/config.sub with /usr/share/gnuconfig/config.sub * econf: updating ettercap-NG-0.7.3/config.guess with /usr/share/gnuconfig/config.guess * econf: updating ettercap-NG-0.7.3/config.sub with /usr/share/gnuconfig/config.sub ./configure --prefix=/usr --build=x86_64-pc-linux-gnu --host=i586-alix-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstated ir=/var/lib --disable-dependency-tracking --with-openssl=/usr --disable-gtk --disable-debug --with-ncurses ... checking for NS_GET32... configure: error: in `/usr/i586-alix-linux-gnu/tmp/portage/net-analyzer/ettercap-0.7.3-r4/work/ettercap-NG-0.7.3': configure: error: cannot run test program while cross compiling See `config.log' for more details Attached a patch to fix that Reproducible: Always