ntop / n2n

Peer-to-peer VPN
GNU General Public License v3.0
6.07k stars 927 forks source link

Build failed when configure with miniupnp and natmap from the latest commit code. #1097

Closed GreatMichaelLee closed 1 year ago

GreatMichaelLee commented 1 year ago

in debian and ubuntu

when I set configure to enable miniupnp and natpmp like the following(it works on last month's code)

./configure --enable-pthread --enable-miniupnp --enable-natpmp --enable-cap --enable-pcap CFLAGS="-O3 -DN2N_OPTION_USE_PORTMAPPING"

seems that the n2n-tools compile failed when link:

ar rcs libn2n.a src/aes.o src/auth.o src/cc20.o src/curve25519.o src/edge_management.o src/edge_utils.o src/edge_utils_win32.o src/header_encryption.o src/hexdump.o src/json.o src/management.o src/minilzo.o src/n2n.o src/n2n_port_mapping.o src/n2n_regex.o src/network_traffic_filter.o src/pearson.o src/random_numbers.o src/sn_management.o src/sn_selection.o src/sn_utils.o src/speck.o src/tf.o src/transform_aes.o src/transform_cc20.o src/transform_lzo.o src/transform_null.o src/transform_speck.o src/transform_tf.o src/transform_zstd.o src/tuntap_freebsd.o src/tuntap_linux.o src/tuntap_netbsd.o src/tuntap_osx.o src/wire.o gcc -pthread -L. src/edge.o libn2n.a -ln2n -lpcap -lnatpmp -lminiupnpc -lcap -o src/edge cp src/edge edge gcc -O3 -DN2N_OPTION_USE_PORTMAPPING -I./include -Wall -c -o src/supernode.o src/supernode.c gcc -pthread -L. src/supernode.o libn2n.a -ln2n -lpcap -lnatpmp -lminiupnpc -lcap -o src/supernode cp src/supernode supernode gcc -O3 -DN2N_OPTION_USE_PORTMAPPING -I./include -Wall -c -o src/example_edge_embed_quick_edge_init.o src/example_edge_embed_quick_edge_init.c gcc -pthread -L. src/example_edge_embed_quick_edge_init.o libn2n.a -ln2n -lpcap -lnatpmp -lminiupnpc -lcap -o src/example_edge_embed_quick_edge_init cp src/example_edge_embed_quick_edge_init example_edge_embed_quick_edge_init gcc -O3 -DN2N_OPTION_USE_PORTMAPPING -I./include -Wall -c -o src/example_edge_embed.o src/example_edge_embed.c gcc -pthread -L. src/example_edge_embed.o libn2n.a -ln2n -lpcap -lnatpmp -lminiupnpc -lcap -o src/example_edge_embed cp src/example_edge_embed example_edge_embed gcc -O3 -DN2N_OPTION_USE_PORTMAPPING -I./include -Wall -c -o src/example_sn_embed.o src/example_sn_embed.c gcc -pthread -L. src/example_sn_embed.o libn2n.a -ln2n -lpcap -lnatpmp -lminiupnpc -lcap -o src/example_sn_embed cp src/example_sn_embed example_sn_embed gzip -c edge.8 > edge.8.gz gzip -c supernode.1 > supernode.1.gz gzip -c n2n.7 > n2n.7.gz make -C tools make[1]: Entering directory '/root/n2n-3.0/tools' gcc -O3 -DN2N_OPTION_USE_PORTMAPPING -I./include -I../include -g3 -c -o n2n-benchmark.o n2n-benchmark.c gcc -pthread -L. -L.. n2n-benchmark.o -ln2n -o n2n-benchmark gcc -O3 -DN2N_OPTION_USE_PORTMAPPING -I./include -I../include -g3 -c -o n2n-keygen.o n2n-keygen.c gcc -pthread -L. -L.. n2n-keygen.o -ln2n -o n2n-keygen gcc -O3 -DN2N_OPTION_USE_PORTMAPPING -I./include -I../include -g3 -c -o n2n-route.o n2n-route.c gcc -pthread -L. -L.. n2n-route.o -ln2n -o n2n-route gcc -O3 -DN2N_OPTION_USE_PORTMAPPING -I./include -I../include -g3 -c -o n2n-portfwd.o n2n-portfwd.c gcc -pthread -L. -L.. n2n-portfwd.o -ln2n -o n2n-portfwd /usr/bin/ld: ../libn2n.a(n2n_port_mapping.o): in function n2n_natpmp_initialization': n2n_port_mapping.c:(.text+0x36): undefined reference toinitnatpmp' /usr/bin/ld: n2n_port_mapping.c:(.text+0x78): undefined reference to sendpublicaddressrequest' /usr/bin/ld: n2n_port_mapping.c:(.text+0xf7): undefined reference togetnatpmprequesttimeout' /usr/bin/ld: n2n_port_mapping.c:(.text+0x116): undefined reference to readnatpmpresponseorretry' /usr/bin/ld: n2n_port_mapping.c:(.text+0x253): undefined reference toclosenatpmp' /usr/bin/ld: ../libn2n.a(n2n_port_mapping.o): in function n2n_UPNP_GetValidIGD': n2n_port_mapping.c:(.text+0x2d5): undefined reference toupnpDiscover' /usr/bin/ld: n2n_port_mapping.c:(.text+0x3a1): undefined reference to UPNP_GetValidIGD' /usr/bin/ld: n2n_port_mapping.c:(.text+0x3b1): undefined reference tofreeUPNPDevlist' /usr/bin/ld: n2n_port_mapping.c:(.text+0x3ec): undefined reference to UPNP_GetExternalIPAddress' /usr/bin/ld: n2n_port_mapping.c:(.text+0x423): undefined reference tostrupnperror' /usr/bin/ld: n2n_port_mapping.c:(.text+0x47d): undefined reference to strupnperror' /usr/bin/ld: n2n_port_mapping.c:(.text+0x4a6): undefined reference tofreeUPNPDevlist' /usr/bin/ld: ../libn2n.a(n2n_port_mapping.o): in function n2n_natpmp_port_mapping_request': n2n_port_mapping.c:(.text+0x506): undefined reference tosendnewportmappingrequest' /usr/bin/ld: n2n_port_mapping.c:(.text+0x582): undefined reference to getnatpmprequesttimeout' /usr/bin/ld: n2n_port_mapping.c:(.text+0x5a1): undefined reference toreadnatpmpresponseorretry' /usr/bin/ld: ../libn2n.a(n2n_port_mapping.o): in function n2n_upnp_del_port_mapping.isra.0': n2n_port_mapping.c:(.text+0x7aa): undefined reference toUPNP_DeletePortMapping' /usr/bin/ld: n2n_port_mapping.c:(.text+0x7f5): undefined reference to UPNP_DeletePortMapping' /usr/bin/ld: n2n_port_mapping.c:(.text+0x806): undefined reference tostrupnperror' /usr/bin/ld: n2n_port_mapping.c:(.text+0x833): undefined reference to FreeUPNPUrls' /usr/bin/ld: n2n_port_mapping.c:(.text+0x86a): undefined reference tostrupnperror' /usr/bin/ld: ../libn2n.a(n2n_port_mapping.o): in function n2n_upnp_set_port_mapping.isra.0': n2n_port_mapping.c:(.text+0xa28): undefined reference toUPNP_AddPortMapping' /usr/bin/ld: n2n_port_mapping.c:(.text+0xa97): undefined reference to UPNP_AddPortMapping' /usr/bin/ld: n2n_port_mapping.c:(.text+0xaad): undefined reference tostrupnperror' /usr/bin/ld: n2n_port_mapping.c:(.text+0xadf): undefined reference to FreeUPNPUrls' /usr/bin/ld: n2n_port_mapping.c:(.text+0xb13): undefined reference tostrupnperror' /usr/bin/ld: ../libn2n.a(n2n_port_mapping.o): in function n2n_set_port_mapping': n2n_port_mapping.c:(.text+0xc83): undefined reference toclosenatpmp' /usr/bin/ld: n2n_port_mapping.c:(.text+0xd22): undefined reference to closenatpmp' /usr/bin/ld: n2n_port_mapping.c:(.text+0xd70): undefined reference toclosenatpmp' /usr/bin/ld: ../libn2n.a(n2n_port_mapping.o): in function n2n_del_port_mapping': n2n_port_mapping.c:(.text+0xe4e): undefined reference toclosenatpmp' /usr/bin/ld: n2n_port_mapping.c:(.text+0xee0): undefined reference to closenatpmp' /usr/bin/ld: ../libn2n.a(n2n_port_mapping.o):n2n_port_mapping.c:(.text+0xf25): more undefined references toclosenatpmp' follow collect2: error: ld returned 1 exit status make[1]: [: n2n-portfwd] Error 1 make[1]: Leaving directory '/root/n2n-3.0/tools' make: [Makefile:199: tools] Error 2

hamishcoleman commented 1 year ago

Sorry about that - a recent refactor missed one spot. I have addressed that with 8eb4e698dc00 which will be merged shortly