> -----Ursprüngliche Nachricht----- > Von: [email protected] [mailto:netsniff- > [email protected]] Im Auftrag von Daniel Borkmann > Gesendet: Mittwoch, 22. August 2012 11:51 > An: [email protected] > Betreff: Re: [netsniff-ng] Build Errors Netsniff-ng > > On Wed, Aug 22, 2012 at 11:25 AM, Markus Amend <markus@netsniff- > ng.org> wrote: > > > > > >> -----Ursprüngliche Nachricht----- > >> Von: [email protected] [mailto:netsniff- > >> [email protected]] Im Auftrag von Daniel Borkmann > >> Gesendet: Mittwoch, 22. August 2012 11:06 > >> An: [email protected] > >> Betreff: Re: [netsniff-ng] Build Errors Netsniff-ng > >> > >> On Wed, Aug 22, 2012 at 10:58 AM, Markus Amend <markus@netsniff- > >> ng.org> wrote: > >> > >> >> -----Ursprüngliche Nachricht----- > >> >> Von: [email protected] [mailto:netsniff- > >> >> [email protected]] Im Auftrag von Daniel Borkmann > >> >> Gesendet: Dienstag, 21. August 2012 18:50 > >> >> An: [email protected] > >> >> Betreff: Re: [netsniff-ng] Build Errors Netsniff-ng > >> >> > >> >> On Tue, Aug 21, 2012 at 11:17 AM, Markus Amend <markus@netsniff- > >> >> ng.org> wrote: > >> >> >> -----Ursprüngliche Nachricht----- > >> >> >> Von: [email protected] [mailto:netsniff- > >> >> >> [email protected]] Im Auftrag von Daniel Borkmann > >> >> >> Gesendet: Dienstag, 21. August 2012 11:01 > >> >> >> An: [email protected] > >> >> >> Betreff: Re: [netsniff-ng] Build Errors Netsniff-ng > >> >> >> > >> >> >> On Tue, Aug 21, 2012 at 10:39 AM, Markus Amend > >> >> >> <markus@netsniff- ng.org> wrote: > >> >> >> > >> >> >> > I'm actually not able to compile netsniff-ng. OS: Ubuntu > >> >> >> > 10.04 > > 64bit. > >> >> >> > > >> >> >> > Terminal output after "make" > >> >> >> > > >> >> >> > [...] > >> >> >> > [100%] Building C object > >> >> >> > netsniff-ng/CMakeFiles/netsniff-ng.dir/__/netsniff-ng.c.o > >> >> >> > Linking C executable netsniff-ng > >> >> >> > CMakeFiles/netsniff-ng.dir/__/mac80211.c.o: In function > >> > `nl80211_init': > >> >> >> > mac80211.c:(.text+0xba): undefined reference to > `nl_handle_alloc' > >> >> >> > mac80211.c:(.text+0xd1): undefined reference to `genl_connect' > >> >> >> > mac80211.c:(.text+0xdd): undefined reference to > >> >> `genl_ctrl_alloc_cache' > >> >> >> > mac80211.c:(.text+0xf5): undefined reference to > >> >> >> `genl_ctrl_search_by_name' > >> >> >> > mac80211.c:(.text+0x122): undefined reference to > >> >> `genl_ctrl_alloc_cache' > >> >> >> > CMakeFiles/netsniff-ng.dir/__/mac80211.c.o: In function > >> >> >> > `enter_rfmon_mac80211': > >> >> >> > mac80211.c:(.text+0x262): undefined reference to `nlmsg_alloc' > >> >> >> > mac80211.c:(.text+0x278): undefined reference to > >> `genl_family_get_id' > >> >> >> > mac80211.c:(.text+0x29b): undefined reference to `genlmsg_put' > >> >> >> > mac80211.c:(.text+0x2b5): undefined reference to `nla_put' > >> >> >> > mac80211.c:(.text+0x307): undefined reference to `nla_put' > >> >> >> > mac80211.c:(.text+0x32c): undefined reference to `nla_put' > >> >> >> > mac80211.c:(.text+0x341): undefined reference to > >> >> >> `nl_send_auto_complete' > >> >> >> > mac80211.c:(.text+0x353): undefined reference to > `nl_wait_for_ack' > >> >> >> > mac80211.c:(.text+0x376): undefined reference to `nlmsg_free' > >> >> >> > mac80211.c:(.text+0x3a3): undefined reference to > `genl_family_put' > >> >> >> > mac80211.c:(.text+0x3ad): undefined reference to > `nl_cache_free' > >> >> >> > mac80211.c:(.text+0x3b7): undefined reference to > >> `nl_handle_destroy' > >> >> >> > mac80211.c:(.text+0x454): undefined reference to `nlmsg_free' > >> >> >> > CMakeFiles/netsniff-ng.dir/__/mac80211.c.o: In function > >> >> >> > `leave_rfmon_mac80211': > >> >> >> > mac80211.c:(.text+0x51a): undefined reference to `nlmsg_alloc' > >> >> >> > mac80211.c:(.text+0x530): undefined reference to > >> `genl_family_get_id' > >> >> >> > mac80211.c:(.text+0x553): undefined reference to `genlmsg_put' > >> >> >> > mac80211.c:(.text+0x56e): undefined reference to `nla_put' > >> >> >> > mac80211.c:(.text+0x583): undefined reference to > >> >> >> `nl_send_auto_complete' > >> >> >> > mac80211.c:(.text+0x591): undefined reference to > `nl_wait_for_ack' > >> >> >> > mac80211.c:(.text+0x59d): undefined reference to `nlmsg_free' > >> >> >> > mac80211.c:(.text+0x5a7): undefined reference to > `genl_family_put' > >> >> >> > mac80211.c:(.text+0x5b1): undefined reference to > `nl_cache_free' > >> >> >> > mac80211.c:(.text+0x5bb): undefined reference to > >> `nl_handle_destroy' > >> >> >> > collect2: ld returned 1 exit status > >> >> >> > make[2]: *** [netsniff-ng/netsniff-ng] Error 1 > >> >> >> > make[1]: *** [netsniff-ng/CMakeFiles/netsniff-ng.dir/all] > >> >> >> > Error > >> >> >> > 2 > >> >> >> > make: *** [all] Error 2 > >> >> >> > > >> >> >> > It's a problem with netlink? Any ideas? > >> >> >> > >> >> >> Hmm, on my Debian stable system (where it links w/o problems), > >> >> >> I have installed the following: > >> >> >> > >> >> >> dpkg --get-selections | grep libnl > >> >> >> libnl-dev install > >> >> >> libnl1 install > >> >> >> > >> >> >> Where the Debian libnl version is 1.1-6, in Ubuntu 10.04 its > >> > 1.1-5build1. > >> >> > The > >> >> >> diff between "-5" and "-6" in the Debian package only refers to > >> >> >> a bugfix > >> >> > and > >> >> >> some Debian-related changes. > >> >> >> > >> >> >> Also, from your log, I see that the headers were found > >> >> >> otherwise the build would have stopped earlier. If you remove > >> >> >> your src/build/ folder, recreate > >> >> > it > >> >> >> and type "cmake ..", what does it say? > >> >> > > >> >> > I always make a "rm -rf*" in the build dir before compiling :-) > >> >> > And it's all fine. > >> >> > > >> >> > cmake .. > >> >> > -- The C compiler identification is GNU > >> >> > -- Check for working C compiler: /usr/bin/gcc > >> >> > -- Check for working C compiler: /usr/bin/gcc -- works > >> >> > -- Detecting C compiler ABI info > >> >> > -- Detecting C compiler ABI info - done > >> >> > -- Performing Test BPFATTACH_RUN_RESULT > >> >> > -- Performing Test BPFATTACH_RUN_RESULT - Success > >> >> > -- System has SO_ATTACH_FILTER/SO_DETACH_FILTER support > >> >> > -- Performing Test PFPACKET_RUN_RESULT > >> >> > -- Performing Test PFPACKET_RUN_RESULT - Success > >> >> > -- System has PF_PACKET sockets > >> >> > -- Performing Test STRICT_ALIGN_RUN_RESULT > >> >> > -- Performing Test STRICT_ALIGN_RUN_RESULT - Success > >> >> > -- System has strict alignment > >> >> > -- Performing Test TX_RING_RUN_RESULT > >> >> > -- Performing Test TX_RING_RUN_RESULT - Success > >> >> > -- System has TX_RING support > >> >> > -- Performing Test eth0 > >> >> > -- Performing Test eth0 - Failed > >> >> > -- System has no SOF_TIMESTAMPING_RAW_HARDWARE support > >> >> > -- Looking for include files CMAKE_HAVE_PTHREAD_H > >> >> > -- Looking for include files CMAKE_HAVE_PTHREAD_H - found > >> >> > -- Looking for pthread_create in pthreads > >> >> > -- Looking for pthread_create in pthreads - not found > >> >> > -- Looking for pthread_create in pthread > >> >> > -- Looking for pthread_create in pthread - found > >> >> > -- Found Threads: TRUE > >> >> > -- Found Libnl: /usr/lib/libnl.so > >> >> > -- Found Curses: /usr/lib/libcurses.so > >> >> > -- Found FLEX: /usr/bin/flex > >> >> > -- Found BISON: /usr/bin/bison > >> >> > -- Found libcli: /usr/lib/libcli.so > >> >> > -- Found LibGeoIP: /usr/lib/libGeoIP.so > >> >> > -- REQUIRED_VARS (missing: NACL_LIBRARY NACL_INCLUDE_DIR) > NaCl > >> >> was > >> >> > not found. Check if NACL_INCLUDE_DIR and NACL_LIB_DIR are > >> >> > properly > >> >> set > >> >> > in nacl_path.cmake. Skipping curvetun build. > >> >> > -- Found libnetfilter_conntrack: > >> >> > /usr/lib/libnetfilter_conntrack.so > >> >> > -- Found liburcu: /usr/lib/liburcu.so > >> >> > -- Configuring done > >> >> > -- Generating done > >> >> > -- Build files have been written to: > >> >> > /home/markus/Desktop/git_netsniff/netsniff-ng/src/build > >> >> > >> >> What does the following say? > >> >> > >> >> readelf -Ws /usr/lib/libnl.so | grep nla_put > >> > > >> > 126: 0000000000018300 29 FUNC GLOBAL DEFAULT 12 nla_put_u64 > >> > 192: 00000000000181e0 90 FUNC GLOBAL DEFAULT 12 > nla_put_addr > >> > 357: 00000000000182b0 69 FUNC GLOBAL DEFAULT 12 > > nla_put_string > >> > 536: 0000000000018390 93 FUNC GLOBAL DEFAULT 12 > > nla_put_nested > >> > 543: 0000000000018090 239 FUNC GLOBAL DEFAULT 12 nla_put > >> > 545: 00000000000182a0 9 FUNC GLOBAL DEFAULT 12 nla_put_flag > >> > 596: 0000000000018320 5 FUNC GLOBAL DEFAULT 12 > nla_put_msecs > >> > 650: 0000000000018370 28 FUNC GLOBAL DEFAULT 12 nla_put_u8 > >> > 718: 0000000000018350 29 FUNC GLOBAL DEFAULT 12 nla_put_u16 > >> > 748: 0000000000018240 90 FUNC GLOBAL DEFAULT 12 nla_put_data > >> > 817: 0000000000018330 28 FUNC GLOBAL DEFAULT 12 nla_put_u32 > >> >> > >> >> file /usr/lib/libnl.so.1.1 (... or where ever you .so points to) > >> > > >> > /usr/lib/libnl.so.1.1: ELF 64-bit LSB shared object, x86-64, > >> > version 1 (SYSV), dynamically linked, stripped > >> > >> Looks good! > >> > >> > v0.5.7 is able to compile. > >> > >> So, 0.5.7 is able to compile, but the latest master doesn't? > > > > exact > > So it could be the cmake module. Although it seems weird to me that it says > it has found it and I don't have problems on my systems. > > The latest change in this file is here [1]. So you could give it a try by applying > this: > > diff --git a/src/cmake/modules/FindLibnl.cmake > b/src/cmake/modules/FindLibnl.cmake > index a74b6f5..fac0839 100644 > --- a/src/cmake/modules/FindLibnl.cmake > +++ b/src/cmake/modules/FindLibnl.cmake > @@ -10,10 +10,10 @@ > # LIBNL_LIBRARIES - the libnl library > # LIBNL_INCLUDE_DIR - the include path of the libnl library > > -set(LIBNL_LIBRARIES ${LIBNL_LIBRARY}) > - > find_library(LIBNL_LIBRARY nl) > > +set(LIBNL_LIBRARIES ${LIBNL_LIBRARY}) > + > find_path( > LIBNL_INCLUDE_DIR > NAMES netlink.h > > > [1] http://lingrok.org/diff/netsniff- > ng/src/cmake/modules/FindLibnl.cmake?r2=/netsniff- > ng/src/cmake/modules/FindLibnl.cmake%40698ba1d348060cc9ca3d3c3a56f4 > 180d62ae5c8a&r1=/netsniff- > ng/src/cmake/modules/FindLibnl.cmake%406c0f2ebe28f9522c140f6c0e05f92 > d61e9b81c34
If I copy https://github.com/gnumaniacs/netsniff-ng/blob/6c0f2ebe28f9522c140f6c0e05f92 d61e9b81c34/src/cmake/modules/FindLibnl.cmake it works. > > -- > --
