masscan icon indicating copy to clipboard operation
masscan copied to clipboard

Compile Error on Windows 10/MinGW32

Open schmitzCatz opened this issue 3 years ago • 11 comments

Hi,

I get several compile errors regarding src/rawsock-getmac.c I'm running current the msys2 toolchain trying to compile current master...

$ make -v GNU Make 4.3 Built for x86_64-pc-msys

$ gcc -v Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-pc-msys/10.2.0/lto-wrapper.exe Target: x86_64-pc-msys Configured with: /c/_/S/gcc/src/gcc-10.2.0/configure --build=x86_64-pc-msys --prefix=/usr --libexecdir=/usr/lib --enable-bootstrap --enable-shared --enable-shared-libgcc --enable-static --enable-version-specific-runtime-libs --with-arch=x86-64 --with-tune=generic --disable-multilib --enable-__cxa_atexit --with-dwarf2 --enable-languages=c,c++,fortran,lto --enable-graphite --enable-threads=posix --enable-libatomic --enable-libgomp --disable-libitm --enable-libquadmath --enable-libquadmath-support --disable-libssp --disable-win32-registry --disable-symvers --with-gnu-ld --with-gnu-as --disable-isl-version-check --enable-checking=release --without-libiconv-prefix --without-libintl-prefix --with-system-zlib --enable-linker-build-id --with-default-libstdcxx-abi=gcc4-compatible --enable-libstdcxx-filesystem-ts Thread model: posix Supported LTO compression algorithms: zlib gcc version 10.2.0 (GCC)

Output: src/rawsock-getmac.c: In function ‘rawsock_get_adapter_mac’: src/rawsock-getmac.c:183:42: error: ‘AF_LINK’ undeclared (first use in this function); did you mean ‘AF_HYLINK’? 183 | && p->ifa_addr->sa_family == AF_LINK) | ^~~~~~~ | AF_HYLINK src/rawsock-getmac.c:183:42: note: each undeclared identifier is reported only once for each function it appears in src/rawsock-getmac.c:197:23: error: invalid use of undefined type ‘struct sockaddr_dl’ 197 | if (len > link->sdl_alen) { | ^~ src/rawsock-getmac.c:199:23: error: invalid use of undefined type ‘struct sockaddr_dl’ 199 | len = link->sdl_alen; | ^~ src/rawsock-getmac.c:204:21: error: invalid use of undefined type ‘struct sockaddr_dl’ 204 | link->sdl_family, | ^~ src/rawsock-getmac.c:205:21: error: invalid use of undefined type ‘struct sockaddr_dl’ 205 | link->sdl_type, | ^~ src/rawsock-getmac.c:209:20: error: invalid use of undefined type ‘struct sockaddr_dl’ 209 | link->sdl_data + link->sdl_nlen, | ^~ src/rawsock-getmac.c:209:37: error: invalid use of undefined type ‘struct sockaddr_dl’ 209 | link->sdl_data + link->sdl_nlen, | ^~ make: *** [Makefile:109: tmp/rawsock-getmac.o] Error 1

Any ideas how to fix this?

schmitzCatz avatar Jun 11 '21 19:06 schmitzCatz

make problem. please update compiled file on the release version

khanjanny avatar Aug 03 '21 08:08 khanjanny

I have the same issue on the latest version of make and gcc I could find

MAKE VERSION:
GNU Make 4.3
Built for x86_64-pc-msys
Copyright (C) 1988-2020 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
GCC VERSION:
Using built-in specs.
COLLECT_GCC=/usr/bin/gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-pc-msys/11.2.0/lto-wrapper.exe
Target: x86_64-pc-msys
Configured with: /c/S/gcc/src/gcc-11.2.0/configure --build=x86_64-pc-msys --prefix=/usr --libexecdir=/usr/lib --enable-bootstrap --enable-shared --enable-shared-libgcc --enable-static --enable-version-specific-runtime-libs --with-arch=x86-64 --with-tune=generic --disable-multilib --enable-__cxa_atexit --with-dwarf2 --enable-languages=c,c++,fortran,lto --enable-graphite --enable-threads=posix --enable-libatomic --enable-libgomp --disable-libitm --enable-libquadmath --enable-libquadmath-support --disable-libssp --disable-win32-registry --disable-symvers --with-gnu-ld --with-gnu-as --disable-isl-version-check --enable-checking=release --without-libiconv-prefix --without-libintl-prefix --with-system-zlib --enable-linker-build-id --with-default-libstdcxx-abi=gcc4-compatible --enable-libstdcxx-filesystem-ts
Thread model: posix
Supported LTO compression algorithms: zlib
gcc version 11.2.0 (GCC)
OUTPUT:
cc -g -ggdb    -Wall -O2 -c src/rawsock-getmac.c -o tmp/rawsock-getmac.o
src/rawsock-getmac.c: In function 'rawsock_get_adapter_mac':
src/rawsock-getmac.c:183:42: error: 'AF_LINK' undeclared (first use in this function); did you mean 'AF_HYLINK'?
  183 |             && p->ifa_addr->sa_family == AF_LINK)
      |                                          ^~~~~~~
      |                                          AF_HYLINK
