Ethereal-dev: [Ethereal-dev] GTK+ 1.3 errors

Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.

From: "Gisle Vanem" <giva@xxxxxxxxx>
Date: Thu, 14 Aug 2003 16:04:48 +0200
I have successfully built some of the Ethereal 0.9.14 distribution
(editcap, dftest and tetereal) using MingW and gcc 3.3.1, but got stuck
at the main program ethereal. I used my homebrew makefile modeled
after makefile.nmake.

I get heaps of asserts and warnings from GTK:
----------------------------------------

Gtk-WARNING **: gtk_type_create(): type `GtkCList' already exists.

Gtk-WARNING **: gtk_type_create(): type `GtkCList' already exists.

Gtk-CRITICAL **: file gtktypeutils.c: line 337 (gtk_type_class): assertion `node != NULL' failed

Gtk-WARNING **: gtk_arg_type_new(): argument class in "GtkCTree::n_columns" is not in the `GtkObject' ancestry

Gtk-WARNING **: gtk_arg_type_new(): argument class in "GtkCTree::tree_column" is not in the `GtkObject' ancestry

Gtk-WARNING **: gtk_arg_type_new(): argument class in "GtkCTree::indent" is not in the `GtkObject' ancestry

Gtk-WARNING **: gtk_arg_type_new(): argument class in "GtkCTree::spacing" is not in the `GtkObject' ancestry

Gtk-WARNING **: gtk_arg_type_new(): argument class in "GtkCTree::show_stub" is not in the `GtkObject' ancestry

Gtk-WARNING **: gtk_arg_type_new(): argument class in "GtkCTree::line_style" is not in the `GtkObject' ancestry

Gtk-WARNING **: gtk_arg_type_new(): argument class in "GtkCTree::expander_style" is not in the `GtkObject' ancestry

Gtk-CRITICAL **: file gtksignal.c: line 438 (gtk_signal_lookup): assertion `gtk_type_is_a (object_type, GTK_TYPE_OBJECT)' failed

Gtk-CRITICAL **: file gtksignal.c: line 438 (gtk_signal_lookup): assertion `gtk_type_is_a (object_type, GTK_TYPE_OBJECT)' failed

Gtk-CRITICAL **: file gtksignal.c: line 438 (gtk_signal_lookup): assertion `gtk_type_is_a (object_type, GTK_TYPE_OBJECT)' failed

Gtk-CRITICAL **: file gtksignal.c: line 438 (gtk_signal_lookup): assertion `gtk_type_is_a (object_type, GTK_TYPE_OBJECT)' failed

Gtk-CRITICAL **: file gtksignal.c: line 438 (gtk_signal_lookup): assertion `gtk_type_is_a (object_type, GTK_TYPE_OBJECT)' failed

Gtk-CRITICAL **: file gtksignal.c: line 438 (gtk_signal_lookup): assertion `gtk_type_is_a (object_type, GTK_TYPE_OBJECT)' failed

Gtk-CRITICAL **: file gtkobject.c: line 357 (gtk_object_class_add_signals): assertion `GTK_IS_OBJECT_CLASS (class)' failed

Gtk-CRITICAL **: file gtkbindings.c: line 451 (gtk_binding_set_by_class): assertion `GTK_IS_OBJECT_CLASS (class)' failed

Gtk-CRITICAL **: file gtkbindings.c: line 644 (gtk_binding_entry_add_signal): assertion `binding_set != NULL' failed

Gtk-CRITICAL **: file gtkbindings.c: line 644 (gtk_binding_entry_add_signal): assertion `binding_set != NULL' failed

Gtk-CRITICAL **: file gtkbindings.c: line 644 (gtk_binding_entry_add_signal): assertion `binding_set != NULL' failed

Gtk-CRITICAL **: file gtkbindings.c: line 644 (gtk_binding_entry_add_signal): assertion `binding_set != NULL' failed

Gtk-CRITICAL **: file gtkbindings.c: line 644 (gtk_binding_entry_add_signal): assertion `binding_set != NULL' failed

Gtk-CRITICAL **: file gtkbindings.c: line 644 (gtk_binding_entry_add_signal): assertion `binding_set != NULL' failed

Gtk-CRITICAL **: file gtkbindings.c: line 644 (gtk_binding_entry_add_signal): assertion `binding_set != NULL' failed

Gtk-CRITICAL **: file gtkbindings.c: line 644 (gtk_binding_entry_add_signal): assertion `binding_set != NULL' failed

Gtk-CRITICAL **: file gtkbindings.c: line 644 (gtk_binding_entry_add_signal): assertion `binding_set != NULL' failed

Gtk-WARNING **: gtk_type_create(): type `GtkCList' already exists.

Gtk-WARNING **: invalid cast from `GtkCTree' to `(unknown)'

Gtk-WARNING **: gtk_type_create(): type `GtkCList' already exists.

Gtk-WARNING **: invalid cast from `GtkCTree' to `(unknown)'

Gtk-WARNING **: gtk_type_create(): type `GtkCList' already exists.

Gtk-WARNING **: invalid cast from `GtkCTree' to `(unknown)'

Gtk-WARNING **: invalid cast from `GtkCTree' to `GtkObject'

Gtk-WARNING **: gtk_type_create(): type `GtkCList' already exists.

Gtk-WARNING **: invalid cast from `GtkCTree' to `(unknown)'

Gtk-WARNING **: gtk_type_create(): type `GtkCList' already exists.

Gtk-CRITICAL **: file gtkclist.c: line 1003 (gtk_clist_construct): assertion `GTK_IS_CLIST (clist)' failed

Gtk-WARNING **: gtk_type_create(): type `GtkCList' already exists.

Gtk-WARNING **: invalid cast from `GtkCTree' to `(unknown)'

----------------------------------------

and finally a crash  in gtk_ctree_set_line_style:

----------------------------------------
ethereal.exe caused an Access Violation at location 00d2ff38 in module gtk-1.3.dll 
Reading from location 00000024.

Registers:
eax=00000000 ebx=0145b798 ecx=00000000 edx=00000000 esi=0145b798 edi=00000000
eip=00d2ff38 esp=0022fad0 ebp=0022faf8 iopl=0         nv up ei pl nz na pe nc
cs=001b  ss=0023  ds=0023  es=0023  fs=0038  gs=0000             efl=00000202

Call stack:
00D2FF38  gtk-1.3.dll:00D2FF38  gtk_ctree_set_line_style
0090520C  ethereal.exe:0090520C
00904FD4  ethereal.exe:00904FD4
00904F75  ethereal.exe:00904F75
009039BB  ethereal.exe:009039BB
008DE685  ethereal.exe:008DE685
008DD543  ethereal.exe:008DD543
00401182  ethereal.exe:00401182
00401018  ethereal.exe:00401018
77E814C7  kernel32.dll:77E814C7  _BaseProcessStart@4
------------------------------------

I think I have all required .dll and import libraries. Some of the vital
ones:

>filever "\MingW32\src\gtk+\gtk\gtk-1.3.dll"
--a-- W32i   DLL ENU        1.3.0.50 shp  1,439,618 12-16-2000 gtk-1.3.dll

>filever "\MingW32\src\gtk+\gdk\gdk-1.3.dll"
--a-- W32i   DLL ENU       1.3.0.118 shp    431,313 12-26-2000 gdk-1.3.dll

I also have the MingW compiled g*.a import libraries from the GTK+ 1.3 distribution.
And I'm using Glib 1.3.1.

What could be the problem?

--gv