mdk4 icon indicating copy to clipboard operation
mdk4 copied to clipboard

Unable to make on manjaro

Open LZH200 opened this issue 4 years ago • 1 comments

i use manjaro 20.2.1 and i use the commands 'git clone https://github.com/aircrack-ng/mdk4' 'cd mdk4' 'and 'make'.I get error when I use 'make' follow make -C src clean make[1]: Entering directory '/home/lzh/mdk4/src' rm -f mdk4 rm -f debug.o helpers.o mac_addr.o linkedlist.o greylist.o dumpfile.o packet.o brute.o osdep.o channelhopper.o ghosting.o fragmenting.o rm -f ../test *.o make -C osdep clean make[2]: Entering directory '/home/lzh/mdk4/src/osdep' make -C radiotap clean make[3]: Entering directory '/home/lzh/mdk4/src/osdep/radiotap' rm -f *.o make[3]: Leaving directory '/home/lzh/mdk4/src/osdep/radiotap' rm -f libosdep.a .o .os. make[2]: Leaving directory '/home/lzh/mdk4/src/osdep' make -C attacks clean make[2]: Entering directory '/home/lzh/mdk4/src/attacks' rm -f attacks.o auth_dos.o beacon_flood.o countermeasures.o deauth.o dummy.o eapol.o fuzzer.o ieee80211s.o probing.o wids.o *.o make[2]: Leaving directory '/home/lzh/mdk4/src/attacks' make[1]: Leaving directory '/home/lzh/mdk4/src' make -C src make[1]: Entering directory '/home/lzh/mdk4/src' make -C osdep make[2]: Entering directory '/home/lzh/mdk4/src/osdep' Building for Linux make[3]: Entering directory '/home/lzh/mdk4/src/osdep' gcc -g -W -Wall -O3 -D_FILE_OFFSET_BITS=64 -D_REVISION=mdk4-v1 -DCONFIG_LIBNL30 -DCONFIG_LIBNL -I/usr/include/libnl3 -fPIC -I.. -c -o osdep.o osdep.c gcc -g -W -Wall -O3 -D_FILE_OFFSET_BITS=64 -D_REVISION=mdk4-v1 -DCONFIG_LIBNL30 -DCONFIG_LIBNL -I/usr/include/libnl3 -fPIC -I.. -c -o network.o network.c gcc -g -W -Wall -O3 -D_FILE_OFFSET_BITS=64 -D_REVISION=mdk4-v1 -DCONFIG_LIBNL30 -DCONFIG_LIBNL -I/usr/include/libnl3 -fPIC -I.. -c -o file.o file.c gcc -g -W -Wall -O3 -D_FILE_OFFSET_BITS=64 -D_REVISION=mdk4-v1 -DCONFIG_LIBNL30 -DCONFIG_LIBNL -I/usr/include/libnl3 -fPIC -I.. -c -o linux.o linux.c linux.c: In function ‘is_ndiswrapper’: linux.c:183:17: warning: variable ‘unused’ set but not used [-Wunused-but-set-variable] 183 | int n, pid, unused; | ^~~~~~ linux.c: In function ‘linux_set_rate’: linux.c:457:22: warning: variable ‘unused’ set but not used [-Wunused-but-set-variable] 457 | int pid, status, unused; | ^~~~~~ linux.c: In function ‘linux_set_channel_nl80211’: linux.c:950:22: warning: variable ‘unused’ set but not used [-Wunused-but-set-variable] 950 | int pid, status, unused; | ^~~~~~ linux.c: In function ‘linux_set_channel’: linux.c:1052:22: warning: variable ‘unused’ set but not used [-Wunused-but-set-variable] 1052 | int pid, status, unused; | ^~~~~~ linux.c: In function ‘linux_set_freq’: linux.c:1143:22: warning: variable ‘unused’ set but not used [-Wunused-but-set-variable] 1143 | int pid, status, unused; | ^~~~~~ linux.c: In function ‘set_monitor’: linux.c:1273:22: warning: variable ‘unused’ set but not used [-Wunused-but-set-variable] 1273 | int pid, status, unused; | ^~~~~~ linux.c: In function ‘openraw’: linux.c:1513:63: warning: comparison of constant ‘6’ with boolean expression is always false [-Wbool-compare] 1513 | if (set_monitor( dev, iface, fd ) && !dev->drivertype == DT_ORINOCO ) | ^~

