tomac / yersinia

A framework for layer 2 attacks
GNU General Public License v2.0
712 stars 122 forks source link

make error #65

Open killswitch2434 opened 3 years ago

killswitch2434 commented 3 years ago

I'm trying to install the tool on a centos 7 box. I'm getting the following error:

make[2]: Entering directory `/tmp/*****/yersinia-0.8.0/src'
gcc `/usr/bin/libnet-config --defines` -DHAVE_CONFIG_H -DPACKAGE_DATA_DIR=\""/usr/local/share"\" -DPACKAGE_LOCALE_DIR=\""/usr/local/share/locale"\" -I.  -pthread -I/usr/include/gtk-2.0 -I/usr/lib64/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/harfbuzz -I/usr/include/freetype2 -I/usr/include/libpng15 -I/usr/include/uuid -I/usr/include/pixman-1 -I/usr/include/libdrm      -O3 -Wall -g -D_DEFAULT_SOURCE -c terminal.c
terminal.c: In function 'term_destroy':
terminal.c:190:32: error: 'struct terminals' has no member named 'gui_th'
    pthread_mutex_destroy(&terms->gui_th.finished);
                                ^
terminal.c: In function 'term_add_node':
terminal.c:213:25: warning: variable 'console' set but not used [-Wunused-but-set-variable]
    struct term_console *console;
                         ^
make[2]: *** [terminal.o] Error 1
make[2]: Leaving directory `/tmp/*****/yersinia-0.8.0/src'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/tmp/*****/yersinia-0.8.0/src'
make: *** [all-recursive] Error 1
killswitch2434 commented 3 years ago

OP here. I tried it with the latest master branch. had the same error. I commented out the line in "terminal.c" file where the error was occurring. This fixed the issue and the build was successful. Not sure if this is good fix. I might have broken something. But the tool worked normally for the task I had.

aoshiken commented 1 year ago

I know I'm coming too late but anyway...

Seems an unwanted effect of some option from configure, please paste your configure command line.

Ricky-Tigg commented 11 months ago

Hello. Same observation on Fedora (edition 39)

$ uname -r
6.5.6-300.fc39.x86_64
$ dnf rq --userinstalled --qf '%{name} %{version}' make automake autoconf {gtk2,libnet,libpcap}-devel | column
autoconf 2.71       gtk2-devel 2.24.33  libpcap-devel 1.10.4
automake 1.16.5     libnet-devel 1.2    make 4.4.1

./configure's output: configure_command_line.txt

Could ./configure: line 8051: ./po/POTFILES.in: No such file or directory be the cause of make failure?

$ make
(...)
/usr/include/gtk-2.0/gtk/gtktypeutils.h:236:1: warning: ‘GTypeDebugFlags’ is deprecated [-Wdeprecated-declarations]
  236 | void            gtk_type_init   (GTypeDebugFlags    debug_flags);
      | ^~~~
(...)
/usr/include/glib-2.0/gobject/gtype.h:723:1: note: declared here
  723 | {
      | ^
(...)
/usr/include/gtk-2.0/gtk/gtktooltips.h:73:3: warning: ‘GTimeVal’ is deprecated: Use 'GDateTime' instead [-Wdeprecated-declarations]
   73 |   GTimeVal last_popdown;
      |   ^~~~~~~~
(...)
/usr/include/glib-2.0/glib/gtypes.h:580:8: note: declared here
  580 | struct _GTimeVal
      |        ^~~~~~~~~
terminal.c: In function ‘term_destroy’:
terminal.c:156:32: error: ‘struct terminals’ has no member named ‘gui_th’
  156 |    pthread_mutex_destroy(&terms->gui_th.finished);
      |                                ^~
terminal.c: In function ‘term_add_node’:
terminal.c:178:25: warning: variable ‘console’ set but not used [-Wunused-but-set-variable]
  178 |    struct term_console *console;
      |                         ^~~~~~~
make[2]: *** [Makefile:454: terminal.o] Error 1
make[2]: Leaving directory '/home/yk/Downloads/yersinia/src'
make[1]: *** [Makefile:352: all] Error 2
make[1]: Leaving directory '/home/yk/Downloads/yersinia/src'
make: *** [Makefile:460: all-recursive] Error 1