src/rawsock-getmac.c:183:42: note: each undeclared identifier is reported only once for each function it appears in
src/rawsock-getmac.c:197:23: error: invalid use of undefined type 'struct sockaddr_dl'
  197 |         if (len > link->sdl_alen) {
      |                       ^~
src/rawsock-getmac.c:199:23: error: invalid use of undefined type 'struct sockaddr_dl'
  199 |             len = link->sdl_alen;
      |                       ^~
src/rawsock-getmac.c:204:21: error: invalid use of undefined type 'struct sockaddr_dl'
  204 |                 link->sdl_family,
      |                     ^~
src/rawsock-getmac.c:205:21: error: invalid use of undefined type 'struct sockaddr_dl'
  205 |                 link->sdl_type,
      |                     ^~
src/rawsock-getmac.c:209:20: error: invalid use of undefined type 'struct sockaddr_dl'
  209 |                link->sdl_data + link->sdl_nlen,
      |                    ^~
src/rawsock-getmac.c:209:37: error: invalid use of undefined type 'struct sockaddr_dl'
  209 |                link->sdl_data + link->sdl_nlen,
      |                                     ^~
make: *** [Makefile:109: tmp/rawsock-getmac.o] Error 1

ghost avatar May 20 '22 15:05 ghost

make problem. please update compiled file on the release version

tried updating, but no avail :-(

schmitzCatz avatar Jun 18 '22 16:06 schmitzCatz

have same problem, still no fixes?

fr0zert avatar Jun 27 '22 10:06 fr0zert

Issue is open for 1 year, anybody success compiling masscan with msys2 on windows?

schmitzCatz avatar Oct 06 '22 13:10 schmitzCatz

same problem here, on windows

make -v
GNU Make 4.3
Built for x86_64-pc-cygwin
gcc -v
Using built-in specs.
COLLECT_GCC=/usr/bin/gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-pc-cygwin/11/lto-wrapper.exe
Target: x86_64-pc-cygwin
Configured with: /mnt/share/cygpkgs/gcc/gcc.x86_64/src/gcc-11.3.0/configure --srcdir=/mnt/share/cygpkgs/gcc/gcc.x86_64/src/gcc-11.3.0 --prefix=/usr --exec-prefix=/usr --localstatedir=/var --sysconfdir=/etc --docdir=/usr/share/doc/gcc --htmldir=/usr/share/doc/gcc/html -C --build=x86_64-pc-cygwin --host=x86_64-pc-cygwin --target=x86_64-pc-cygwin --without-libiconv-prefix --without-libintl-prefix --libexecdir=/usr/lib --with-gcc-major-version-only --enable-shared --enable-shared-libgcc --enable-static --enable-version-specific-runtime-libs --enable-bootstrap --enable-__cxa_atexit --with-dwarf2 --with-tune=generic --enable-languages=c,c++,fortran,lto,objc,obj-c++,jit --enable-graphite --enable-threads=posix --enable-libatomic --enable-libgomp --enable-libquadmath --enable-libquadmath-support --disable-libssp --enable-libada --disable-symvers --with-gnu-ld --with-gnu-as --with-cloog-include=/usr/include/cloog-isl --without-libiconv-prefix --without-libintl-prefix --with-system-zlib --enable-linker-build-id --with-default-libstdcxx-abi=gcc4-compatible --enable-libstdcxx-filesystem-ts
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 11.3.0 (GCC)
make
cc -g -ggdb  -I.  -Wall -O2 -c src/rawsock-getmac.c -o tmp/rawsock-getmac.o
src/rawsock-getmac.c: In function 'rawsock_get_adapter_mac':
src/rawsock-getmac.c:183:42: error: 'AF_LINK' undeclared (first use in this function); did you mean 'AF_HYLINK'?
  183 |             && p->ifa_addr->sa_family == AF_LINK)
      |                                          ^~~~~~~
      |                                          AF_HYLINK
src/rawsock-getmac.c:183:42: note: each undeclared identifier is reported only once for each function it appears in
src/rawsock-getmac.c:197:23: error: invalid use of undefined type 'struct sockaddr_dl'
  197 |         if (len > link->sdl_alen) {
      |                       ^~
src/rawsock-getmac.c:199:23: error: invalid use of undefined type 'struct sockaddr_dl'
  199 |             len = link->sdl_alen;
      |                       ^~
src/rawsock-getmac.c:204:21: error: invalid use of undefined type 'struct sockaddr_dl'
  204 |                 link->sdl_family,
      |                     ^~
src/rawsock-getmac.c:205:21: error: invalid use of undefined type 'struct sockaddr_dl'
  205 |                 link->sdl_type,
      |                     ^~
src/rawsock-getmac.c:209:20: error: invalid use of undefined type 'struct sockaddr_dl'
  209 |                link->sdl_data + link->sdl_nlen,
      |                    ^~
src/rawsock-getmac.c:209:37: error: invalid use of undefined type 'struct sockaddr_dl'
  209 |                link->sdl_data + link->sdl_nlen,
      |                                     ^~
make: *** [Makefile:109: tmp/rawsock-getmac.o] Error 1

Badbird5907 avatar Oct 22 '22 17:10 Badbird5907

@Badbird5907

I could be wrong as I am not too good of a developer, but from your logs it looks like you are using "cygwin" to compile when in the README.md it says

"Windows w/ cygwin: won't work"

A possible fix for you could be to switch to MinGW32, but I used that frmo the start and got the same error.

Arandom-username avatar Oct 26 '22 21:10 Arandom-username

Yep, that's what I did and it worked (with some changes) https://github.com/Badbird5907/masscan

Badbird5907 avatar Oct 27 '22 00:10 Badbird5907

bruh, im fix problem by just open project in VS and rebuild it and then compile it. dont need to rewrite anything

fr0zert avatar Mar 26 '23 14:03 fr0zert

I don't use VS

Badbird5907 avatar Mar 26 '23 23:03 Badbird5907

bruh, im fix problem by just open project in VS and rebuild it and then compile it. dont need to rewrite anything

Thanks for your contribution, but it looks like the mingw tool chain is not working.

schmitzCatz avatar Mar 27 '23 12:03 schmitzCatz