linux.c:1513:63: warning: logical not is only applied to the left hand side of comparison [-Wlogical-not-parentheses] linux.c:1513:46: note: add parentheses around left hand side expression to silence this warning 1513 | if (set_monitor( dev, iface, fd ) && !dev->drivertype == DT_ORINOCO ) | ^~~~~~~~~~~~~~~~ | ( ) linux.c:1523:67: warning: comparison of constant ‘6’ with boolean expression is always false [-Wbool-compare] 1523 | if (set_monitor( dev, iface, fd ) && !dev->drivertype == DT_ORINOCO ) | ^~

linux.c:1523:67: warning: logical not is only applied to the left hand side of comparison [-Wlogical-not-parentheses] linux.c:1523:50: note: add parentheses around left hand side expression to silence this warning 1523 | if (set_monitor( dev, iface, fd ) && !dev->drivertype == DT_ORINOCO ) | ^~~~~~~~~~~~~~~~ | ( ) linux.c: In function ‘do_linux_open’: linux.c:1620:12: warning: variable ‘unused_str’ set but not used [-Wunused-but-set-variable] 1620 | char * unused_str; | ^~~~~~~~~~ linux.c:1606:15: warning: variable ‘unused’ set but not used [-Wunused-but-set-variable] 1606 | int kver, unused; | ^~~~~~ linux.c: In function ‘get_battery_state’: linux.c:2273:35: warning: variable ‘current’ set but not used [-Wunused-but-set-variable] 2273 | int rate = 1, remain = 0, current = 0; | ^~~~~~~ At top level: linux.c:2057:13: warning: ‘linux_close’ defined but not used [-Wunused-function] 2057 | static void linux_close(struct wif *wi) | ^~~~~~~~~~~ linux.c:1048:12: warning: ‘linux_set_channel’ defined but not used [-Wunused-function] 1048 | static int linux_set_channel(struct wif *wi, int channel) | ^~~~~~~~~~~~~~~~~ linux.c: In function ‘do_linux_open.constprop’: linux.c:1906:9: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=] 1906 | strncpy(dev->main_if, iface, strlen(iface)); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ linux.c:1911:9: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=] 1911 | strncpy(iface, buf, strlen(buf)); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ linux.c:1937:37: warning: ‘%s’ directive output may be truncated writing up to 255 bytes into a region of size 113 [-Wformat-truncation=] 1937 | "/sys/class/net/%s/device/rtap_iface", this_iface->d_name); | ^~ linux.c:1936:17: note: ‘snprintf’ output between 34 and 289 bytes into a destination of size 128 1936 | snprintf(r_file, sizeof(r_file), | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1937 | "/sys/class/net/%s/device/rtap_iface", this_iface->d_name); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ linux.c: In function ‘get_battery_state’: linux.c:2310:13: warning: argument 1 null where non-null expected [-Wnonnull] 2310 | closedir(batteries); | ^~~~~~~~~~~~~~~~~~~ In file included from linux.c:40: /usr/include/dirent.h:149:12: note: in a call to function ‘closedir’ declared here 149 | extern int closedir (DIR *__dirp) __nonnull ((1)); | ^~~~~~~~ linux.c:2318:78: warning: ‘%s’ directive output may be truncated writing up to 255 bytes into a region of size 109 [-Wformat-truncation=] 2318 | ntf(battery_info, sizeof(battery_info), "/proc/acpi/battery/%s/info", this_battery->d_name); | ^~

