[Buildroot] [PATCH] tcpreplay: cross-compile with tcpdump support

Martin Bark martin at barkynet.com
Thu Jan 23 20:08:57 UTC 2014


Peter, Chris,

On 23/01/14 11:30, Peter Korsgaard wrote:
>>>>>> "Chris" == Chris Packham <judge.packham at gmail.com> writes:
>
>   > If tcpdump is enabled set ac_cv_path_tcpdump_path so that verbose output
>   > is enabled on the target.
>
>   > Signed-off-by: Chris Packham <judge.packham at gmail.com>
>   > ---
>   > Hi,
>
>   > This should get verbose support working if the tcpdump package is selected.
>   > This may also fix some of the build errors (if they set BR2_PACKAGE_TCPDUMP=y)
>   > but the real fix will come from upstream.
>
>   >  package/tcpreplay/tcpreplay.mk | 6 ++++++
>   >  1 file changed, 6 insertions(+)
>
>   > diff --git a/package/tcpreplay/tcpreplay.mk b/package/tcpreplay/tcpreplay.mk
>   > index 0939c6c..a2cd16e 100644
>   > --- a/package/tcpreplay/tcpreplay.mk
>   > +++ b/package/tcpreplay/tcpreplay.mk
>   > @@ -18,4 +18,10 @@ TCPREPLAY_DEPENDENCIES = libpcap
>   >  TCPREPLAY_LIBS = -lpcap $(if $(BR2_PACKAGE_LIBUSB),-lusb-1.0)
>   >  TCPREPLAY_CONF_ENV += ac_cv_search_pcap_close='$(TCPREPLAY_LIBS)'
>
>   > +ifeq ($(BR2_PACKAGE_TCPDUMP),y)
>   > +TCPREPLAY_CONF_ENV += ac_cv_path_tcpdump_path=/usr/sbin/tcpdump
>
> The problem here is that the configure script checks if /usr/bin/tcpdump
> (on the build machine) is executable, and otherwise errors out - So this
> breaks if you try to build it on a machine without tcpdump.

I think the patch is actually OK.  Looking at the configure script when 
ac_cv_path_tcpdump_path is set it does not check if the executable 
exists.  It only checks when using the --with-tcpdump option.

I tested the patch and choose tcpdump and tcpreplay with no 
/usr/sbin/tcpdump on the host.  The code builds and I see in the 
configure output the lines

checking for tcpdump... (cached) /usr/sbin/tcpdump

and

tcpdump binary path:        /usr/sbin/tcpdump

So i think this patch will work.

Thanks

>
> The configure script needs to be changed to not do this test when cross
> compiling (or only warn).
>
>   > +else
>   > +TCPREPLAY_CONF_ENV += ac_cv_path_tcpdump_path=no
>   > +endif
>   > +
>   >  $(eval $(autotools-package))
>   > --
>   > 1.8.4.rc2
>
>
>


More information about the buildroot mailing list