Hello,

in Debian, tcpreplay 4.3.3 failed to build on the i386 architecture for
a missing pcap, although it's certainly there. Error message (as seen at
¹):

| configure:17093: result: yes
| configure:17122: checking for libpcap
| configure:17412: result: no
| configure:17414: error: libpcap not found

After spending two hours on this ...

./configure tries to locate libpcap.so and many places are tried but the
right one "/usr/lib/i386-linux-gnu/libpcap.so" is not. Some bisecting
eventually led to

| 3f52a1abd28edac43a5abefc9a33c8bc96f38609 is the first bad commit
| commit 3f52a1abd28edac43a5abefc9a33c8bc96f38609
| Author: Fred Klassen <fklas...@appneta.com>
| Date:   Wed May 20 12:38:02 2020 -0700
|
|     Bug #580 version bump, clean up configure warnings

and I think the following should be applied on top of v4.3.3:

--- a/configure.ac
+++ b/configure.ac
@@ -106,7 +113,7 @@
             AC_MSG_RESULT([legacy])
         fi
         ;;
-    Linux*)
+    linux*)
         dnl ============================================
         dnl Some libraries are in /usr/lib/i386-linux-gnu
         dnl but host is i686-linux-gnu

since only the MULTIARCH will be correctly picked using
dpkg-architecture - FWIW: host_os='linux-gnu'


During the ride I tried --enable-pcapconfig but encountered different
problems. This fails in the pcap version check - not because libpcap is
too old but because the test fails to build.

| | #include <stdio.h>
| | #include "-D_U_="__attribute__((unused))" -g -Wextra -Wno-variadic-macros 
-Wfatal-errors -Wno-format-contains-nul -g -O0 -Wall -Wextra -Wfatal-errors 
-Wno-variadic-macros -Wno-format-contains-nul -I/usr/include/pcap.h"
| | #define PCAP_TEST "0.8"
| (...)
| configure:18009: i686-linux-gnu-gcc -o conftest 
-D_U_="__attribute__((unused))" -g  -Wextra -Wno-variadic-macros -Wfatal-errors 
-Wno-format-contains-nul -g -O0 -Wall -Wextra -Wfatal-errors 
-Wno-variadic-macros -Wno-format-contains-nul  -I/usr/include   conftest.c 
-lpcap >&5
| + eval '$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext 
$LIBS >&5'
| ++ i686-linux-gnu-gcc -o conftest '-D_U_="__attribute__((unused))"' -g 
-Wextra -Wno-variadic-macros -Wfatal-errors -Wno-format-contains-nul -g -O0 
-Wall -Wextra -Wfatal-errors -Wno-variadic-macros -Wno-format-contains-nul 
-I/usr/include conftest.c -lpcap
| conftest.c:125:18: warning: extra tokens at end of #include directive
|   125 | #include "-D_U_="__attribute__((unused))" -g -Wextra 
-Wno-variadic-macros -Wfatal-errors -Wno-format-contains-nul -g -O0 -Wall 
-Wextra -Wfatal-errors -Wno-variadic-macros -Wno-format-contains-nul 
-I/usr/include/pcap.h"
|       |                  ^~~~~~~~~~~~~
| conftest.c:125:10: fatal error: -D_U_=: No such file or directory
|   125 | #include "-D_U_="__attribute__((unused))" -g -Wextra 
-Wno-variadic-macros -Wfatal-errors -Wno-format-contains-nul -g -O0 -Wall 
-Wextra -Wfatal-errors -Wno-variadic-macros -Wno-format-contains-nul 
-I/usr/include/pcap.h"
|       |          ^~~~~~~~
| compilation terminated.

From config.log:

| LPCAPINC='-D_U_="__attribute__((unused))" -g -Wextra -Wno-variadic-macros 
-Wfatal-errors -Wno-format-contains-nul -g -O0 -Wall -Wextra -Wfatal-errors 
-Wno-variadic-macros -Wno-format-contains-nul -I/usr/include/pcap.h'

That probably should rather be

| LPCAPINC='/usr/include/pcap.h'

but honestly I have no idea what went wrong here. Perhaps check at some
time.

Regards,

    Christoph

¹ 
https://buildd.debian.org/status/fetch.php?pkg=tcpreplay&arch=i386&ver=4.3.3-1&stamp=1595669629&raw=0


_______________________________________________
Tcpreplay-users mailing list
Tcpreplay-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/tcpreplay-users
Support Information: http://tcpreplay.synfin.net/trac/wiki/Support

Reply via email to