linux.c:2318:13: note: ‘snprintf’ output between 25 and 280 bytes into a destination of size 128 2318 | snprintf(battery_info, sizeof(battery_info), "/proc/acpi/battery/%s/info", this_battery->d_name); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ linux.c:2330:37: warning: ‘%s’ directive output may be truncated writing up to 255 bytes into a region of size 109 [-Wformat-truncation=] 2330 | "/proc/acpi/battery/%s/state", this_battery->d_name); | ^~ linux.c:2329:13: note: ‘snprintf’ output between 26 and 281 bytes into a destination of size 128 2329 | snprintf(battery_state, sizeof(battery_state), | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2330 | "/proc/acpi/battery/%s/state", this_battery->d_name); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ linux.c:2289:40: warning: ‘%s’ directive output may be truncated writing up to 255 bytes into a region of size 106 [-Wformat-truncation=] 2289 | "/proc/acpi/ac_adapter/%s/state", this_adapter->d_name); | ^~ linux.c:2288:13: note: ‘snprintf’ output between 29 and 284 bytes into a destination of size 128 2288 | snprintf(battery_state, sizeof(battery_state), | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2289 | "/proc/acpi/ac_adapter/%s/state", this_adapter->d_name); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ gcc -g -W -Wall -O3 -D_FILE_OFFSET_BITS=64 -D_REVISION=mdk4-v1 -DCONFIG_LIBNL30 -DCONFIG_LIBNL -I/usr/include/libnl3 -fPIC -I.. -c -o linux_tap.o linux_tap.c In function ‘ti_do_open_linux’, inlined from ‘ti_open_linux’ at linux_tap.c:192:7, inlined from ‘ti_open’ at linux_tap.c:207:9: linux_tap.c:72:5: warning: ‘strncpy’ output may be truncated copying 15 bytes from a string of length 63 [-Wstringop-truncation] 72 | strncpy(priv->tl_ifr.ifr_name, priv->tl_name, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 73 | sizeof(priv->tl_ifr.ifr_name) - 1); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ gcc -g -W -Wall -O3 -D_FILE_OFFSET_BITS=64 -D_REVISION=mdk4-v1 -DCONFIG_LIBNL30 -DCONFIG_LIBNL -I/usr/include/libnl3 -fPIC -I.. -c -o radiotap/radiotap.o radiotap/radiotap.c gcc -g -W -Wall -O3 -D_FILE_OFFSET_BITS=64 -D_REVISION=mdk4-v1 -DCONFIG_LIBNL30 -DCONFIG_LIBNL -I/usr/include/libnl3 -fPIC -I.. -c -o common.o common.c ar cru libosdep.a osdep.o network.o file.o linux.o linux_tap.o radiotap/radiotap.o common.o ar: u' modifier ignored since D' is the default (see `U') ranlib libosdep.a touch .os.Linux make[3]: Leaving directory '/home/lzh/mdk4/src/osdep' make[2]: Leaving directory '/home/lzh/mdk4/src/osdep' gcc -g -W -Wall -O3 -D_FILE_OFFSET_BITS=64 -D_REVISION=mdk4-v1 -DCONFIG_LIBNL30 -DCONFIG_LIBNL -I/usr/include/libnl3 -g -O3 -Wall -Wextra -fcommon -c -o debug.o debug.c gcc -g -W -Wall -O3 -D_FILE_OFFSET_BITS=64 -D_REVISION=mdk4-v1 -DCONFIG_LIBNL30 -DCONFIG_LIBNL -I/usr/include/libnl3 -g -O3 -Wall -Wextra -fcommon -c -o helpers.o helpers.c gcc -g -W -Wall -O3 -D_FILE_OFFSET_BITS=64 -D_REVISION=mdk4-v1 -DCONFIG_LIBNL30 -DCONFIG_LIBNL -I/usr/include/libnl3 -g -O3 -Wall -Wextra -fcommon -c -o mac_addr.o mac_addr.c gcc -g -W -Wall -O3 -D_FILE_OFFSET_BITS=64 -D_REVISION=mdk4-v1 -DCONFIG_LIBNL30 -DCONFIG_LIBNL -I/usr/include/libnl3 -g -O3 -Wall -Wextra -fcommon -c -o linkedlist.o linkedlist.c gcc -g -W -Wall -O3 -D_FILE_OFFSET_BITS=64 -D_REVISION=mdk4-v1 -DCONFIG_LIBNL30 -DCONFIG_LIBNL -I/usr/include/libnl3 -g -O3 -Wall -Wextra -fcommon -c -o greylist.o greylist.c gcc -g -W -Wall -O3 -D_FILE_OFFSET_BITS=64 -D_REVISION=mdk4-v1 -DCONFIG_LIBNL30 -DCONFIG_LIBNL -I/usr/include/libnl3 -g -O3 -Wall -Wextra -fcommon -c -o dumpfile.o dumpfile.c gcc -g -W -Wall -O3 -D_FILE_OFFSET_BITS=64 -D_REVISION=mdk4-v1 -DCONFIG_LIBNL30 -DCONFIG_LIBNL -I/usr/include/libnl3 -g -O3 -Wall -Wextra -fcommon -c -o packet.o packet.c packet.c: In function ‘create_ieee_hdr’: packet.c:13:3: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation] 13 | if (!fragment) seqno++; seqno %= 0x1000; | ^~ packet.c:13:27: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘if’ 13 | if (!fragment) seqno++; seqno %= 0x1000; | ^~~~~ gcc -g -W -Wall -O3 -D_FILE_OFFSET_BITS=64 -D_REVISION=mdk4-v1 -DCONFIG_LIBNL30 -DCONFIG_LIBNL -I/usr/include/libnl3 -g -O3 -Wall -Wextra -fcommon -c -o brute.o brute.c gcc -g -W -Wall -O3 -D_FILE_OFFSET_BITS=64 -D_REVISION=mdk4-v1 -DCONFIG_LIBNL30 -DCONFIG_LIBNL -I/usr/include/libnl3 -g -O3 -Wall -Wextra -fcommon -c -o osdep.o osdep.c osdep.c: In function ‘osdep_init_txpowers’: osdep.c:180:5: warning: ‘strncpy’ specified bound 16 equals destination size [-Wstringop-truncation] 180 | strncpy(wreq.ifr_name, osdep_iface_out, IFNAMSIZ); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ osdep.c:219:3: warning: ‘strncpy’ specified bound 16 equals destination size [-Wstringop-truncation] 219 | strncpy(wreq.ifr_name, osdep_iface_in, IFNAMSIZ); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ osdep.c:166:7: warning: ‘%s’ directive argument is null [-Wformat-overflow=] 166 | printf("D'oh, open interface %s first, idiot...\n", osdep_iface_out); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ osdep.c: In function ‘osdep_random_txpower’: osdep.c:266:5: warning: ‘strncpy’ specified bound 16 equals destination size [-Wstringop-truncation] 266 | strncpy(wreq.ifr_name, osdep_iface_out, IFNAMSIZ); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ osdep.c:283:3: warning: ‘strncpy’ specified bound 16 equals destination size [-Wstringop-truncation] 283 | strncpy(wreq.ifr_name, osdep_iface_in, IFNAMSIZ); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ gcc -g -W -Wall -O3 -D_FILE_OFFSET_BITS=64 -D_REVISION=mdk4-v1 -DCONFIG_LIBNL30 -DCONFIG_LIBNL -I/usr/include/libnl3 -g -O3 -Wall -Wextra -fcommon -c -o channelhopper.o channelhopper.c channelhopper.c:48:26: warning: initialization of ‘pthread_t’ {aka ‘long unsigned int’} from ‘void *’ makes integer from pointer without a cast [-Wint-conversion] 48 | pthread_t chan_sniffer = NULL; | ^~~~ channelhopper.c: In function ‘error_handler’: channelhopper.c:155:46: warning: unused parameter ‘nla’ [-Wunused-parameter] 155 | static int error_handler(struct sockaddr_nl *nla, struct nlmsgerr *err, | ~~~~~~~~~~~~~~~~~~~~^~~ channelhopper.c: In function ‘finish_handler’: channelhopper.c:163:42: warning: unused parameter ‘msg’ [-Wunused-parameter] 163 | static int finish_handler(struct nl_msg *msg, void *arg) | ~~~~~~~~~~~~~~~^~~ channelhopper.c: In function ‘ack_handler’: channelhopper.c:170:39: warning: unused parameter ‘msg’ [-Wunused-parameter] 170 | static int ack_handler(struct nl_msg *msg, void *arg) | ~~~~~~~~~~~~~~~^~~ channelhopper.c: In function ‘valid_handler’: channelhopper.c:186:45: warning: unused parameter ‘arg’ [-Wunused-parameter] 186 | int valid_handler(struct nl_msg *msg, void *arg) | ~~~~~~^~~ channelhopper.c: In function ‘handle_channels’: channelhopper.c:328:50: warning: unused parameter ‘state’ [-Wunused-parameter] 328 | static int handle_channels(struct nl80211_state *state, struct nl_msg *msg) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~ At top level: channelhopper.c:240:14: warning: ‘dfs_state_name’ defined but not used [-Wunused-function] 240 | static char *dfs_state_name(enum nl80211_dfs_state state) | ^~~~~~~~~~~~~~ gcc -g -W -Wall -O3 -D_FILE_OFFSET_BITS=64 -D_REVISION=mdk4-v1 -DCONFIG_LIBNL30 -DCONFIG_LIBNL -I/usr/include/libnl3 -g -O3 -Wall -Wextra -fcommon -c -o ghosting.o ghosting.c gcc -g -W -Wall -O3 -D_FILE_OFFSET_BITS=64 -D_REVISION=mdk4-v1 -DCONFIG_LIBNL30 -DCONFIG_LIBNL -I/usr/include/libnl3 -g -O3 -Wall -Wextra -fcommon -c -o fragmenting.o fragmenting.c make -C attacks make[2]: Entering directory '/home/lzh/mdk4/src/attacks' cc -g -O3 -Wall -Wextra -c -o attacks.o attacks.c cc -g -O3 -Wall -Wextra -c -o auth_dos.o auth_dos.c cc -g -O3 -Wall -Wextra -c -o beacon_flood.o beacon_flood.c cc -g -O3 -Wall -Wextra -c -o countermeasures.o countermeasures.c cc -g -O3 -Wall -Wextra -c -o deauth.o deauth.c cc -g -O3 -Wall -Wextra -c -o dummy.o dummy.c cc -g -O3 -Wall -Wextra -c -o eapol.o eapol.c cc -g -O3 -Wall -Wextra -c -o fuzzer.o fuzzer.c cc -g -O3 -Wall -Wextra -c -o ieee80211s.o ieee80211s.c cc -g -O3 -Wall -Wextra -c -o probing.o probing.c probing.c: In function ‘create_probe_req’: probing.c:236:3: warning: implicit declaration of function ‘add_ssid_set’ [-Wimplicit-function-declaration] 236 | add_ssid_set(&probe, ssid); | ^~~~~~~~~~~~ probing.c:237:3: warning: implicit declaration of function ‘add_rate_sets’ [-Wimplicit-function-declaration] 237 | add_rate_sets(&probe, 1, 1); | ^~~~~~~~~~~~~ probing.c:240:25: warning: pointer targets in passing argument 2 of ‘stpcpy’ differ in signedness [-Wpointer-sign] 240 | stpcpy(popt->proceed, ssid); | ^~~~ | | | unsigned char * In file included from probing.c:4: /usr/include/string.h:475:70: note: expected ‘const char * restrict’ but argument is of type ‘unsigned char *’ 475 | rn char *stpcpy (char *__restrict __dest, const char *__restrict __src) | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~

cc -g -O3 -Wall -Wextra -c -o wids.o wids.c make[2]: Leaving directory '/home/lzh/mdk4/src/attacks' make -C attacks make[2]: Entering directory '/home/lzh/mdk4/src/attacks' make[2]: Nothing to be done for 'all'. make[2]: Leaving directory '/home/lzh/mdk4/src/attacks' gcc -g -W -Wall -O3 -D_FILE_OFFSET_BITS=64 -D_REVISION=mdk4-v1 -DCONFIG_LIBNL30 -DCONFIG_LIBNL -I/usr/include/libnl3 -g -O3 -Wall -Wextra -fcommon mdk4.c osdep/libosdep.a debug.o helpers.o mac_addr.o linkedlist.o greylist.o dumpfile.o packet.o brute.o osdep.o channelhopper.o ghosting.o fragmenting.o attacks/attacks.o attacks/auth_dos.o attacks/beacon_flood.o attacks/countermeasures.o attacks/deauth.o attacks/dummy.o attacks/eapol.o attacks/fuzzer.o attacks/ieee80211s.o attacks/probing.o attacks/wids.o -o mdk4 -lnl-genl-3 -lnl-3 -lm -Losdep -losdep -lpthread -lpcap /usr/bin/ld: attacks/auth_dos.o:/home/lzh/mdk4/src/attacks/attacks.h:39: multiple definition of attack_count'; attacks/attacks.o:/home/lzh/mdk4/src/attacks/attacks.h:39: first defined here /usr/bin/ld: attacks/beacon_flood.o:/home/lzh/mdk4/src/attacks/beacon_flood.c:34: multiple definition of bssid'; attacks/auth_dos.o:/home/lzh/mdk4/src/attacks/auth_dos.c:50: first defined here /usr/bin/ld: attacks/beacon_flood.o:/home/lzh/mdk4/src/attacks/attacks.h:39: multiple definition of attack_count'; attacks/attacks.o:/home/lzh/mdk4/src/attacks/attacks.h:39: first defined here /usr/bin/ld: attacks/countermeasures.o:/home/lzh/mdk4/src/attacks/attacks.h:39: multiple definition of attack_count'; attacks/attacks.o:/home/lzh/mdk4/src/attacks/attacks.h:39: first defined here /usr/bin/ld: attacks/deauth.o:/home/lzh/mdk4/src/attacks/deauth.c:19: multiple definition of bssid'; attacks/auth_dos.o:/home/lzh/mdk4/src/attacks/auth_dos.c:50: first defined here /usr/bin/ld: attacks/deauth.o:/home/lzh/mdk4/src/attacks/attacks.h:39: multiple definition of attack_count'; attacks/attacks.o:/home/lzh/mdk4/src/attacks/attacks.h:39: first defined here /usr/bin/ld: attacks/dummy.o:/home/lzh/mdk4/src/attacks/attacks.h:39: multiple definition of attack_count'; attacks/attacks.o:/home/lzh/mdk4/src/attacks/attacks.h:39: first defined here /usr/bin/ld: attacks/eapol.o:/home/lzh/mdk4/src/attacks/attacks.h:39: multiple definition of attack_count'; attacks/attacks.o:/home/lzh/mdk4/src/attacks/attacks.h:39: first defined here /usr/bin/ld: attacks/fuzzer.o:/home/lzh/mdk4/src/attacks/attacks.h:39: multiple definition of attack_count'; attacks/attacks.o:/home/lzh/mdk4/src/attacks/attacks.h:39: first defined here /usr/bin/ld: attacks/ieee80211s.o:/home/lzh/mdk4/src/attacks/attacks.h:39: multiple definition of attack_count'; attacks/attacks.o:/home/lzh/mdk4/src/attacks/attacks.h:39: first defined here /usr/bin/ld: attacks/probing.o:/home/lzh/mdk4/src/attacks/attacks.h:39: multiple definition of attack_count'; attacks/attacks.o:/home/lzh/mdk4/src/attacks/attacks.h:39: first defined here /usr/bin/ld: attacks/wids.o:/home/lzh/mdk4/src/attacks/attacks.h:39: multiple definition of attack_count'; attacks/attacks.o:/home/lzh/mdk4/src/attacks/attacks.h:39: first defined here collect2: error: ld returned 1 exit status make[1]: *** [Makefile:38: mdk4] Error 1 make[1]: Leaving directory '/home/lzh/mdk4/src' make: *** [Makefile:10: all] Error 2

LZH200 avatar Feb 06 '21 11:02 LZH200

The issue has bean fixed, you can pull the latest code.

E7mer avatar Feb 26 '21 02:02 E7mer