[Gtk-sharp-list] Error building Gtk# 1.9 in Win32

Francisco T. Martinez martinf@mfconsulting.com
Mon, 15 Nov 2004 08:09:32 -0600

This is a multi-part message in MIME format.
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

I ran into the problem described in the enclosed attachment when 
building Gtk# 1.9 for Win32.  It appears that I don't experience the 
failure when building with gmake and the Makefile generated by the 
autoconf tools. Could it be the code generation from XML? Maybe 
makefile.win32 needs to better match with Makefile.am?

-- Paco
This is the last contention before I release a Mono 1.1.2 with Previews 
and Gtk# 1.04 + 1.9 Win32 installer.  By the way, it will include GTK 
2.4 and Glade 2.6.

Content-Type: text/plain;
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;

csc.exe /d:WIN32 /unsafe /nowarn:0660,0661 /target:library /r:../glib/glib-sharp.dll /r:../pango/pango-sharp.dll /r:../atk/atk-sharp.dll /r:../gdk/gdk-sharp.dll /out:gtk-sharp.dll /recurse:*.cs
.\generated\CheckMenuItem.cs(106) warning CS0114: 'Gtk.CheckMenuItem.OnToggled()' hides inherited member 'Gtk.Item.OnToggled()'. To make the current member override that implementation, add the override keyword. Otherwise add the new keyword
.\generated\Item.cs(109): 'Gtk.Item.OnToggled()' (name of symbol related to previous warning)
.\generated\SeparatorToolItem.cs(41) warning CS0108: The keyword new is required on 'Gtk.SeparatorToolItem.Draw' because it hides inherited member
.\generated\Widget.cs(4488): 'Gtk.Widget.Draw(Gdk.Rectangle)' (name of symbol related to previous warning)
.\generated\ColorSelection.cs(191) error CS0103: The name `gtk_color_selection_set_color' could not be found in `Gtk.ColorSelection'
.\generated\ColorSelection.cs(192) error CS0127: Return with a value not allowed here
.\generated\Combo.cs(28) warning CS0612: 'Gtk.Combo' is obsolete
FileSelection.custom(85) warning CS0612: 'Gtk.OptionMenu' is obsolete
FileSelection.custom(84) warning CS0612: 'Gtk.OptionMenu' is obsolete
ItemFactory.custom(30) warning CS0612: 'Gtk.ItemFactory' is obsolete
.\generated\ItemFactory.cs(58) warning CS0612: 'Gtk.ItemFactory' is obsolete
.\generated\ItemFactory.cs(60) warning CS0612: 'Gtk.ItemFactory' is obsolete
.\generated\ItemFactory.cs(60) warning CS0612: 'Gtk.ItemFactory' is obsolete
.\generated\ItemFactory.cs(228) warning CS0612: 'Gtk.ItemFactory' is obsolete
.\generated\ItemFactory.cs(230) warning CS0612: 'Gtk.ItemFactory' is obsolete
.\generated\ItemFactory.cs(230) warning CS0612: 'Gtk.ItemFactory' is obsolete
.\generated\OptionMenu.cs(28) warning CS0612: 'Gtk.OptionMenu' is obsolete
.\generated\OptionMenu.cs(63) warning CS0612: 'Gtk.OptionMenu' is obsolete
.\generated\OptionMenu.cs(63) warning CS0612: 'Gtk.OptionMenu' is obsolete
.\generated\OptionMenu.cs(74) warning CS0612: 'Gtk.OptionMenu' is obsolete
Compilation failed: 2 error(s), 16 warnings
make[1]: *** [windows] Error 1
make[1]: Leaving directory `/download/mono/gtk-sharp/gtk'
make: *** [windows] Error 1

martinf@mon03dev /download/mono/gtk-sharp
$ pkg-config --modversion gtk+-2.0

Content-Type: text/plain;
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;

SUBDIRS = . glue

API = gtk-api.xml
RAW_API = gtk-api.raw
ADDITIONAL_API = gtk-symbols.xml
INCLUDE_API = ../pango/pango-api.xml ../atk/atk-api.xml ../gdk/gdk-api.xml $(top_srcdir)/gdk/gdk-symbols.xml
METADATA = Gtk.metadata
ASSEMBLY_NAME = gtk-sharp
references = /r:../glib/glib-sharp.dll /r:../pango/pango-sharp.dll /r:../atk/atk-sharp.dll /r:../gdk/gdk-sharp.dll

gapidir = $(datadir)/gapi-2.0
noinst_DATA = $(ASSEMBLY) $(ASSEMBLY).config
CLEANFILES = $(ASSEMBLY) generated-stamp generated/*.cs $(API) glue/generated.c gtk-sharp.snk
DISTCLEANFILES = $(ASSEMBLY).config AssemblyInfo.cs

sources = 				\
	Application.cs			\
	ITreeNode.cs			\
	NodeStore.cs			\
	ThreadNotify.cs			\
	TreeNodeAttribute.cs		\
	TreeNode.cs			\

build_sources = $(addprefix $(srcdir)/, $(sources)) AssemblyInfo.cs

customs = 				\
	Accel.custom			\
	AccelKey.custom			\
	Action.custom			\
	Adjustment.custom		\
	Bin.custom			\
	Button.custom			\
	Calendar.custom			\
	CellRenderer.custom		\
	CheckMenuItem.custom		\
	Clipboard.custom		\
	ColorSelection.custom		\
	ColorSelectionDialog.custom	\
	Combo.custom			\
	ComboBox.custom			\
	Container.custom		\
	Dialog.custom			\
	Entry.custom			\
	FileChooserDialog.custom	\
	FileChooserWidget.custom	\
	FileSelection.custom		\
	FileSystemModel.custom		\
	Frame.custom			\
	HBox.custom			\
	HScale.custom			\
	IconFactory.custom		\
	IconSet.custom			\
	IconTheme.custom		\
	ImageMenuItem.custom		\
	Init.custom			\
	InputDialog.custom		\
	ItemFactory.custom		\
	Label.custom			\
	Layout.custom			\
	ListStore.custom		\
	MessageDialog.custom		\
	Menu.custom			\
	MenuItem.custom			\
	Notebook.custom			\
	Object.custom			\
	Plug.custom			\
	RadioButton.custom		\
	RadioMenuItem.custom		\
	ScrolledWindow.custom		\
	SelectionData.custom		\
	Settings.custom			\
	SpinButton.custom		\
	Stock.custom			\
	Style.custom			\
	Table.custom			\
	TargetEntry.custom		\
	TargetList.custom		\
	TextBuffer.custom		\
	TextChildAnchor.custom		\
	TextIter.custom			\
	TextTag.custom			\
	TextView.custom			\
	TreeIter.custom			\
	TreeModel.custom		\
	TreeModelFilter.custom		\
	TreeModelSort.custom		\
	TreePath.custom			\
	TreeSelection.custom		\
	TreeStore.custom		\
	TreeViewColumn.custom		\
	TreeView.custom			\
	UIManager.custom	\
	VBox.custom			\
	VScale.custom			\
	Viewport.custom			\
	Widget.custom			\

build_customs = $(addprefix $(srcdir)/, $(customs))

	makefile.win32		\
	$(ASSEMBLY).config.in	\
	AssemblyInfo.cs.in	\
	$(RAW_API)		\
	$(customs)		\

$(API): $(srcdir)/$(RAW_API) $(srcdir)/$(METADATA)
	cp $(srcdir)/$(RAW_API) $(API)
	chmod u+w $(API)
	$(RUNTIME) ../parser/gapi-fixup.exe --api=$(API) --metadata=$(srcdir)/$(METADATA)

generated-stamp: $(API) $(srcdir)/$(ADDITIONAL_API) ../generator/gapi_codegen.exe $(build_customs)
	rm -f generated/* &&	\
	$(RUNTIME) ../generator/gapi_codegen.exe --generate $(API) $(srcdir)/$(ADDITIONAL_API) 			\
	--include $(INCLUDE_API) --outdir=generated --customdir=$(srcdir) --assembly-name=$(ASSEMBLY_NAME) 	\
	--gluelib-name=gtksharpglue --glue-filename=glue/generated.c						\
	&& touch generated-stamp

gtk-sharp.snk: $(top_srcdir)/gtk-sharp.snk
	cp $(top_srcdir)/gtk-sharp.snk .

$(ASSEMBLY): $(build_sources) generated-stamp gtk-sharp.snk
	$(CSC) /unsafe /out:$(ASSEMBLY) /target:library $(references) $(build_sources) $(GENERATED_SOURCES)

	@if test -n '$(TARGET)'; then						\
	  echo "$(GACUTIL) /i $(ASSEMBLY) /f $(GACUTIL_FLAGS)";	\
	  $(GACUTIL) /i $(ASSEMBLY) /f $(GACUTIL_FLAGS) || exit 1;	\

	@if test -n '$(TARGET)'; then						\
	  $(GACUTIL) /u $(ASSEMBLY_NAME) $(GACUTIL_FLAGS) || exit 1;	\

Content-Type: text/plain;
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;

APIS=gtk-api.xml gtk-symbols.xml
I_APIS=../atk/atk-api.xml ../pango/pango-api.xml ../gdk/gdk-api.xml ../gdk/gdk-symbols.xml

all: windows

windows: generated-stamp
	$(CSC) /unsafe /nowarn:0660,0661 /target:library /r:../glib/glib-sharp.dll /r:../pango/pango-sharp.dll /r:../atk/atk-sharp.dll /r:../gdk/gdk-sharp.dll /out:$(ASSEMBLY) /recurse:*.cs
	cd glue && make -f makefile.win32

generated-stamp: ../generator/codegen.exe $(APIS) $(I_APIS) *.custom
	../generator/codegen --generate $(APIS) --include $(I_APIS) --outdir=generated --customdir=. --assembly-name=gtk-sharp && touch generated-stamp

gtk-api.xml: gtk-api.raw Gtk.metadata
	cp gtk-api.raw gtk-api.xml
	chmod u+w gtk-api.xml
	../parser/gapi-fixup.exe --api=gtk-api.xml --metadata=Gtk.metadata

	rm -f generated-stamp
	rm -f $(ASSEMBLY)
	rm -rf generated
	rm -f gtk-api.xml
	cd glue && make -f makefile.win32 clean