gcc -Wall -O2 -DVERSION=\"1.5.7\" -D__UNIX -D__LINUX -DLARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -c main.c gcc -Wall -O2 -DVERSION=\"1.5.7\" -D__UNIX -D__LINUX -DLARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -c state.c gcc -Wall -O2 -DVERSION=\"1.5.7\" -D__UNIX -D__LINUX -DLARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -c helpers.c gcc -Wall -O2 -DVERSION=\"1.5.7\" -D__UNIX -D__LINUX -DLARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -c config.c gcc -Wall -O2 -DVERSION=\"1.5.7\" -D__UNIX -D__LINUX -DLARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -c cli.c gcc -Wall -O2 -DVERSION=\"1.5.7\" -D__UNIX -D__LINUX -DLARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -c engine.c gcc -Wall -O2 -DVERSION=\"1.5.7\" -D__UNIX -D__LINUX -DLARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -c dir.c gcc -Wall -O2 -DVERSION=\"1.5.7\" -D__UNIX -D__LINUX -DLARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -c extract.c gcc -Wall -O2 -DVERSION=\"1.5.7\" -D__UNIX -D__LINUX -DLARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -c api.c config.c: In function ‘translate’: config.c:27:6: warning: value computed is not used [-Wunused-value] 27 | *rd++; | ^~~~~ config.c:32:6: warning: value computed is not used [-Wunused-value] 32 | *rd++; | ^~~~~ config.c:37:6: warning: value computed is not used [-Wunused-value] 37 | *rd++; | ^~~~~ config.c:42:6: warning: value computed is not used [-Wunused-value] 42 | *rd++; | ^~~~~ config.c:47:6: warning: value computed is not used [-Wunused-value] 47 | *rd++; | ^~~~~ config.c:52:6: warning: value computed is not used [-Wunused-value] 52 | *rd++; | ^~~~~ config.c:57:6: warning: value computed is not used [-Wunused-value] 57 | *rd++; | ^~~~~ engine.c: In function ‘search_chunk’: engine.c:319:17: warning: variable ‘current_pos’ set but not used [-Wunused-but-set-variable] 319 | unsigned char *current_pos = NULL; | ^~~~~~~~~~~ extract.c: In function ‘extract_htm’: extract.c:556:17: warning: variable ‘currentpos’ set but not used [-Wunused-but-set-variable] 556 | unsigned char *currentpos = NULL; | ^~~~~~~~~~ api.c: In function ‘dump_dirent’: api.c:481:10: warning: variable ‘unknown’ set but not used [-Wunused-but-set-variable] 481 | short unknown; | ^~~~~~~ extract.c: In function ‘extract_wmv’: extract.c:1157:14: warning: variable ‘fileObjHeaderSize’ set but not used [-Wunused-but-set-variable] 1157 | u_int64_t fileObjHeaderSize = 0; | ^~~~~~~~~~~~~~~~~ extract.c:1150:17: warning: variable ‘currentpos’ set but not used [-Wunused-but-set-variable] 1150 | unsigned char *currentpos = NULL; | ^~~~~~~~~~ extract.c: In function ‘extract_gif’: extract.c:1404:17: warning: variable ‘currentpos’ set but not used [-Wunused-but-set-variable] 1404 | unsigned char *currentpos = foundat; | ^~~~~~~~~~ extract.c: In function ‘extract_jpeg’: extract.c:1824:17: warning: variable ‘currentpos’ set but not used [-Wunused-but-set-variable] 1824 | unsigned char *currentpos = NULL; | ^~~~~~~~~~ extract.c: In function ‘extract_exe’: extract.c:2109:15: warning: variable ‘align’ set but not used [-Wunused-but-set-variable] 2109 | unsigned int align = 0; | ^~~~~ extract.c:2105:15: warning: variable ‘size_of_headers’ set but not used [-Wunused-but-set-variable] 2105 | unsigned int size_of_headers = 0; | ^~~~~~~~~~~~~~~ extract.c:2103:15: warning: variable ‘sizeofimage’ set but not used [-Wunused-but-set-variable] 2103 | unsigned int sizeofimage = 0; | ^~~~~~~~~~~ extract.c:2100:15: warning: variable ‘rva’ set but not used [-Wunused-but-set-variable] 2100 | unsigned int rva = 0; | ^~~ extract.c:2099:15: warning: variable ‘SizeOfUninitializedData’ set but not used [-Wunused-but-set-variable] 2099 | unsigned int SizeOfUninitializedData = 0; | ^~~~~~~~~~~~~~~~~~~~~~~ extract.c:2098:15: warning: variable ‘SizeOfInitializedData’ set but not used [-Wunused-but-set-variable] 2098 | unsigned int SizeOfInitializedData = 0; | ^~~~~~~~~~~~~~~~~~~~~ extract.c:2097:15: warning: variable ‘SizeOfCode’ set but not used [-Wunused-but-set-variable] 2097 | unsigned int SizeOfCode = 0; | ^~~~~~~~~~ extract.c: In function ‘extract_rar’: extract.c:2272:13: warning: variable ‘file_size’ set but not used [-Wunused-but-set-variable] 2272 | u_int64_t file_size = 0; | ^~~~~~~~~ state.c: In function ‘set_input_file’: state.c:206:2: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=] 206 | strncpy(s->input_file, filename, strlen(filename) + 1); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ state.c:206:35: note: length computed here 206 | strncpy(s->input_file, filename, strlen(filename) + 1); | ^~~~~~~~~~~~~~~~ extract.c: In function ‘extract_exe’: extract.c:2139:29: warning: ‘:’ directive writing 1 byte into a region of size between 0 and 16 [-Wformat-overflow=] 2139 | "%02d/%02d/%04d %02d:%02d:%02d", | ^ extract.c:2138:2: note: ‘sprintf’ output between 20 and 72 bytes into a destination of size 32 2138 | sprintf(ascii_time, | ^~~~~~~~~~~~~~~~~~~ 2139 | "%02d/%02d/%04d %02d:%02d:%02d", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2140 | ret_time->tm_mon + 1, | ~~~~~~~~~~~~~~~~~~~~~ 2141 | ret_time->tm_mday, | ~~~~~~~~~~~~~~~~~~ 2142 | ret_time->tm_year + 1900, | ~~~~~~~~~~~~~~~~~~~~~~~~~ 2143 | ret_time->tm_hour, | ~~~~~~~~~~~~~~~~~~ 2144 | ret_time->tm_min, | ~~~~~~~~~~~~~~~~~ 2145 | ret_time->tm_sec); | ~~~~~~~~~~~~~~~~~ gcc -Wall -O2 -DVERSION=\"1.5.7\" -D__UNIX -D__LINUX -DLARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 main.o state.o helpers.o config.o cli.o engine.o dir.o extract.o api.o -o foremost /usr/bin/ld: state.o:(.bss+0xbd760): multiple definition of `wildcard'; main.o:(.bss+0xbd760): first defined here /usr/bin/ld: state.o:(.bss+0x20): multiple definition of `search_spec'; main.o:(.bss+0x20): first defined here /usr/bin/ld: state.o:(.bss+0x0): multiple definition of `signal_caught'; main.o:(.bss+0x0): first defined here /usr/bin/ld: helpers.o:(.bss+0x20): multiple definition of `search_spec'; main.o:(.bss+0x20): first defined here /usr/bin/ld: helpers.o:(.bss+0xbd760): multiple definition of `wildcard'; main.o:(.bss+0xbd760): first defined here /usr/bin/ld: helpers.o:(.bss+0x0): multiple definition of `signal_caught'; main.o:(.bss+0x0): first defined here /usr/bin/ld: config.o:(.bss+0x20): multiple definition of `search_spec'; main.o:(.bss+0x20): first defined here /usr/bin/ld: config.o:(.bss+0xbd760): multiple definition of `wildcard'; main.o:(.bss+0xbd760): first defined here /usr/bin/ld: config.o:(.bss+0x0): multiple definition of `signal_caught'; main.o:(.bss+0x0): first defined here /usr/bin/ld: cli.o:(.bss+0x0): multiple definition of `signal_caught'; main.o:(.bss+0x0): first defined here /usr/bin/ld: cli.o:(.bss+0x20): multiple definition of `search_spec'; main.o:(.bss+0x20): first defined here /usr/bin/ld: cli.o:(.bss+0xbd760): multiple definition of `wildcard'; main.o:(.bss+0xbd760): first defined here /usr/bin/ld: engine.o:(.bss+0x20): multiple definition of `search_spec'; main.o:(.bss+0x20): first defined here /usr/bin/ld: engine.o:(.bss+0x0): multiple definition of `signal_caught'; main.o:(.bss+0x0): first defined here /usr/bin/ld: engine.o:(.bss+0xbd760): multiple definition of `wildcard'; main.o:(.bss+0xbd760): first defined here /usr/bin/ld: dir.o:(.bss+0x20): multiple definition of `search_spec'; main.o:(.bss+0x20): first defined here /usr/bin/ld: dir.o:(.bss+0x0): multiple definition of `signal_caught'; main.o:(.bss+0x0): first defined here /usr/bin/ld: dir.o:(.bss+0xbd760): multiple definition of `wildcard'; main.o:(.bss+0xbd760): first defined here /usr/bin/ld: extract.o:(.bss+0x10): multiple definition of `signal_caught'; main.o:(.bss+0x0): first defined here /usr/bin/ld: extract.o:(.bss+0x20): multiple definition of `search_spec'; main.o:(.bss+0x20): first defined here /usr/bin/ld: extract.o:(.bss+0xbd760): multiple definition of `wildcard'; main.o:(.bss+0xbd760): first defined here /usr/bin/ld: api.o:(.bss+0x448): multiple definition of `dirlist'; extract.o:(.bss+0x8): first defined here /usr/bin/ld: api.o:(.bss+0x440): multiple definition of `dl'; extract.o:(.bss+0x0): first defined here /usr/bin/ld: api.o:(.bss+0x450): multiple definition of `signal_caught'; main.o:(.bss+0x0): first defined here /usr/bin/ld: api.o:(.bss+0x460): multiple definition of `search_spec'; main.o:(.bss+0x20): first defined here /usr/bin/ld: api.o:(.bss+0xbdba0): multiple definition of `wildcard'; main.o:(.bss+0xbd760): first defined here collect2: error: ld returned 1 exit status make: *** [Makefile:113: foremost] Error 1 ==> ERROR:(B A failure occurred in build().(B  Aborting...(B