On Mon, Nov 5, 2012 at 2:22 PM, Doug Burks <[email protected]> wrote: > On Mon, Nov 5, 2012 at 7:03 AM, Daniel Borkmann <[email protected]> > wrote: >> Can you please try again? >> >> I just committed this: >> https://github.com/gnumaniacs/netsniff-ng/commit/52471d34caeb9bdb96ac87249fdc9c340851ed13 >> >> The problem is that in one include file from the libnl3 headers, it >> tries to include another header and simply cannot find it (because the >> libnl3 path prefix is missing). > > I got this: > make netsniff-ng > Building netsniff-ng: > -e CC hash.c > -e CC mac80211.c > -e CC dissector.c > -e CC dissector_eth.c > -e CC dissector_80211.c > -e CC proto_arp.c > -e CC proto_ethernet.c > -e CC proto_icmpv4.c > -e CC proto_icmpv6.c > -e CC proto_igmp.c > -e CC proto_ip_authentication_hdr.c > -e CC proto_ip_esp.c > -e CC proto_ipv4.c > -e CC proto_ipv6.c > -e CC proto_ipv6_dest_opts.c > -e CC proto_ipv6_fragm.c > -e CC proto_ipv6_hop_by_hop.c > -e CC proto_ipv6_in_ipv4.c > -e CC proto_ipv6_mobility_hdr.c > -e CC proto_ipv6_no_nxt_hdr.c > -e CC proto_ipv6_routing.c > -e CC proto_none.c > -e CC proto_tcp.c > -e CC proto_udp.c > -e CC proto_vlan.c > -e CC proto_vlan_q_in_q.c > -e CC proto_mpls_unicast.c > -e CC proto_80211_mac_hdr.c > -e CC xio.c > -e CC xutils.c > xutils.c: In function ‘set_system_socket_mem’: > xutils.c:274:10: warning: variable ‘ret’ set but not used > [-Wunused-but-set-variable]
Fixed. > -e CC xmalloc.c > -e CC bpf.c > -e CC oui.c > -e CC pcap.c > -e CC pcap_rw.c > -e CC pcap_sg.c > -e CC pcap_mmap.c > -e CC ring_rx.c > -e CC ring_tx.c > -e CC mtrand.c > -e CC tprintf.c > -e CC netsniff-ng.c > -e LD netsniff-ng > /usr/bin/ld: netsniff-ng/mac80211.o: undefined reference to symbol > 'nlmsg_alloc' > /usr/bin/ld: note: 'nlmsg_alloc' is defined in DSO /lib/libnl-3.so.200 > so try adding it to the linker command line > /lib/libnl-3.so.200: could not read symbols: Invalid operation > collect2: ld returned 1 exit status > make: *** [netsniff-ng] Error 1 > > What am I missing? On my Debian machine, it is installed under /usr/lib/ . The symlink /usr/lib/libnl-3.so.200 points to /usr/lib/libnl-3.so.200.10.1, so does the symlink /usr/lib/libnl-3.so . The same counts for libnl-genl-3.so et al. Is that maybe not the case on your machine since ld cannot read the symbols?! (Wrong symlink?) --
