Monday, January 18, 2010

Compile GTK+ 2.18.6 with Cygwin

GTK+ is a set of open-source widget libraries that are as mature, portable and functional as Qt and wxWidgets. GTK+ library is used by numerous programs in Linux and OpenBSD. I am interested in porting GTK+ programs from Linux to Windows. This post shows how I compiled GTK+ 2.18.x for Windows using Cygwin's GCC compiler. If you are interested in using MinGW to compile GTK+, read this post.



If you haven’t installed Cygwin yet, read this post for information on installing Cygwin. Install these libraries, too: gettext-devel, libatk1.0-devel, libfontconfig-devel, libglib2.0-devel, libiconv, libjpeg-devel, libpixman1-devel, libpng12-devel, libtiff-devel, pkg-config, zlib-devel. Once you’ve installed Cygwin, start a Cygwin bash shell and type the following commands on the bash prompt.




  1. Cairo 1.8.8


    Cairo is a required component of GTK+ libraries. Cairo depends on Pixman but we'll just use the libpixman1-devel package from a Cygwin archive. Then, get the Cairo source from cairographics.org. Compile Cairo like this:


    ./configure --prefix=/usr

    make

    make install

    If you receive an error about “implicit declaration of function
    fwprintf
    ”, open src/cairo-win32-surface.c and replace fwprintf with fprintf:


            fprintf (stderr, "%s: Unknown GDI error", context);
    } else {
    fprintf (stderr, "%S: %s", context, (char *)lpMsgBuf);

    Cairo installs the following files:


    bin/cygcairo-2.dll
    include/cairo/cairo-deprecated.h
    include/cairo/cairo-features.h
    include/cairo/cairo-ft.h
    include/cairo/cairo-pdf.h
    include/cairo/cairo-ps.h
    include/cairo/cairo-svg.h
    include/cairo/cairo-version.h
    include/cairo/cairo-win32.h
    include/cairo/cairo.h
    lib/libcairo.a
    lib/libcairo.dll.a
    lib/libcairo.la
    lib/pkgconfig/cairo-ft.pc
    lib/pkgconfig/cairo-pdf.pc
    lib/pkgconfig/cairo-png.pc
    lib/pkgconfig/cairo-ps.pc
    lib/pkgconfig/cairo-svg.pc
    lib/pkgconfig/cairo-win32-font.pc
    lib/pkgconfig/cairo-win32.pc
    lib/pkgconfig/cairo.pc
    share/gtk-doc/html/cairo/bindings-errors.html
    share/gtk-doc/html/cairo/bindings-fonts.html
    share/gtk-doc/html/cairo/bindings-memory.html
    share/gtk-doc/html/cairo/bindings-overloading.html
    share/gtk-doc/html/cairo/bindings-path.html
    share/gtk-doc/html/cairo/bindings-patterns.html
    share/gtk-doc/html/cairo/bindings-return-values.html
    share/gtk-doc/html/cairo/bindings-streams.html
    share/gtk-doc/html/cairo/bindings-surfaces.html
    share/gtk-doc/html/cairo/cairo-context.html
    share/gtk-doc/html/cairo/cairo-drawing.html
    share/gtk-doc/html/cairo/cairo-error-status.html
    share/gtk-doc/html/cairo/cairo-font-face.html
    share/gtk-doc/html/cairo/cairo-font-options.html
    share/gtk-doc/html/cairo/cairo-fonts.html
    share/gtk-doc/html/cairo/cairo-ft-font.html
    share/gtk-doc/html/cairo/cairo-image-surface.html
    share/gtk-doc/html/cairo/cairo-matrix.html
    share/gtk-doc/html/cairo/cairo-paths.html
    share/gtk-doc/html/cairo/cairo-pattern.html
    share/gtk-doc/html/cairo/cairo-pdf-surface.html
    share/gtk-doc/html/cairo/cairo-png-functions.html
    share/gtk-doc/html/cairo/cairo-ps-surface.html
    share/gtk-doc/html/cairo/cairo-quartz-font.html
    share/gtk-doc/html/cairo/cairo-quartz-surface.html
    share/gtk-doc/html/cairo/cairo-scaled-font.html
    share/gtk-doc/html/cairo/cairo-support.html
    share/gtk-doc/html/cairo/cairo-surface.html
    share/gtk-doc/html/cairo/cairo-surfaces.html
    share/gtk-doc/html/cairo/cairo-svg-surface.html
    share/gtk-doc/html/cairo/cairo-text.html
    share/gtk-doc/html/cairo/cairo-transformations.html
    share/gtk-doc/html/cairo/cairo-types.html
    share/gtk-doc/html/cairo/cairo-user-font.html
    share/gtk-doc/html/cairo/cairo-version-info.html
    share/gtk-doc/html/cairo/cairo-win32-font.html
    share/gtk-doc/html/cairo/cairo-win32-surface.html
    share/gtk-doc/html/cairo/cairo-xlib-surface.html
    share/gtk-doc/html/cairo/cairo.devhelp
    share/gtk-doc/html/cairo/cairo.devhelp2
    share/gtk-doc/html/cairo/home.png
    share/gtk-doc/html/cairo/index-1.2.html
    share/gtk-doc/html/cairo/index-1.4.html
    share/gtk-doc/html/cairo/index-1.6.html
    share/gtk-doc/html/cairo/index-1.8.html
    share/gtk-doc/html/cairo/index-all.html
    share/gtk-doc/html/cairo/index.html
    share/gtk-doc/html/cairo/index.sgml
    share/gtk-doc/html/cairo/language-bindings.html
    share/gtk-doc/html/cairo/left.png
    share/gtk-doc/html/cairo/right.png
    share/gtk-doc/html/cairo/style.css
    share/gtk-doc/html/cairo/up.png



  2. Pango Library 1.26.2


    Compile Pango like this:


    ./configure --prefix=/usr --sysconfdir=/etc --with-included-modules=yes --with-dynamic-modules=no

    make

    make install

    The following files are installed by Pango:


    /usr/bin/cygpango-1.0-0.dll
    /usr/bin/cygpangocairo-1.0-0.dll
    /usr/bin/cygpangoft2-1.0-0.dll
    /usr/bin/cygpangowin32-1.0-0.dll
    /usr/bin/pango-querymodules.exe
    /usr/bin/pango-view.exe
    /usr/include/pango-1.0/pango/pango-attributes.h
    /usr/include/pango-1.0/pango/pango-bidi-type.h
    /usr/include/pango-1.0/pango/pango-break.h
    /usr/include/pango-1.0/pango/pango-context.h
    /usr/include/pango-1.0/pango/pango-coverage.h
    /usr/include/pango-1.0/pango/pango-engine.h
    /usr/include/pango-1.0/pango/pango-enum-types.h
    /usr/include/pango-1.0/pango/pango-features.h
    /usr/include/pango-1.0/pango/pango-font.h
    /usr/include/pango-1.0/pango/pango-fontmap.h
    /usr/include/pango-1.0/pango/pango-fontset.h
    /usr/include/pango-1.0/pango/pango-glyph-item.h
    /usr/include/pango-1.0/pango/pango-glyph.h
    /usr/include/pango-1.0/pango/pango-gravity.h
    /usr/include/pango-1.0/pango/pango-item.h
    /usr/include/pango-1.0/pango/pango-language.h
    /usr/include/pango-1.0/pango/pango-layout.h
    /usr/include/pango-1.0/pango/pango-matrix.h
    /usr/include/pango-1.0/pango/pango-modules.h
    /usr/include/pango-1.0/pango/pango-ot.h
    /usr/include/pango-1.0/pango/pango-renderer.h
    /usr/include/pango-1.0/pango/pango-script.h
    /usr/include/pango-1.0/pango/pango-tabs.h
    /usr/include/pango-1.0/pango/pango-types.h
    /usr/include/pango-1.0/pango/pango-utils.h
    /usr/include/pango-1.0/pango/pango.h
    /usr/include/pango-1.0/pango/pangocairo.h
    /usr/include/pango-1.0/pango/pangofc-decoder.h
    /usr/include/pango-1.0/pango/pangofc-font.h
    /usr/include/pango-1.0/pango/pangofc-fontmap.h
    /usr/include/pango-1.0/pango/pangoft2.h
    /usr/include/pango-1.0/pango/pangowin32.h
    /usr/lib/libpango-1.0.dll.a
    /usr/lib/libpango-1.0.la
    /usr/lib/libpangocairo-1.0.dll.a
    /usr/lib/libpangocairo-1.0.la
    /usr/lib/libpangoft2-1.0.dll.a
    /usr/lib/libpangoft2-1.0.la
    /usr/lib/libpangowin32-1.0.dll.a
    /usr/lib/libpangowin32-1.0.la
    /usr/lib/pkgconfig/pango.pc
    /usr/lib/pkgconfig/pangocairo.pc
    /usr/lib/pkgconfig/pangoft2.pc
    /usr/lib/pkgconfig/pangowin32.pc
    /usr/share/gtk-doc/html/pango/PangoEngineLang.html
    /usr/share/gtk-doc/html/pango/PangoEngineShape.html
    /usr/share/gtk-doc/html/pango/PangoFcDecoder.html
    /usr/share/gtk-doc/html/pango/PangoFcFont.html
    /usr/share/gtk-doc/html/pango/PangoFcFontMap.html
    /usr/share/gtk-doc/html/pango/PangoMarkupFormat.html
    /usr/share/gtk-doc/html/pango/PangoRenderer.html
    /usr/share/gtk-doc/html/pango/home.png
    /usr/share/gtk-doc/html/pango/index-1.10.html
    /usr/share/gtk-doc/html/pango/index-1.12.html
    /usr/share/gtk-doc/html/pango/index-1.14.html
    /usr/share/gtk-doc/html/pango/index-1.16.html
    /usr/share/gtk-doc/html/pango/index-1.18.html
    /usr/share/gtk-doc/html/pango/index-1.2.html
    /usr/share/gtk-doc/html/pango/index-1.20.html
    /usr/share/gtk-doc/html/pango/index-1.22.html
    /usr/share/gtk-doc/html/pango/index-1.24.html
    /usr/share/gtk-doc/html/pango/index-1.26.html
    /usr/share/gtk-doc/html/pango/index-1.4.html
    /usr/share/gtk-doc/html/pango/index-1.6.html
    /usr/share/gtk-doc/html/pango/index-1.8.html
    /usr/share/gtk-doc/html/pango/index-all.html
    /usr/share/gtk-doc/html/pango/index-deprecated.html
    /usr/share/gtk-doc/html/pango/index.html
    /usr/share/gtk-doc/html/pango/index.sgml
    /usr/share/gtk-doc/html/pango/layout.gif
    /usr/share/gtk-doc/html/pango/left.png
    /usr/share/gtk-doc/html/pango/lowlevel.html
    /usr/share/gtk-doc/html/pango/pango-ATSUI-Fonts.html
    /usr/share/gtk-doc/html/pango/pango-Bidirectional-Text.html
    /usr/share/gtk-doc/html/pango/pango-Cairo-Rendering.html
    /usr/share/gtk-doc/html/pango/pango-Coverage-Maps.html
    /usr/share/gtk-doc/html/pango/pango-Engines.html
    /usr/share/gtk-doc/html/pango/pango-Fonts.html
    /usr/share/gtk-doc/html/pango/pango-FreeType-Fonts-and-Rendering.html
    /usr/share/gtk-doc/html/pango/pango-Glyph-Storage.html
    /usr/share/gtk-doc/html/pango/pango-Layout-Objects.html
    /usr/share/gtk-doc/html/pango/pango-Miscellaneous-Utilities.html
    /usr/share/gtk-doc/html/pango/pango-Modules.html
    /usr/share/gtk-doc/html/pango/pango-OpenType-Font-Handling.html
    /usr/share/gtk-doc/html/pango/pango-Scripts-and-Languages.html
    /usr/share/gtk-doc/html/pango/pango-Tab-Stops.html
    /usr/share/gtk-doc/html/pango/pango-Text-Attributes.html
    /usr/share/gtk-doc/html/pango/pango-Text-Processing.html
    /usr/share/gtk-doc/html/pango/pango-Version-Checking.html
    /usr/share/gtk-doc/html/pango/pango-Vertical-Text.html
    /usr/share/gtk-doc/html/pango/pango-Win32-Fonts-and-Rendering.html
    /usr/share/gtk-doc/html/pango/pango-X-Fonts-and-Rendering.html
    /usr/share/gtk-doc/html/pango/pango-Xft-Fonts-and-Rendering.html
    /usr/share/gtk-doc/html/pango/pango-hierarchy.html
    /usr/share/gtk-doc/html/pango/pango-querymodules.html
    /usr/share/gtk-doc/html/pango/pango.devhelp
    /usr/share/gtk-doc/html/pango/pango.devhelp2
    /usr/share/gtk-doc/html/pango/pango.html
    /usr/share/gtk-doc/html/pango/rendering.html
    /usr/share/gtk-doc/html/pango/right.png
    /usr/share/gtk-doc/html/pango/rotated-text.png
    /usr/share/gtk-doc/html/pango/style.css
    /usr/share/gtk-doc/html/pango/tools.html
    /usr/share/gtk-doc/html/pango/up.png
    /usr/share/man/man1/pango-querymodules.1
    /usr/share/man/man1/pango-view.1




  3. GTK+ 2.18.6


    At last, we are ready to compile GTK+ 2 for Windows. Download the source from here. I compiled GTK+ like this:


    ./configure --prefix=/usr --sysconfdir=/etc --without-libjasper --with-included-loaders=yes --with-included-immodules=ime --enable-debug=no WINDRES='/usr/bin/windres'

    make

    make install

    An error occurred saying “libtool: link: more than one -exported-symbols argument is not allowed”. Apparently, -export-symbols ./gdk.def and -export-symbols-regex couldn't work together. So I opened gdk/Makefile and made the following change (basically, commenting out -export-symbols):


    libgdk_win32_2_0_la_LDFLAGS = -Wl,win32/rc/gdk-win32-res.o $(LDADD) 
    # -export-symbols $(srcdir)/gdk.def

    The following files are installed after compilation:


    /usr/bin/cyggailutil-18.dll
    /usr/bin/cyggdk-win32-2.0-0.dll
    /usr/bin/cyggdk_pixbuf-2.0-0.dll
    /usr/bin/cyggtk-win32-2.0-0.dll
    /usr/bin/gdk-pixbuf-csource.exe
    /usr/bin/gdk-pixbuf-query-loaders.exe
    /usr/bin/gtk-builder-convert
    /usr/bin/gtk-demo.exe
    /usr/bin/gtk-query-immodules-2.0.exe
    /usr/bin/gtk-update-icon-cache.exe
    /usr/include/gail-1.0/gail/gailwidget.h
    /usr/include/gail-1.0/libgail-util/gail-util.h
    /usr/include/gail-1.0/libgail-util/gailmisc.h
    /usr/include/gail-1.0/libgail-util/gailtextutil.h
    /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-animation.h
    /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-core.h
    /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-enum-types.h
    /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-features.h
    /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-io.h
    /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-loader.h
    /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-marshal.h
    /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-simple-anim.h
    /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-transform.h
    /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf.h
    /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixdata.h
    /usr/include/gtk-2.0/gdk/gdk.h
    /usr/include/gtk-2.0/gdk/gdkapplaunchcontext.h
    /usr/include/gtk-2.0/gdk/gdkcairo.h
    /usr/include/gtk-2.0/gdk/gdkcolor.h
    /usr/include/gtk-2.0/gdk/gdkcursor.h
    /usr/include/gtk-2.0/gdk/gdkdisplay.h
    /usr/include/gtk-2.0/gdk/gdkdisplaymanager.h
    /usr/include/gtk-2.0/gdk/gdkdnd.h
    /usr/include/gtk-2.0/gdk/gdkdrawable.h
    /usr/include/gtk-2.0/gdk/gdkenumtypes.h
    /usr/include/gtk-2.0/gdk/gdkevents.h
    /usr/include/gtk-2.0/gdk/gdkfont.h
    /usr/include/gtk-2.0/gdk/gdkgc.h
    /usr/include/gtk-2.0/gdk/gdki18n.h
    /usr/include/gtk-2.0/gdk/gdkimage.h
    /usr/include/gtk-2.0/gdk/gdkinput.h
    /usr/include/gtk-2.0/gdk/gdkkeys.h
    /usr/include/gtk-2.0/gdk/gdkkeysyms.h
    /usr/include/gtk-2.0/gdk/gdkpango.h
    /usr/include/gtk-2.0/gdk/gdkpixbuf.h
    /usr/include/gtk-2.0/gdk/gdkpixmap.h
    /usr/include/gtk-2.0/gdk/gdkprivate.h
    /usr/include/gtk-2.0/gdk/gdkproperty.h
    /usr/include/gtk-2.0/gdk/gdkregion.h
    /usr/include/gtk-2.0/gdk/gdkrgb.h
    /usr/include/gtk-2.0/gdk/gdkscreen.h
    /usr/include/gtk-2.0/gdk/gdkselection.h
    /usr/include/gtk-2.0/gdk/gdkspawn.h
    /usr/include/gtk-2.0/gdk/gdktestutils.h
    /usr/include/gtk-2.0/gdk/gdktypes.h
    /usr/include/gtk-2.0/gdk/gdkvisual.h
    /usr/include/gtk-2.0/gdk/gdkwin32.h
    /usr/include/gtk-2.0/gdk/gdkwindow.h
    /usr/include/gtk-2.0/gtk/gtk.h
    /usr/include/gtk-2.0/gtk/gtkaboutdialog.h
    /usr/include/gtk-2.0/gtk/gtkaccelgroup.h
    /usr/include/gtk-2.0/gtk/gtkaccellabel.h
    /usr/include/gtk-2.0/gtk/gtkaccelmap.h
    /usr/include/gtk-2.0/gtk/gtkaccessible.h
    /usr/include/gtk-2.0/gtk/gtkaction.h
    /usr/include/gtk-2.0/gtk/gtkactiongroup.h
    /usr/include/gtk-2.0/gtk/gtkactivatable.h
    /usr/include/gtk-2.0/gtk/gtkadjustment.h
    /usr/include/gtk-2.0/gtk/gtkalignment.h
    /usr/include/gtk-2.0/gtk/gtkarrow.h
    /usr/include/gtk-2.0/gtk/gtkaspectframe.h
    /usr/include/gtk-2.0/gtk/gtkassistant.h
    /usr/include/gtk-2.0/gtk/gtkbbox.h
    /usr/include/gtk-2.0/gtk/gtkbin.h
    /usr/include/gtk-2.0/gtk/gtkbindings.h
    /usr/include/gtk-2.0/gtk/gtkbox.h
    /usr/include/gtk-2.0/gtk/gtkbuildable.h
    /usr/include/gtk-2.0/gtk/gtkbuilder.h
    /usr/include/gtk-2.0/gtk/gtkbutton.h
    /usr/include/gtk-2.0/gtk/gtkcalendar.h
    /usr/include/gtk-2.0/gtk/gtkcelleditable.h
    /usr/include/gtk-2.0/gtk/gtkcelllayout.h
    /usr/include/gtk-2.0/gtk/gtkcellrenderer.h
    /usr/include/gtk-2.0/gtk/gtkcellrendereraccel.h
    /usr/include/gtk-2.0/gtk/gtkcellrenderercombo.h
    /usr/include/gtk-2.0/gtk/gtkcellrendererpixbuf.h
    /usr/include/gtk-2.0/gtk/gtkcellrendererprogress.h
    /usr/include/gtk-2.0/gtk/gtkcellrendererspin.h
    /usr/include/gtk-2.0/gtk/gtkcellrenderertext.h
    /usr/include/gtk-2.0/gtk/gtkcellrenderertoggle.h
    /usr/include/gtk-2.0/gtk/gtkcellview.h
    /usr/include/gtk-2.0/gtk/gtkcheckbutton.h
    /usr/include/gtk-2.0/gtk/gtkcheckmenuitem.h
    /usr/include/gtk-2.0/gtk/gtkclipboard.h
    /usr/include/gtk-2.0/gtk/gtkclist.h
    /usr/include/gtk-2.0/gtk/gtkcolorbutton.h
    /usr/include/gtk-2.0/gtk/gtkcolorsel.h
    /usr/include/gtk-2.0/gtk/gtkcolorseldialog.h
    /usr/include/gtk-2.0/gtk/gtkcombo.h
    /usr/include/gtk-2.0/gtk/gtkcombobox.h
    /usr/include/gtk-2.0/gtk/gtkcomboboxentry.h
    /usr/include/gtk-2.0/gtk/gtkcontainer.h
    /usr/include/gtk-2.0/gtk/gtkctree.h
    /usr/include/gtk-2.0/gtk/gtkcurve.h
    /usr/include/gtk-2.0/gtk/gtkdebug.h
    /usr/include/gtk-2.0/gtk/gtkdialog.h
    /usr/include/gtk-2.0/gtk/gtkdnd.h
    /usr/include/gtk-2.0/gtk/gtkdrawingarea.h
    /usr/include/gtk-2.0/gtk/gtkeditable.h
    /usr/include/gtk-2.0/gtk/gtkentry.h
    /usr/include/gtk-2.0/gtk/gtkentrybuffer.h
    /usr/include/gtk-2.0/gtk/gtkentrycompletion.h
    /usr/include/gtk-2.0/gtk/gtkenums.h
    /usr/include/gtk-2.0/gtk/gtkeventbox.h
    /usr/include/gtk-2.0/gtk/gtkexpander.h
    /usr/include/gtk-2.0/gtk/gtkfilechooser.h
    /usr/include/gtk-2.0/gtk/gtkfilechooserbutton.h
    /usr/include/gtk-2.0/gtk/gtkfilechooserdialog.h
    /usr/include/gtk-2.0/gtk/gtkfilechooserwidget.h
    /usr/include/gtk-2.0/gtk/gtkfilefilter.h
    /usr/include/gtk-2.0/gtk/gtkfilesel.h
    /usr/include/gtk-2.0/gtk/gtkfixed.h
    /usr/include/gtk-2.0/gtk/gtkfontbutton.h
    /usr/include/gtk-2.0/gtk/gtkfontsel.h
    /usr/include/gtk-2.0/gtk/gtkframe.h
    /usr/include/gtk-2.0/gtk/gtkgamma.h
    /usr/include/gtk-2.0/gtk/gtkgc.h
    /usr/include/gtk-2.0/gtk/gtkhandlebox.h
    /usr/include/gtk-2.0/gtk/gtkhbbox.h
    /usr/include/gtk-2.0/gtk/gtkhbox.h
    /usr/include/gtk-2.0/gtk/gtkhpaned.h
    /usr/include/gtk-2.0/gtk/gtkhruler.h
    /usr/include/gtk-2.0/gtk/gtkhscale.h
    /usr/include/gtk-2.0/gtk/gtkhscrollbar.h
    /usr/include/gtk-2.0/gtk/gtkhseparator.h
    /usr/include/gtk-2.0/gtk/gtkhsv.h
    /usr/include/gtk-2.0/gtk/gtkiconfactory.h
    /usr/include/gtk-2.0/gtk/gtkicontheme.h
    /usr/include/gtk-2.0/gtk/gtkiconview.h
    /usr/include/gtk-2.0/gtk/gtkimage.h
    /usr/include/gtk-2.0/gtk/gtkimagemenuitem.h
    /usr/include/gtk-2.0/gtk/gtkimcontext.h
    /usr/include/gtk-2.0/gtk/gtkimcontextsimple.h
    /usr/include/gtk-2.0/gtk/gtkimmodule.h
    /usr/include/gtk-2.0/gtk/gtkimmulticontext.h
    /usr/include/gtk-2.0/gtk/gtkinfobar.h
    /usr/include/gtk-2.0/gtk/gtkinputdialog.h
    /usr/include/gtk-2.0/gtk/gtkinvisible.h
    /usr/include/gtk-2.0/gtk/gtkitem.h
    /usr/include/gtk-2.0/gtk/gtkitemfactory.h
    /usr/include/gtk-2.0/gtk/gtklabel.h
    /usr/include/gtk-2.0/gtk/gtklayout.h
    /usr/include/gtk-2.0/gtk/gtklinkbutton.h
    /usr/include/gtk-2.0/gtk/gtklist.h
    /usr/include/gtk-2.0/gtk/gtklistitem.h
    /usr/include/gtk-2.0/gtk/gtkliststore.h
    /usr/include/gtk-2.0/gtk/gtkmain.h
    /usr/include/gtk-2.0/gtk/gtkmarshal.h
    /usr/include/gtk-2.0/gtk/gtkmenu.h
    /usr/include/gtk-2.0/gtk/gtkmenubar.h
    /usr/include/gtk-2.0/gtk/gtkmenuitem.h
    /usr/include/gtk-2.0/gtk/gtkmenushell.h
    /usr/include/gtk-2.0/gtk/gtkmenutoolbutton.h
    /usr/include/gtk-2.0/gtk/gtkmessagedialog.h
    /usr/include/gtk-2.0/gtk/gtkmisc.h
    /usr/include/gtk-2.0/gtk/gtkmodules.h
    /usr/include/gtk-2.0/gtk/gtkmountoperation.h
    /usr/include/gtk-2.0/gtk/gtknotebook.h
    /usr/include/gtk-2.0/gtk/gtkobject.h
    /usr/include/gtk-2.0/gtk/gtkoldeditable.h
    /usr/include/gtk-2.0/gtk/gtkoptionmenu.h
    /usr/include/gtk-2.0/gtk/gtkorientable.h
    /usr/include/gtk-2.0/gtk/gtkpagesetup.h
    /usr/include/gtk-2.0/gtk/gtkpaned.h
    /usr/include/gtk-2.0/gtk/gtkpapersize.h
    /usr/include/gtk-2.0/gtk/gtkpixmap.h
    /usr/include/gtk-2.0/gtk/gtkplug.h
    /usr/include/gtk-2.0/gtk/gtkpreview.h
    /usr/include/gtk-2.0/gtk/gtkprintcontext.h
    /usr/include/gtk-2.0/gtk/gtkprintoperation.h
    /usr/include/gtk-2.0/gtk/gtkprintoperationpreview.h
    /usr/include/gtk-2.0/gtk/gtkprintsettings.h
    /usr/include/gtk-2.0/gtk/gtkprivate.h
    /usr/include/gtk-2.0/gtk/gtkprogress.h
    /usr/include/gtk-2.0/gtk/gtkprogressbar.h
    /usr/include/gtk-2.0/gtk/gtkradioaction.h
    /usr/include/gtk-2.0/gtk/gtkradiobutton.h
    /usr/include/gtk-2.0/gtk/gtkradiomenuitem.h
    /usr/include/gtk-2.0/gtk/gtkradiotoolbutton.h
    /usr/include/gtk-2.0/gtk/gtkrange.h
    /usr/include/gtk-2.0/gtk/gtkrc.h
    /usr/include/gtk-2.0/gtk/gtkrecentaction.h
    /usr/include/gtk-2.0/gtk/gtkrecentchooser.h
    /usr/include/gtk-2.0/gtk/gtkrecentchooserdialog.h
    /usr/include/gtk-2.0/gtk/gtkrecentchoosermenu.h
    /usr/include/gtk-2.0/gtk/gtkrecentchooserwidget.h
    /usr/include/gtk-2.0/gtk/gtkrecentfilter.h
    /usr/include/gtk-2.0/gtk/gtkrecentmanager.h
    /usr/include/gtk-2.0/gtk/gtkruler.h
    /usr/include/gtk-2.0/gtk/gtkscale.h
    /usr/include/gtk-2.0/gtk/gtkscalebutton.h
    /usr/include/gtk-2.0/gtk/gtkscrollbar.h
    /usr/include/gtk-2.0/gtk/gtkscrolledwindow.h
    /usr/include/gtk-2.0/gtk/gtkselection.h
    /usr/include/gtk-2.0/gtk/gtkseparator.h
    /usr/include/gtk-2.0/gtk/gtkseparatormenuitem.h
    /usr/include/gtk-2.0/gtk/gtkseparatortoolitem.h
    /usr/include/gtk-2.0/gtk/gtksettings.h
    /usr/include/gtk-2.0/gtk/gtkshow.h
    /usr/include/gtk-2.0/gtk/gtksignal.h
    /usr/include/gtk-2.0/gtk/gtksizegroup.h
    /usr/include/gtk-2.0/gtk/gtksocket.h
    /usr/include/gtk-2.0/gtk/gtkspinbutton.h
    /usr/include/gtk-2.0/gtk/gtkstatusbar.h
    /usr/include/gtk-2.0/gtk/gtkstatusicon.h
    /usr/include/gtk-2.0/gtk/gtkstock.h
    /usr/include/gtk-2.0/gtk/gtkstyle.h
    /usr/include/gtk-2.0/gtk/gtktable.h
    /usr/include/gtk-2.0/gtk/gtktearoffmenuitem.h
    /usr/include/gtk-2.0/gtk/gtktestutils.h
    /usr/include/gtk-2.0/gtk/gtktext.h
    /usr/include/gtk-2.0/gtk/gtktextbuffer.h
    /usr/include/gtk-2.0/gtk/gtktextbufferrichtext.h
    /usr/include/gtk-2.0/gtk/gtktextchild.h
    /usr/include/gtk-2.0/gtk/gtktextdisplay.h
    /usr/include/gtk-2.0/gtk/gtktextiter.h
    /usr/include/gtk-2.0/gtk/gtktextlayout.h
    /usr/include/gtk-2.0/gtk/gtktextmark.h
    /usr/include/gtk-2.0/gtk/gtktexttag.h
    /usr/include/gtk-2.0/gtk/gtktexttagtable.h
    /usr/include/gtk-2.0/gtk/gtktextview.h
    /usr/include/gtk-2.0/gtk/gtktipsquery.h
    /usr/include/gtk-2.0/gtk/gtktoggleaction.h
    /usr/include/gtk-2.0/gtk/gtktogglebutton.h
    /usr/include/gtk-2.0/gtk/gtktoggletoolbutton.h
    /usr/include/gtk-2.0/gtk/gtktoolbar.h
    /usr/include/gtk-2.0/gtk/gtktoolbutton.h
    /usr/include/gtk-2.0/gtk/gtktoolitem.h
    /usr/include/gtk-2.0/gtk/gtktoolshell.h
    /usr/include/gtk-2.0/gtk/gtktooltip.h
    /usr/include/gtk-2.0/gtk/gtktooltips.h
    /usr/include/gtk-2.0/gtk/gtktree.h
    /usr/include/gtk-2.0/gtk/gtktreednd.h
    /usr/include/gtk-2.0/gtk/gtktreeitem.h
    /usr/include/gtk-2.0/gtk/gtktreemodel.h
    /usr/include/gtk-2.0/gtk/gtktreemodelfilter.h
    /usr/include/gtk-2.0/gtk/gtktreemodelsort.h
    /usr/include/gtk-2.0/gtk/gtktreeselection.h
    /usr/include/gtk-2.0/gtk/gtktreesortable.h
    /usr/include/gtk-2.0/gtk/gtktreestore.h
    /usr/include/gtk-2.0/gtk/gtktreeview.h
    /usr/include/gtk-2.0/gtk/gtktreeviewcolumn.h
    /usr/include/gtk-2.0/gtk/gtktypebuiltins.h
    /usr/include/gtk-2.0/gtk/gtktypeutils.h
    /usr/include/gtk-2.0/gtk/gtkuimanager.h
    /usr/include/gtk-2.0/gtk/gtkvbbox.h
    /usr/include/gtk-2.0/gtk/gtkvbox.h
    /usr/include/gtk-2.0/gtk/gtkversion.h
    /usr/include/gtk-2.0/gtk/gtkviewport.h
    /usr/include/gtk-2.0/gtk/gtkvolumebutton.h
    /usr/include/gtk-2.0/gtk/gtkvpaned.h
    /usr/include/gtk-2.0/gtk/gtkvruler.h
    /usr/include/gtk-2.0/gtk/gtkvscale.h
    /usr/include/gtk-2.0/gtk/gtkvscrollbar.h
    /usr/include/gtk-2.0/gtk/gtkvseparator.h
    /usr/include/gtk-2.0/gtk/gtkwidget.h
    /usr/include/gtk-2.0/gtk/gtkwindow.h
    /usr/include/gtk-unix-print-2.0/gtk/gtkpagesetupunixdialog.h
    /usr/include/gtk-unix-print-2.0/gtk/gtkprinter.h
    /usr/include/gtk-unix-print-2.0/gtk/gtkprintjob.h
    /usr/include/gtk-unix-print-2.0/gtk/gtkprintunixdialog.h
    /usr/include/gtk-unix-print-2.0/gtk/gtkunixprint.h
    /usr/lib/gtk-2.0/2.10.0/engines/cygpixmap.dll
    /usr/lib/gtk-2.0/2.10.0/engines/cygwimp.dll
    /usr/lib/gtk-2.0/2.10.0/engines/libpixmap.dll.a
    /usr/lib/gtk-2.0/2.10.0/engines/libpixmap.la
    /usr/lib/gtk-2.0/2.10.0/engines/libwimp.dll.a
    /usr/lib/gtk-2.0/2.10.0/engines/libwimp.la
    /usr/lib/gtk-2.0/2.10.0/immodules/im-am-et.dll
    /usr/lib/gtk-2.0/2.10.0/immodules/im-am-et.dll.a
    /usr/lib/gtk-2.0/2.10.0/immodules/im-am-et.la
    /usr/lib/gtk-2.0/2.10.0/immodules/im-cedilla.dll
    /usr/lib/gtk-2.0/2.10.0/immodules/im-cedilla.dll.a
    /usr/lib/gtk-2.0/2.10.0/immodules/im-cedilla.la
    /usr/lib/gtk-2.0/2.10.0/immodules/im-cyrillic-translit.dll
    /usr/lib/gtk-2.0/2.10.0/immodules/im-cyrillic-translit.dll.a
    /usr/lib/gtk-2.0/2.10.0/immodules/im-cyrillic-translit.la
    /usr/lib/gtk-2.0/2.10.0/immodules/im-inuktitut.dll
    /usr/lib/gtk-2.0/2.10.0/immodules/im-inuktitut.dll.a
    /usr/lib/gtk-2.0/2.10.0/immodules/im-inuktitut.la
    /usr/lib/gtk-2.0/2.10.0/immodules/im-ipa.dll
    /usr/lib/gtk-2.0/2.10.0/immodules/im-ipa.dll.a
    /usr/lib/gtk-2.0/2.10.0/immodules/im-ipa.la
    /usr/lib/gtk-2.0/2.10.0/immodules/im-multipress.dll
    /usr/lib/gtk-2.0/2.10.0/immodules/im-multipress.dll.a
    /usr/lib/gtk-2.0/2.10.0/immodules/im-multipress.la
    /usr/lib/gtk-2.0/2.10.0/immodules/im-thai.dll
    /usr/lib/gtk-2.0/2.10.0/immodules/im-thai.dll.a
    /usr/lib/gtk-2.0/2.10.0/immodules/im-thai.la
    /usr/lib/gtk-2.0/2.10.0/immodules/im-ti-er.dll
    /usr/lib/gtk-2.0/2.10.0/immodules/im-ti-er.dll.a
    /usr/lib/gtk-2.0/2.10.0/immodules/im-ti-er.la
    /usr/lib/gtk-2.0/2.10.0/immodules/im-ti-et.dll
    /usr/lib/gtk-2.0/2.10.0/immodules/im-ti-et.dll.a
    /usr/lib/gtk-2.0/2.10.0/immodules/im-ti-et.la
    /usr/lib/gtk-2.0/2.10.0/immodules/im-viqr.dll
    /usr/lib/gtk-2.0/2.10.0/immodules/im-viqr.dll.a
    /usr/lib/gtk-2.0/2.10.0/immodules/im-viqr.la
    /usr/lib/gtk-2.0/2.10.0/printbackends/cygprintbackend-file.dll
    /usr/lib/gtk-2.0/2.10.0/printbackends/cygprintbackend-lpr.dll
    /usr/lib/gtk-2.0/2.10.0/printbackends/libprintbackend-file.dll.a
    /usr/lib/gtk-2.0/2.10.0/printbackends/libprintbackend-file.la
    /usr/lib/gtk-2.0/2.10.0/printbackends/libprintbackend-lpr.dll.a
    /usr/lib/gtk-2.0/2.10.0/printbackends/libprintbackend-lpr.la
    /usr/lib/gtk-2.0/include/gdkconfig.h
    /usr/lib/gtk-2.0/modules/cygferret.dll
    /usr/lib/gtk-2.0/modules/cyggail.dll
    /usr/lib/gtk-2.0/modules/libferret.dll.a
    /usr/lib/gtk-2.0/modules/libferret.la
    /usr/lib/gtk-2.0/modules/libgail.dll.a
    /usr/lib/gtk-2.0/modules/libgail.la
    /usr/lib/libgailutil.dll.a
    /usr/lib/libgailutil.la
    /usr/lib/libgdk-win32-2.0.dll.a
    /usr/lib/libgdk-win32-2.0.la
    /usr/lib/libgdk_pixbuf-2.0.dll.a
    /usr/lib/libgdk_pixbuf-2.0.la
    /usr/lib/libgtk-win32-2.0.dll.a
    /usr/lib/libgtk-win32-2.0.la
    /usr/lib/pkgconfig/gail.pc
    /usr/lib/pkgconfig/gdk-2.0.pc
    /usr/lib/pkgconfig/gdk-pixbuf-2.0.pc
    /usr/lib/pkgconfig/gdk-win32-2.0.pc
    /usr/lib/pkgconfig/gtk+-2.0.pc
    /usr/lib/pkgconfig/gtk+-unix-print-2.0.pc
    /usr/lib/pkgconfig/gtk+-win32-2.0.pc
    /usr/share/aclocal/gtk-2.0.m4
    /usr/share/gtk-2.0/demo/alphatest.png
    /usr/share/gtk-2.0/demo/apple-red.png
    /usr/share/gtk-2.0/demo/appwindow.c
    /usr/share/gtk-2.0/demo/assistant.c
    /usr/share/gtk-2.0/demo/background.jpg
    /usr/share/gtk-2.0/demo/builder.c
    /usr/share/gtk-2.0/demo/button_box.c
    /usr/share/gtk-2.0/demo/changedisplay.c
    /usr/share/gtk-2.0/demo/clipboard.c
    /usr/share/gtk-2.0/demo/colorsel.c
    /usr/share/gtk-2.0/demo/combobox.c
    /usr/share/gtk-2.0/demo/demo.ui
    /usr/share/gtk-2.0/demo/dialog.c
    /usr/share/gtk-2.0/demo/drawingarea.c
    /usr/share/gtk-2.0/demo/editable_cells.c
    /usr/share/gtk-2.0/demo/entry_buffer.c
    /usr/share/gtk-2.0/demo/entry_completion.c
    /usr/share/gtk-2.0/demo/expander.c
    /usr/share/gtk-2.0/demo/floppybuddy.gif
    /usr/share/gtk-2.0/demo/gnome-applets.png
    /usr/share/gtk-2.0/demo/gnome-calendar.png
    /usr/share/gtk-2.0/demo/gnome-foot.png
    /usr/share/gtk-2.0/demo/gnome-fs-directory.png
    /usr/share/gtk-2.0/demo/gnome-fs-regular.png
    /usr/share/gtk-2.0/demo/gnome-gimp.png
    /usr/share/gtk-2.0/demo/gnome-gmush.png
    /usr/share/gtk-2.0/demo/gnome-gsame.png
    /usr/share/gtk-2.0/demo/gnu-keys.png
    /usr/share/gtk-2.0/demo/gtk-logo-rgb.gif
    /usr/share/gtk-2.0/demo/hypertext.c
    /usr/share/gtk-2.0/demo/iconview.c
    /usr/share/gtk-2.0/demo/iconview_edit.c
    /usr/share/gtk-2.0/demo/images.c
    /usr/share/gtk-2.0/demo/infobar.c
    /usr/share/gtk-2.0/demo/links.c
    /usr/share/gtk-2.0/demo/list_store.c
    /usr/share/gtk-2.0/demo/menus.c
    /usr/share/gtk-2.0/demo/offscreen_window.c
    /usr/share/gtk-2.0/demo/offscreen_window2.c
    /usr/share/gtk-2.0/demo/panes.c
    /usr/share/gtk-2.0/demo/pickers.c
    /usr/share/gtk-2.0/demo/pixbufs.c
    /usr/share/gtk-2.0/demo/printing.c
    /usr/share/gtk-2.0/demo/rotated_text.c
    /usr/share/gtk-2.0/demo/search_entry.c
    /usr/share/gtk-2.0/demo/sizegroup.c
    /usr/share/gtk-2.0/demo/stock_browser.c
    /usr/share/gtk-2.0/demo/textscroll.c
    /usr/share/gtk-2.0/demo/textview.c
    /usr/share/gtk-2.0/demo/tree_store.c
    /usr/share/gtk-2.0/demo/ui_manager.c
    /usr/share/gtk-doc/html/gail-libgail-util/gail-libgail-util-GailMisc.html
    /usr/share/gtk-doc/html/gail-libgail-util/gail-libgail-util-GailTextUtil.html
    /usr/share/gtk-doc/html/gail-libgail-util/gail-libgail-util.devhelp
    /usr/share/gtk-doc/html/gail-libgail-util/gail-libgail-util.devhelp2
    /usr/share/gtk-doc/html/gail-libgail-util/home.png
    /usr/share/gtk-doc/html/gail-libgail-util/index.html
    /usr/share/gtk-doc/html/gail-libgail-util/index.sgml
    /usr/share/gtk-doc/html/gail-libgail-util/left.png
    /usr/share/gtk-doc/html/gail-libgail-util/libgail-util-main.html
    /usr/share/gtk-doc/html/gail-libgail-util/right.png
    /usr/share/gtk-doc/html/gail-libgail-util/style.css
    /usr/share/gtk-doc/html/gail-libgail-util/up.png
    /usr/share/gtk-doc/html/gdk-pixbuf/GdkPixbufLoader.html
    /usr/share/gtk-doc/html/gdk-pixbuf/apa.html
    /usr/share/gtk-doc/html/gdk-pixbuf/apas02.html
    /usr/share/gtk-doc/html/gdk-pixbuf/apas03.html
    /usr/share/gtk-doc/html/gdk-pixbuf/api-index-2-10.html
    /usr/share/gtk-doc/html/gdk-pixbuf/api-index-2-12.html
    /usr/share/gtk-doc/html/gdk-pixbuf/api-index-2-14.html
    /usr/share/gtk-doc/html/gdk-pixbuf/api-index-2-2.html
    /usr/share/gtk-doc/html/gdk-pixbuf/api-index-2-4.html
    /usr/share/gtk-doc/html/gdk-pixbuf/api-index-2-6.html
    /usr/share/gtk-doc/html/gdk-pixbuf/api-index-2-8.html
    /usr/share/gtk-doc/html/gdk-pixbuf/api-index-deprecated.html
    /usr/share/gtk-doc/html/gdk-pixbuf/api-index-full.html
    /usr/share/gtk-doc/html/gdk-pixbuf/composite.png
    /usr/share/gtk-doc/html/gdk-pixbuf/gdk-pixbuf-Module-Interface.html
    /usr/share/gtk-doc/html/gdk-pixbuf/gdk-pixbuf-Versioning.html
    /usr/share/gtk-doc/html/gdk-pixbuf/gdk-pixbuf-animation.html
    /usr/share/gtk-doc/html/gdk-pixbuf/gdk-pixbuf-creating.html
    /usr/share/gtk-doc/html/gdk-pixbuf/gdk-pixbuf-csource.html
    /usr/share/gtk-doc/html/gdk-pixbuf/gdk-pixbuf-file-loading.html
    /usr/share/gtk-doc/html/gdk-pixbuf/gdk-pixbuf-file-saving.html
    /usr/share/gtk-doc/html/gdk-pixbuf/gdk-pixbuf-gdk-pixbuf-from-drawables.html
    /usr/share/gtk-doc/html/gdk-pixbuf/gdk-pixbuf-gdk-pixbuf-rendering.html
    /usr/share/gtk-doc/html/gdk-pixbuf/gdk-pixbuf-gdk-pixbuf-xlib-from-drawables.html
    /usr/share/gtk-doc/html/gdk-pixbuf/gdk-pixbuf-gdk-pixbuf-xlib-init.html
    /usr/share/gtk-doc/html/gdk-pixbuf/gdk-pixbuf-gdk-pixbuf-xlib-rendering.html
    /usr/share/gtk-doc/html/gdk-pixbuf/gdk-pixbuf-gdk-pixbuf-xlib-rgb.html
    /usr/share/gtk-doc/html/gdk-pixbuf/gdk-pixbuf-gdk-pixbuf.html
    /usr/share/gtk-doc/html/gdk-pixbuf/gdk-pixbuf-inline.html
    /usr/share/gtk-doc/html/gdk-pixbuf/gdk-pixbuf-query-loaders.html
    /usr/share/gtk-doc/html/gdk-pixbuf/gdk-pixbuf-refcounting.html
    /usr/share/gtk-doc/html/gdk-pixbuf/gdk-pixbuf-scaling.html
    /usr/share/gtk-doc/html/gdk-pixbuf/gdk-pixbuf-util.html
    /usr/share/gtk-doc/html/gdk-pixbuf/gdk-pixbuf.devhelp
    /usr/share/gtk-doc/html/gdk-pixbuf/gdk-pixbuf.devhelp2
    /usr/share/gtk-doc/html/gdk-pixbuf/home.png
    /usr/share/gtk-doc/html/gdk-pixbuf/index.html
    /usr/share/gtk-doc/html/gdk-pixbuf/index.sgml
    /usr/share/gtk-doc/html/gdk-pixbuf/left.png
    /usr/share/gtk-doc/html/gdk-pixbuf/license.html
    /usr/share/gtk-doc/html/gdk-pixbuf/right.png
    /usr/share/gtk-doc/html/gdk-pixbuf/rn01.html
    /usr/share/gtk-doc/html/gdk-pixbuf/rn02.html
    /usr/share/gtk-doc/html/gdk-pixbuf/style.css
    /usr/share/gtk-doc/html/gdk-pixbuf/up.png
    /usr/share/gtk-doc/html/gdk/GdkDisplay.html
    /usr/share/gtk-doc/html/gdk/GdkDisplayManager.html
    /usr/share/gtk-doc/html/gdk/GdkScreen.html
    /usr/share/gtk-doc/html/gdk/X_cursor.png
    /usr/share/gtk-doc/html/gdk/api-index-2-10.html
    /usr/share/gtk-doc/html/gdk/api-index-2-12.html
    /usr/share/gtk-doc/html/gdk/api-index-2-14.html
    /usr/share/gtk-doc/html/gdk/api-index-2-16.html
    /usr/share/gtk-doc/html/gdk/api-index-2-18.html
    /usr/share/gtk-doc/html/gdk/api-index-2-2.html
    /usr/share/gtk-doc/html/gdk/api-index-2-4.html
    /usr/share/gtk-doc/html/gdk/api-index-2-6.html
    /usr/share/gtk-doc/html/gdk/api-index-2-8.html
    /usr/share/gtk-doc/html/gdk/api-index-deprecated.html
    /usr/share/gtk-doc/html/gdk/api-index-full.html
    /usr/share/gtk-doc/html/gdk/arrow.png
    /usr/share/gtk-doc/html/gdk/based_arrow_down.png
    /usr/share/gtk-doc/html/gdk/based_arrow_up.png
    /usr/share/gtk-doc/html/gdk/boat.png
    /usr/share/gtk-doc/html/gdk/bogosity.png
    /usr/share/gtk-doc/html/gdk/bottom_left_corner.png
    /usr/share/gtk-doc/html/gdk/bottom_right_corner.png
    /usr/share/gtk-doc/html/gdk/bottom_side.png
    /usr/share/gtk-doc/html/gdk/bottom_tee.png
    /usr/share/gtk-doc/html/gdk/box_spiral.png
    /usr/share/gtk-doc/html/gdk/center_ptr.png
    /usr/share/gtk-doc/html/gdk/circle.png
    /usr/share/gtk-doc/html/gdk/clock.png
    /usr/share/gtk-doc/html/gdk/coffee_mug.png
    /usr/share/gtk-doc/html/gdk/cross.png
    /usr/share/gtk-doc/html/gdk/cross_reverse.png
    /usr/share/gtk-doc/html/gdk/crosshair.png
    /usr/share/gtk-doc/html/gdk/diamond_cross.png
    /usr/share/gtk-doc/html/gdk/dot.png
    /usr/share/gtk-doc/html/gdk/dotbox.png
    /usr/share/gtk-doc/html/gdk/double_arrow.png
    /usr/share/gtk-doc/html/gdk/draft_large.png
    /usr/share/gtk-doc/html/gdk/draft_small.png
    /usr/share/gtk-doc/html/gdk/draped_box.png
    /usr/share/gtk-doc/html/gdk/exchange.png
    /usr/share/gtk-doc/html/gdk/fleur.png
    /usr/share/gtk-doc/html/gdk/gdk-Application-launching.html
    /usr/share/gtk-doc/html/gdk/gdk-Bitmaps-and-Pixmaps.html
    /usr/share/gtk-doc/html/gdk/gdk-Cairo-Interaction.html
    /usr/share/gtk-doc/html/gdk/gdk-Colormaps-and-Colors.html
    /usr/share/gtk-doc/html/gdk/gdk-Cursors.html
    /usr/share/gtk-doc/html/gdk/gdk-Drag-and-Drop.html
    /usr/share/gtk-doc/html/gdk/gdk-Drawing-Primitives.html
    /usr/share/gtk-doc/html/gdk/gdk-Event-Structures.html
    /usr/share/gtk-doc/html/gdk/gdk-Events.html
    /usr/share/gtk-doc/html/gdk/gdk-Fonts.html
    /usr/share/gtk-doc/html/gdk/gdk-GdkRGB.html
    /usr/share/gtk-doc/html/gdk/gdk-General.html
    /usr/share/gtk-doc/html/gdk/gdk-Graphics-Contexts.html
    /usr/share/gtk-doc/html/gdk/gdk-Images.html
    /usr/share/gtk-doc/html/gdk/gdk-Input-Devices.html
    /usr/share/gtk-doc/html/gdk/gdk-Input.html
    /usr/share/gtk-doc/html/gdk/gdk-Keyboard-Handling.html
    /usr/share/gtk-doc/html/gdk/gdk-Pango-Interaction.html
    /usr/share/gtk-doc/html/gdk/gdk-Pixbufs.html
    /usr/share/gtk-doc/html/gdk/gdk-Points-Rectangles-and-Regions.html
    /usr/share/gtk-doc/html/gdk/gdk-Properties-and-Atoms.html
    /usr/share/gtk-doc/html/gdk/gdk-Selections.html
    /usr/share/gtk-doc/html/gdk/gdk-Testing.html
    /usr/share/gtk-doc/html/gdk/gdk-Threads.html
    /usr/share/gtk-doc/html/gdk/gdk-Visuals.html
    /usr/share/gtk-doc/html/gdk/gdk-Windows.html
    /usr/share/gtk-doc/html/gdk/gdk-X-Window-System-Interaction.html
    /usr/share/gtk-doc/html/gdk/gdk.devhelp
    /usr/share/gtk-doc/html/gdk/gdk.devhelp2
    /usr/share/gtk-doc/html/gdk/gobbler.png
    /usr/share/gtk-doc/html/gdk/gumby.png
    /usr/share/gtk-doc/html/gdk/hand1.png
    /usr/share/gtk-doc/html/gdk/hand2.png
    /usr/share/gtk-doc/html/gdk/heart.png
    /usr/share/gtk-doc/html/gdk/home.png
    /usr/share/gtk-doc/html/gdk/icon.png
    /usr/share/gtk-doc/html/gdk/index.html
    /usr/share/gtk-doc/html/gdk/index.sgml
    /usr/share/gtk-doc/html/gdk/iron_cross.png
    /usr/share/gtk-doc/html/gdk/left.png
    /usr/share/gtk-doc/html/gdk/left_ptr.png
    /usr/share/gtk-doc/html/gdk/left_side.png
    /usr/share/gtk-doc/html/gdk/left_tee.png
    /usr/share/gtk-doc/html/gdk/leftbutton.png
    /usr/share/gtk-doc/html/gdk/ll_angle.png
    /usr/share/gtk-doc/html/gdk/lr_angle.png
    /usr/share/gtk-doc/html/gdk/man.png
    /usr/share/gtk-doc/html/gdk/middlebutton.png
    /usr/share/gtk-doc/html/gdk/mouse.png
    /usr/share/gtk-doc/html/gdk/multihead.html
    /usr/share/gtk-doc/html/gdk/pencil.png
    /usr/share/gtk-doc/html/gdk/pirate.png
    /usr/share/gtk-doc/html/gdk/plus.png
    /usr/share/gtk-doc/html/gdk/question_arrow.png
    /usr/share/gtk-doc/html/gdk/reference.html
    /usr/share/gtk-doc/html/gdk/right.png
    /usr/share/gtk-doc/html/gdk/right_ptr.png
    /usr/share/gtk-doc/html/gdk/right_side.png
    /usr/share/gtk-doc/html/gdk/right_tee.png
    /usr/share/gtk-doc/html/gdk/rightbutton.png
    /usr/share/gtk-doc/html/gdk/rotated-text.png
    /usr/share/gtk-doc/html/gdk/rtl_logo.png
    /usr/share/gtk-doc/html/gdk/sailboat.png
    /usr/share/gtk-doc/html/gdk/sb_down_arrow.png
    /usr/share/gtk-doc/html/gdk/sb_h_double_arrow.png
    /usr/share/gtk-doc/html/gdk/sb_left_arrow.png
    /usr/share/gtk-doc/html/gdk/sb_right_arrow.png
    /usr/share/gtk-doc/html/gdk/sb_up_arrow.png
    /usr/share/gtk-doc/html/gdk/sb_v_double_arrow.png
    /usr/share/gtk-doc/html/gdk/shuttle.png
    /usr/share/gtk-doc/html/gdk/sizing.png
    /usr/share/gtk-doc/html/gdk/spider.png
    /usr/share/gtk-doc/html/gdk/spraycan.png
    /usr/share/gtk-doc/html/gdk/star.png
    /usr/share/gtk-doc/html/gdk/style.css
    /usr/share/gtk-doc/html/gdk/target.png
    /usr/share/gtk-doc/html/gdk/tcross.png
    /usr/share/gtk-doc/html/gdk/top_left_arrow.png
    /usr/share/gtk-doc/html/gdk/top_left_corner.png
    /usr/share/gtk-doc/html/gdk/top_right_corner.png
    /usr/share/gtk-doc/html/gdk/top_side.png
    /usr/share/gtk-doc/html/gdk/top_tee.png
    /usr/share/gtk-doc/html/gdk/trek.png
    /usr/share/gtk-doc/html/gdk/ul_angle.png
    /usr/share/gtk-doc/html/gdk/umbrella.png
    /usr/share/gtk-doc/html/gdk/up.png
    /usr/share/gtk-doc/html/gdk/ur_angle.png
    /usr/share/gtk-doc/html/gdk/watch.png
    /usr/share/gtk-doc/html/gdk/xterm.png
    /usr/share/gtk-doc/html/gtk/AbstractObjects.html
    /usr/share/gtk-doc/html/gtk/Actions.html
    /usr/share/gtk-doc/html/gtk/Builder.html
    /usr/share/gtk-doc/html/gtk/ButtonWidgets.html
    /usr/share/gtk-doc/html/gtk/DeprecatedObjects.html
    /usr/share/gtk-doc/html/gtk/DisplayWidgets.html
    /usr/share/gtk-doc/html/gtk/GtkAboutDialog.html
    /usr/share/gtk-doc/html/gtk/GtkAccelLabel.html
    /usr/share/gtk-doc/html/gtk/GtkAccessible.html
    /usr/share/gtk-doc/html/gtk/GtkAction.html
    /usr/share/gtk-doc/html/gtk/GtkActionGroup.html
    /usr/share/gtk-doc/html/gtk/GtkActivatable.html
    /usr/share/gtk-doc/html/gtk/GtkAdjustment.html
    /usr/share/gtk-doc/html/gtk/GtkAlignment.html
    /usr/share/gtk-doc/html/gtk/GtkArrow.html
    /usr/share/gtk-doc/html/gtk/GtkAspectFrame.html
    /usr/share/gtk-doc/html/gtk/GtkAssistant.html
    /usr/share/gtk-doc/html/gtk/GtkBin.html
    /usr/share/gtk-doc/html/gtk/GtkBox.html
    /usr/share/gtk-doc/html/gtk/GtkBuilder.html
    /usr/share/gtk-doc/html/gtk/GtkButton.html
    /usr/share/gtk-doc/html/gtk/GtkButtonBox.html
    /usr/share/gtk-doc/html/gtk/GtkCList.html
    /usr/share/gtk-doc/html/gtk/GtkCTree.html
    /usr/share/gtk-doc/html/gtk/GtkCalendar.html
    /usr/share/gtk-doc/html/gtk/GtkCellEditable.html
    /usr/share/gtk-doc/html/gtk/GtkCellLayout.html
    /usr/share/gtk-doc/html/gtk/GtkCellRenderer.html
    /usr/share/gtk-doc/html/gtk/GtkCellRendererAccel.html
    /usr/share/gtk-doc/html/gtk/GtkCellRendererCombo.html
    /usr/share/gtk-doc/html/gtk/GtkCellRendererPixbuf.html
    /usr/share/gtk-doc/html/gtk/GtkCellRendererProgress.html
    /usr/share/gtk-doc/html/gtk/GtkCellRendererSpin.html
    /usr/share/gtk-doc/html/gtk/GtkCellRendererText.html
    /usr/share/gtk-doc/html/gtk/GtkCellRendererToggle.html
    /usr/share/gtk-doc/html/gtk/GtkCellView.html
    /usr/share/gtk-doc/html/gtk/GtkCheckButton.html
    /usr/share/gtk-doc/html/gtk/GtkCheckMenuItem.html
    /usr/share/gtk-doc/html/gtk/GtkColorButton.html
    /usr/share/gtk-doc/html/gtk/GtkColorSelection.html
    /usr/share/gtk-doc/html/gtk/GtkColorSelectionDialog.html
    /usr/share/gtk-doc/html/gtk/GtkCombo.html
    /usr/share/gtk-doc/html/gtk/GtkComboBox.html
    /usr/share/gtk-doc/html/gtk/GtkComboBoxEntry.html
    /usr/share/gtk-doc/html/gtk/GtkContainer.html
    /usr/share/gtk-doc/html/gtk/GtkCurve.html
    /usr/share/gtk-doc/html/gtk/GtkDialog.html
    /usr/share/gtk-doc/html/gtk/GtkDrawingArea.html
    /usr/share/gtk-doc/html/gtk/GtkEditable.html
    /usr/share/gtk-doc/html/gtk/GtkEntry.html
    /usr/share/gtk-doc/html/gtk/GtkEntryBuffer.html
    /usr/share/gtk-doc/html/gtk/GtkEntryCompletion.html
    /usr/share/gtk-doc/html/gtk/GtkEventBox.html
    /usr/share/gtk-doc/html/gtk/GtkExpander.html
    /usr/share/gtk-doc/html/gtk/GtkFileChooser.html
    /usr/share/gtk-doc/html/gtk/GtkFileChooserButton.html
    /usr/share/gtk-doc/html/gtk/GtkFileChooserDialog.html
    /usr/share/gtk-doc/html/gtk/GtkFileChooserWidget.html
    /usr/share/gtk-doc/html/gtk/GtkFileSelection.html
    /usr/share/gtk-doc/html/gtk/GtkFixed.html
    /usr/share/gtk-doc/html/gtk/GtkFontButton.html
    /usr/share/gtk-doc/html/gtk/GtkFontSelection.html
    /usr/share/gtk-doc/html/gtk/GtkFontSelectionDialog.html
    /usr/share/gtk-doc/html/gtk/GtkFrame.html
    /usr/share/gtk-doc/html/gtk/GtkGammaCurve.html
    /usr/share/gtk-doc/html/gtk/GtkHBox.html
    /usr/share/gtk-doc/html/gtk/GtkHButtonBox.html
    /usr/share/gtk-doc/html/gtk/GtkHPaned.html
    /usr/share/gtk-doc/html/gtk/GtkHRuler.html
    /usr/share/gtk-doc/html/gtk/GtkHSV.html
    /usr/share/gtk-doc/html/gtk/GtkHScale.html
    /usr/share/gtk-doc/html/gtk/GtkHScrollbar.html
    /usr/share/gtk-doc/html/gtk/GtkHSeparator.html
    /usr/share/gtk-doc/html/gtk/GtkHandleBox.html
    /usr/share/gtk-doc/html/gtk/GtkIMContext.html
    /usr/share/gtk-doc/html/gtk/GtkIMContextSimple.html
    /usr/share/gtk-doc/html/gtk/GtkIMMulticontext.html
    /usr/share/gtk-doc/html/gtk/GtkIconTheme.html
    /usr/share/gtk-doc/html/gtk/GtkIconView.html
    /usr/share/gtk-doc/html/gtk/GtkImage.html
    /usr/share/gtk-doc/html/gtk/GtkImageMenuItem.html
    /usr/share/gtk-doc/html/gtk/GtkInfoBar.html
    /usr/share/gtk-doc/html/gtk/GtkInputDialog.html
    /usr/share/gtk-doc/html/gtk/GtkInvisible.html
    /usr/share/gtk-doc/html/gtk/GtkItem.html
    /usr/share/gtk-doc/html/gtk/GtkItemFactory.html
    /usr/share/gtk-doc/html/gtk/GtkLabel.html
    /usr/share/gtk-doc/html/gtk/GtkLayout.html
    /usr/share/gtk-doc/html/gtk/GtkLinkButton.html
    /usr/share/gtk-doc/html/gtk/GtkList.html
    /usr/share/gtk-doc/html/gtk/GtkListItem.html
    /usr/share/gtk-doc/html/gtk/GtkListStore.html
    /usr/share/gtk-doc/html/gtk/GtkMenu.html
    /usr/share/gtk-doc/html/gtk/GtkMenuBar.html
    /usr/share/gtk-doc/html/gtk/GtkMenuItem.html
    /usr/share/gtk-doc/html/gtk/GtkMenuShell.html
    /usr/share/gtk-doc/html/gtk/GtkMenuToolButton.html
    /usr/share/gtk-doc/html/gtk/GtkMessageDialog.html
    /usr/share/gtk-doc/html/gtk/GtkMisc.html
    /usr/share/gtk-doc/html/gtk/GtkNotebook.html
    /usr/share/gtk-doc/html/gtk/GtkObject.html
    /usr/share/gtk-doc/html/gtk/GtkOldEditable.html
    /usr/share/gtk-doc/html/gtk/GtkOptionMenu.html
    /usr/share/gtk-doc/html/gtk/GtkPageSetup.html
    /usr/share/gtk-doc/html/gtk/GtkPageSetupUnixDialog.html
    /usr/share/gtk-doc/html/gtk/GtkPaned.html
    /usr/share/gtk-doc/html/gtk/GtkPixmap.html
    /usr/share/gtk-doc/html/gtk/GtkPlug.html
    /usr/share/gtk-doc/html/gtk/GtkPreview.html
    /usr/share/gtk-doc/html/gtk/GtkPrintContext.html
    /usr/share/gtk-doc/html/gtk/GtkPrintJob.html
    /usr/share/gtk-doc/html/gtk/GtkPrintSettings.html
    /usr/share/gtk-doc/html/gtk/GtkPrintUnixDialog.html
    /usr/share/gtk-doc/html/gtk/GtkPrinter.html
    /usr/share/gtk-doc/html/gtk/GtkProgress.html
    /usr/share/gtk-doc/html/gtk/GtkProgressBar.html
    /usr/share/gtk-doc/html/gtk/GtkRadioAction.html
    /usr/share/gtk-doc/html/gtk/GtkRadioButton.html
    /usr/share/gtk-doc/html/gtk/GtkRadioMenuItem.html
    /usr/share/gtk-doc/html/gtk/GtkRadioToolButton.html
    /usr/share/gtk-doc/html/gtk/GtkRange.html
    /usr/share/gtk-doc/html/gtk/GtkRecentAction.html
    /usr/share/gtk-doc/html/gtk/GtkRecentChooser.html
    /usr/share/gtk-doc/html/gtk/GtkRecentChooserDialog.html
    /usr/share/gtk-doc/html/gtk/GtkRecentChooserMenu.html
    /usr/share/gtk-doc/html/gtk/GtkRecentChooserWidget.html
    /usr/share/gtk-doc/html/gtk/GtkRecentFilter.html
    /usr/share/gtk-doc/html/gtk/GtkRecentManager.html
    /usr/share/gtk-doc/html/gtk/GtkRuler.html
    /usr/share/gtk-doc/html/gtk/GtkScale.html
    /usr/share/gtk-doc/html/gtk/GtkScaleButton.html
    /usr/share/gtk-doc/html/gtk/GtkScrollbar.html
    /usr/share/gtk-doc/html/gtk/GtkScrolledWindow.html
    /usr/share/gtk-doc/html/gtk/GtkSeparator.html
    /usr/share/gtk-doc/html/gtk/GtkSeparatorMenuItem.html
    /usr/share/gtk-doc/html/gtk/GtkSeparatorToolItem.html
    /usr/share/gtk-doc/html/gtk/GtkSettings.html
    /usr/share/gtk-doc/html/gtk/GtkSizeGroup.html
    /usr/share/gtk-doc/html/gtk/GtkSocket.html
    /usr/share/gtk-doc/html/gtk/GtkSpinButton.html
    /usr/share/gtk-doc/html/gtk/GtkStatusIcon.html
    /usr/share/gtk-doc/html/gtk/GtkStatusbar.html
    /usr/share/gtk-doc/html/gtk/GtkStyle.html
    /usr/share/gtk-doc/html/gtk/GtkTable.html
    /usr/share/gtk-doc/html/gtk/GtkTearoffMenuItem.html
    /usr/share/gtk-doc/html/gtk/GtkText.html
    /usr/share/gtk-doc/html/gtk/GtkTextBuffer.html
    /usr/share/gtk-doc/html/gtk/GtkTextMark.html
    /usr/share/gtk-doc/html/gtk/GtkTextTag.html
    /usr/share/gtk-doc/html/gtk/GtkTextTagTable.html
    /usr/share/gtk-doc/html/gtk/GtkTextView.html
    /usr/share/gtk-doc/html/gtk/GtkTipsQuery.html
    /usr/share/gtk-doc/html/gtk/GtkToggleAction.html
    /usr/share/gtk-doc/html/gtk/GtkToggleButton.html
    /usr/share/gtk-doc/html/gtk/GtkToggleToolButton.html
    /usr/share/gtk-doc/html/gtk/GtkToolButton.html
    /usr/share/gtk-doc/html/gtk/GtkToolItem.html
    /usr/share/gtk-doc/html/gtk/GtkToolShell.html
    /usr/share/gtk-doc/html/gtk/GtkToolbar.html
    /usr/share/gtk-doc/html/gtk/GtkTooltip.html
    /usr/share/gtk-doc/html/gtk/GtkTooltips.html
    /usr/share/gtk-doc/html/gtk/GtkTree.html
    /usr/share/gtk-doc/html/gtk/GtkTreeItem.html
    /usr/share/gtk-doc/html/gtk/GtkTreeModel.html
    /usr/share/gtk-doc/html/gtk/GtkTreeModelFilter.html
    /usr/share/gtk-doc/html/gtk/GtkTreeModelSort.html
    /usr/share/gtk-doc/html/gtk/GtkTreeSelection.html
    /usr/share/gtk-doc/html/gtk/GtkTreeSortable.html
    /usr/share/gtk-doc/html/gtk/GtkTreeStore.html
    /usr/share/gtk-doc/html/gtk/GtkTreeView.html
    /usr/share/gtk-doc/html/gtk/GtkTreeViewColumn.html
    /usr/share/gtk-doc/html/gtk/GtkUIManager.html
    /usr/share/gtk-doc/html/gtk/GtkVBox.html
    /usr/share/gtk-doc/html/gtk/GtkVButtonBox.html
    /usr/share/gtk-doc/html/gtk/GtkVPaned.html
    /usr/share/gtk-doc/html/gtk/GtkVRuler.html
    /usr/share/gtk-doc/html/gtk/GtkVScale.html
    /usr/share/gtk-doc/html/gtk/GtkVScrollbar.html
    /usr/share/gtk-doc/html/gtk/GtkVSeparator.html
    /usr/share/gtk-doc/html/gtk/GtkViewport.html
    /usr/share/gtk-doc/html/gtk/GtkVolumeButton.html
    /usr/share/gtk-doc/html/gtk/GtkWidget.html
    /usr/share/gtk-doc/html/gtk/GtkWindow.html
    /usr/share/gtk-doc/html/gtk/GtkWindowGroup.html
    /usr/share/gtk-doc/html/gtk/LayoutContainers.html
    /usr/share/gtk-doc/html/gtk/MenusAndCombos.html
    /usr/share/gtk-doc/html/gtk/MiscObjects.html
    /usr/share/gtk-doc/html/gtk/NumericEntry.html
    /usr/share/gtk-doc/html/gtk/Ornaments.html
    /usr/share/gtk-doc/html/gtk/PlugSocket.html
    /usr/share/gtk-doc/html/gtk/Printing.html
    /usr/share/gtk-doc/html/gtk/RecentDocuments.html
    /usr/share/gtk-doc/html/gtk/ScrollingWidgets.html
    /usr/share/gtk-doc/html/gtk/SelectorWidgets.html
    /usr/share/gtk-doc/html/gtk/SpecialObjects.html
    /usr/share/gtk-doc/html/gtk/TextWidget.html
    /usr/share/gtk-doc/html/gtk/TextWidgetObjects.html
    /usr/share/gtk-doc/html/gtk/TreeWidget.html
    /usr/share/gtk-doc/html/gtk/TreeWidgetObjects.html
    /usr/share/gtk-doc/html/gtk/WindowWidgets.html
    /usr/share/gtk-doc/html/gtk/aboutdialog.png
    /usr/share/gtk-doc/html/gtk/accel-label.png
    /usr/share/gtk-doc/html/gtk/api-index-2-10.html
    /usr/share/gtk-doc/html/gtk/api-index-2-12.html
    /usr/share/gtk-doc/html/gtk/api-index-2-14.html
    /usr/share/gtk-doc/html/gtk/api-index-2-16.html
    /usr/share/gtk-doc/html/gtk/api-index-2-18.html
    /usr/share/gtk-doc/html/gtk/api-index-2-2.html
    /usr/share/gtk-doc/html/gtk/api-index-2-4.html
    /usr/share/gtk-doc/html/gtk/api-index-2-6.html
    /usr/share/gtk-doc/html/gtk/api-index-2-8.html
    /usr/share/gtk-doc/html/gtk/api-index-deprecated.html
    /usr/share/gtk-doc/html/gtk/api-index-full.html
    /usr/share/gtk-doc/html/gtk/assistant.png
    /usr/share/gtk-doc/html/gtk/button.png
    /usr/share/gtk-doc/html/gtk/ch01.html
    /usr/share/gtk-doc/html/gtk/ch02.html
    /usr/share/gtk-doc/html/gtk/chap-drawing-model.html
    /usr/share/gtk-doc/html/gtk/check-button.png
    /usr/share/gtk-doc/html/gtk/checklist-gdkeventexpose-region.html
    /usr/share/gtk-doc/html/gtk/checklist-modifiers.html
    /usr/share/gtk-doc/html/gtk/checklist-named-icons.html
    /usr/share/gtk-doc/html/gtk/color-button.png
    /usr/share/gtk-doc/html/gtk/colorsel.png
    /usr/share/gtk-doc/html/gtk/combo-box-entry.png
    /usr/share/gtk-doc/html/gtk/combo-box.png
    /usr/share/gtk-doc/html/gtk/decorating-the-assistant-pages.html
    /usr/share/gtk-doc/html/gtk/entry.png
    /usr/share/gtk-doc/html/gtk/figure-hierarchical-drawing.png
    /usr/share/gtk-doc/html/gtk/figure-windowed-label.png
    /usr/share/gtk-doc/html/gtk/file-button.png
    /usr/share/gtk-doc/html/gtk/filechooser.png
    /usr/share/gtk-doc/html/gtk/font-button.png
    /usr/share/gtk-doc/html/gtk/fontsel.png
    /usr/share/gtk-doc/html/gtk/frame.png
    /usr/share/gtk-doc/html/gtk/glossary.html
    /usr/share/gtk-doc/html/gtk/gtk-Accelerator-Maps.html
    /usr/share/gtk-doc/html/gtk/gtk-Bindings.html
    /usr/share/gtk-doc/html/gtk/gtk-Clipboards.html
    /usr/share/gtk-doc/html/gtk/gtk-Drag-and-Drop.html
    /usr/share/gtk-doc/html/gtk/gtk-Feature-Test-Macros.html
    /usr/share/gtk-doc/html/gtk/gtk-Filesystem-utilities.html
    /usr/share/gtk-doc/html/gtk/gtk-General.html
    /usr/share/gtk-doc/html/gtk/gtk-Graphics-Contexts.html
    /usr/share/gtk-doc/html/gtk/gtk-GtkPaperSize.html
    /usr/share/gtk-doc/html/gtk/gtk-GtkTextIter.html
    /usr/share/gtk-doc/html/gtk/gtk-GtkTreeView-drag-and-drop.html
    /usr/share/gtk-doc/html/gtk/gtk-High-level-Printing-API.html
    /usr/share/gtk-doc/html/gtk/gtk-Keyboard-Accelerators.html
    /usr/share/gtk-doc/html/gtk/gtk-Orientable.html
    /usr/share/gtk-doc/html/gtk/gtk-Resource-Files.html
    /usr/share/gtk-doc/html/gtk/gtk-Selections.html
    /usr/share/gtk-doc/html/gtk/gtk-Signals.html
    /usr/share/gtk-doc/html/gtk/gtk-Standard-Enumerations.html
    /usr/share/gtk-doc/html/gtk/gtk-Stock-Items.html
    /usr/share/gtk-doc/html/gtk/gtk-Testing.html
    /usr/share/gtk-doc/html/gtk/gtk-Themeable-Stock-Images.html
    /usr/share/gtk-doc/html/gtk/gtk-Types.html
    /usr/share/gtk-doc/html/gtk/gtk-about.png
    /usr/share/gtk-doc/html/gtk/gtk-add.png
    /usr/share/gtk-doc/html/gtk/gtk-apply.png
    /usr/share/gtk-doc/html/gtk/gtk-bold.png
    /usr/share/gtk-doc/html/gtk/gtk-builder-convert.html
    /usr/share/gtk-doc/html/gtk/gtk-building.html
    /usr/share/gtk-doc/html/gtk/gtk-cancel.png
    /usr/share/gtk-doc/html/gtk/gtk-caps-lock-warning.png
    /usr/share/gtk-doc/html/gtk/gtk-cdrom.png
    /usr/share/gtk-doc/html/gtk/gtk-changes-1-2.html
    /usr/share/gtk-doc/html/gtk/gtk-changes-2-0.html
    /usr/share/gtk-doc/html/gtk/gtk-clear.png
    /usr/share/gtk-doc/html/gtk/gtk-close.png
    /usr/share/gtk-doc/html/gtk/gtk-color-picker.png
    /usr/share/gtk-doc/html/gtk/gtk-compiling.html
    /usr/share/gtk-doc/html/gtk/gtk-connect.png
    /usr/share/gtk-doc/html/gtk/gtk-convert.png
    /usr/share/gtk-doc/html/gtk/gtk-copy.png
    /usr/share/gtk-doc/html/gtk/gtk-cut.png
    /usr/share/gtk-doc/html/gtk/gtk-delete.png
    /usr/share/gtk-doc/html/gtk/gtk-dialog-authentication.png
    /usr/share/gtk-doc/html/gtk/gtk-dialog-error.png
    /usr/share/gtk-doc/html/gtk/gtk-dialog-info.png
    /usr/share/gtk-doc/html/gtk/gtk-dialog-question.png
    /usr/share/gtk-doc/html/gtk/gtk-dialog-warning.png
    /usr/share/gtk-doc/html/gtk/gtk-directfb.html
    /usr/share/gtk-doc/html/gtk/gtk-directory.png
    /usr/share/gtk-doc/html/gtk/gtk-disconnect.png
    /usr/share/gtk-doc/html/gtk/gtk-dnd-multiple.png
    /usr/share/gtk-doc/html/gtk/gtk-dnd.png
    /usr/share/gtk-doc/html/gtk/gtk-edit.png
    /usr/share/gtk-doc/html/gtk/gtk-execute.png
    /usr/share/gtk-doc/html/gtk/gtk-file.png
    /usr/share/gtk-doc/html/gtk/gtk-find-and-replace.png
    /usr/share/gtk-doc/html/gtk/gtk-find.png
    /usr/share/gtk-doc/html/gtk/gtk-floppy.png
    /usr/share/gtk-doc/html/gtk/gtk-font.png
    /usr/share/gtk-doc/html/gtk/gtk-fullscreen.png
    /usr/share/gtk-doc/html/gtk/gtk-go-back-ltr.png
    /usr/share/gtk-doc/html/gtk/gtk-go-back-rtl.png
    /usr/share/gtk-doc/html/gtk/gtk-go-down.png
    /usr/share/gtk-doc/html/gtk/gtk-go-forward-ltr.png
    /usr/share/gtk-doc/html/gtk/gtk-go-forward-rtl.png
    /usr/share/gtk-doc/html/gtk/gtk-go-up.png
    /usr/share/gtk-doc/html/gtk/gtk-goto-bottom.png
    /usr/share/gtk-doc/html/gtk/gtk-goto-first-ltr.png
    /usr/share/gtk-doc/html/gtk/gtk-goto-first-rtl.png
    /usr/share/gtk-doc/html/gtk/gtk-goto-last-ltr.png
    /usr/share/gtk-doc/html/gtk/gtk-goto-last-rtl.png
    /usr/share/gtk-doc/html/gtk/gtk-goto-top.png
    /usr/share/gtk-doc/html/gtk/gtk-gtkbuildable.html
    /usr/share/gtk-doc/html/gtk/gtk-gtkfilefilter.html
    /usr/share/gtk-doc/html/gtk/gtk-harddisk.png
    /usr/share/gtk-doc/html/gtk/gtk-help.png
    /usr/share/gtk-doc/html/gtk/gtk-home.png
    /usr/share/gtk-doc/html/gtk/gtk-indent-ltr.png
    /usr/share/gtk-doc/html/gtk/gtk-indent-rtl.png
    /usr/share/gtk-doc/html/gtk/gtk-index.png
    /usr/share/gtk-doc/html/gtk/gtk-info.png
    /usr/share/gtk-doc/html/gtk/gtk-italic.png
    /usr/share/gtk-doc/html/gtk/gtk-jump-to-ltr.png
    /usr/share/gtk-doc/html/gtk/gtk-jump-to-rtl.png
    /usr/share/gtk-doc/html/gtk/gtk-justify-center.png
    /usr/share/gtk-doc/html/gtk/gtk-justify-fill.png
    /usr/share/gtk-doc/html/gtk/gtk-justify-left.png
    /usr/share/gtk-doc/html/gtk/gtk-justify-right.png
    /usr/share/gtk-doc/html/gtk/gtk-leave-fullscreen.png
    /usr/share/gtk-doc/html/gtk/gtk-media-forward-ltr.png
    /usr/share/gtk-doc/html/gtk/gtk-media-forward-rtl.png
    /usr/share/gtk-doc/html/gtk/gtk-media-next-ltr.png
    /usr/share/gtk-doc/html/gtk/gtk-media-next-rtl.png
    /usr/share/gtk-doc/html/gtk/gtk-media-pause.png
    /usr/share/gtk-doc/html/gtk/gtk-media-play-ltr.png
    /usr/share/gtk-doc/html/gtk/gtk-media-play-rtl.png
    /usr/share/gtk-doc/html/gtk/gtk-media-previous-ltr.png
    /usr/share/gtk-doc/html/gtk/gtk-media-previous-rtl.png
    /usr/share/gtk-doc/html/gtk/gtk-media-record.png
    /usr/share/gtk-doc/html/gtk/gtk-media-rewind-ltr.png
    /usr/share/gtk-doc/html/gtk/gtk-media-rewind-rtl.png
    /usr/share/gtk-doc/html/gtk/gtk-media-stop.png
    /usr/share/gtk-doc/html/gtk/gtk-migrating-ClientSideWindows.html
    /usr/share/gtk-doc/html/gtk/gtk-migrating-GtkAboutDialog.html
    /usr/share/gtk-doc/html/gtk/gtk-migrating-GtkAction.html
    /usr/share/gtk-doc/html/gtk/gtk-migrating-GtkAssistant.html
    /usr/share/gtk-doc/html/gtk/gtk-migrating-GtkBuilder.html
    /usr/share/gtk-doc/html/gtk/gtk-migrating-GtkColorButton.html
    /usr/share/gtk-doc/html/gtk/gtk-migrating-GtkComboBox.html
    /usr/share/gtk-doc/html/gtk/gtk-migrating-GtkFileChooser.html
    /usr/share/gtk-doc/html/gtk/gtk-migrating-GtkIconView.html
    /usr/share/gtk-doc/html/gtk/gtk-migrating-GtkLinkButton.html
    /usr/share/gtk-doc/html/gtk/gtk-migrating-GtkRecentChooser.html
    /usr/share/gtk-doc/html/gtk/gtk-migrating-checklist.html
    /usr/share/gtk-doc/html/gtk/gtk-migrating-entry-icons.html
    /usr/share/gtk-doc/html/gtk/gtk-migrating-label-links.html
    /usr/share/gtk-doc/html/gtk/gtk-migrating-tooltips.html
    /usr/share/gtk-doc/html/gtk/gtk-missing-image.png
    /usr/share/gtk-doc/html/gtk/gtk-network.png
    /usr/share/gtk-doc/html/gtk/gtk-new.png
    /usr/share/gtk-doc/html/gtk/gtk-no.png
    /usr/share/gtk-doc/html/gtk/gtk-ok.png
    /usr/share/gtk-doc/html/gtk/gtk-open.png
    /usr/share/gtk-doc/html/gtk/gtk-orientation-landscape.png
    /usr/share/gtk-doc/html/gtk/gtk-orientation-portrait.png
    /usr/share/gtk-doc/html/gtk/gtk-orientation-reverse-landscape.png
    /usr/share/gtk-doc/html/gtk/gtk-orientation-reverse-portrait.png
    /usr/share/gtk-doc/html/gtk/gtk-osx.html
    /usr/share/gtk-doc/html/gtk/gtk-paste.png
    /usr/share/gtk-doc/html/gtk/gtk-preferences.png
    /usr/share/gtk-doc/html/gtk/gtk-print-error.png
    /usr/share/gtk-doc/html/gtk/gtk-print-paused.png
    /usr/share/gtk-doc/html/gtk/gtk-print-preview.png
    /usr/share/gtk-doc/html/gtk/gtk-print-report.png
    /usr/share/gtk-doc/html/gtk/gtk-print-warning.png
    /usr/share/gtk-doc/html/gtk/gtk-print.png
    /usr/share/gtk-doc/html/gtk/gtk-properties.png
    /usr/share/gtk-doc/html/gtk/gtk-query-immodules-2.0.html
    /usr/share/gtk-doc/html/gtk/gtk-question-index.html
    /usr/share/gtk-doc/html/gtk/gtk-quit.png
    /usr/share/gtk-doc/html/gtk/gtk-redo-ltr.png
    /usr/share/gtk-doc/html/gtk/gtk-redo-rtl.png
    /usr/share/gtk-doc/html/gtk/gtk-refresh.png
    /usr/share/gtk-doc/html/gtk/gtk-remove.png
    /usr/share/gtk-doc/html/gtk/gtk-resources.html
    /usr/share/gtk-doc/html/gtk/gtk-revert-to-saved-ltr.png
    /usr/share/gtk-doc/html/gtk/gtk-revert-to-saved-rtl.png
    /usr/share/gtk-doc/html/gtk/gtk-running.html
    /usr/share/gtk-doc/html/gtk/gtk-save-as.png
    /usr/share/gtk-doc/html/gtk/gtk-save.png
    /usr/share/gtk-doc/html/gtk/gtk-select-all.png
    /usr/share/gtk-doc/html/gtk/gtk-select-color.png
    /usr/share/gtk-doc/html/gtk/gtk-sort-ascending.png
    /usr/share/gtk-doc/html/gtk/gtk-sort-descending.png
    /usr/share/gtk-doc/html/gtk/gtk-spell-check.png
    /usr/share/gtk-doc/html/gtk/gtk-stop.png
    /usr/share/gtk-doc/html/gtk/gtk-strikethrough.png
    /usr/share/gtk-doc/html/gtk/gtk-undelete-ltr.png
    /usr/share/gtk-doc/html/gtk/gtk-undelete-rtl.png
    /usr/share/gtk-doc/html/gtk/gtk-underline.png
    /usr/share/gtk-doc/html/gtk/gtk-undo-ltr.png
    /usr/share/gtk-doc/html/gtk/gtk-undo-rtl.png
    /usr/share/gtk-doc/html/gtk/gtk-unindent-ltr.png
    /usr/share/gtk-doc/html/gtk/gtk-unindent-rtl.png
    /usr/share/gtk-doc/html/gtk/gtk-update-icon-cache.html
    /usr/share/gtk-doc/html/gtk/gtk-windows.html
    /usr/share/gtk-doc/html/gtk/gtk-x11.html
    /usr/share/gtk-doc/html/gtk/gtk-yes.png
    /usr/share/gtk-doc/html/gtk/gtk-zoom-100.png
    /usr/share/gtk-doc/html/gtk/gtk-zoom-fit.png
    /usr/share/gtk-doc/html/gtk/gtk-zoom-in.png
    /usr/share/gtk-doc/html/gtk/gtk-zoom-out.png
    /usr/share/gtk-doc/html/gtk/gtk.devhelp
    /usr/share/gtk-doc/html/gtk/gtk.devhelp2
    /usr/share/gtk-doc/html/gtk/gtk.html
    /usr/share/gtk-doc/html/gtk/gtkbase.html
    /usr/share/gtk-doc/html/gtk/gtkfilechooser-installing-extra-widgets.html
    /usr/share/gtk-doc/html/gtk/gtkfilechooser-installing-preview.html
    /usr/share/gtk-doc/html/gtk/gtkfilechooser-new-features.html
    /usr/share/gtk-doc/html/gtk/gtkfilechooser-selection-modes.html
    /usr/share/gtk-doc/html/gtk/gtkobjects.html
    /usr/share/gtk-doc/html/gtk/gtkrecent-advanced.html
    /usr/share/gtk-doc/html/gtk/gtkrecent-chooser.html
    /usr/share/gtk-doc/html/gtk/home.png
    /usr/share/gtk-doc/html/gtk/icon-view.png
    /usr/share/gtk-doc/html/gtk/image.png
    /usr/share/gtk-doc/html/gtk/index.html
    /usr/share/gtk-doc/html/gtk/index.sgml
    /usr/share/gtk-doc/html/gtk/label.png
    /usr/share/gtk-doc/html/gtk/layout-btlr.png
    /usr/share/gtk-doc/html/gtk/layout-btrl.png
    /usr/share/gtk-doc/html/gtk/layout-lrbt.png
    /usr/share/gtk-doc/html/gtk/layout-lrtb.png
    /usr/share/gtk-doc/html/gtk/layout-rlbt.png
    /usr/share/gtk-doc/html/gtk/layout-rltb.png
    /usr/share/gtk-doc/html/gtk/layout-tblr.png
    /usr/share/gtk-doc/html/gtk/layout-tbrl.png
    /usr/share/gtk-doc/html/gtk/left.png
    /usr/share/gtk-doc/html/gtk/link-button.png
    /usr/share/gtk-doc/html/gtk/list-and-tree.png
    /usr/share/gtk-doc/html/gtk/menubar.png
    /usr/share/gtk-doc/html/gtk/messagedialog.png
    /usr/share/gtk-doc/html/gtk/migrating-GtkCombo.html
    /usr/share/gtk-doc/html/gtk/migrating-gnomeuiinfo.html
    /usr/share/gtk-doc/html/gtk/migrating.html
    /usr/share/gtk-doc/html/gtk/multiline-text.png
    /usr/share/gtk-doc/html/gtk/new-features-GtkComboBox.html
    /usr/share/gtk-doc/html/gtk/notebook.png
    /usr/share/gtk-doc/html/gtk/pagesetupdialog.png
    /usr/share/gtk-doc/html/gtk/panes.png
    /usr/share/gtk-doc/html/gtk/printdialog.png
    /usr/share/gtk-doc/html/gtk/progressbar.png
    /usr/share/gtk-doc/html/gtk/pt05.html
    /usr/share/gtk-doc/html/gtk/radio-group.png
    /usr/share/gtk-doc/html/gtk/recentchooserdialog.png
    /usr/share/gtk-doc/html/gtk/right.png
    /usr/share/gtk-doc/html/gtk/scales.png
    /usr/share/gtk-doc/html/gtk/scrolledwindow.png
    /usr/share/gtk-doc/html/gtk/separator.png
    /usr/share/gtk-doc/html/gtk/setting-the-page-flow.html
    /usr/share/gtk-doc/html/gtk/spinbutton.png
    /usr/share/gtk-doc/html/gtk/statusbar.png
    /usr/share/gtk-doc/html/gtk/style.css
    /usr/share/gtk-doc/html/gtk/toggle-button.png
    /usr/share/gtk-doc/html/gtk/toolbar.png
    /usr/share/gtk-doc/html/gtk/tree-view-coordinates.png
    /usr/share/gtk-doc/html/gtk/ui-manager.html
    /usr/share/gtk-doc/html/gtk/up.png
    /usr/share/gtk-doc/html/gtk/volumebutton.png
    /usr/share/gtk-doc/html/gtk/window.png
    /usr/share/locale/af/LC_MESSAGES/gtk20-properties.mo
    /usr/share/locale/af/LC_MESSAGES/gtk20.mo
    /usr/share/locale/am/LC_MESSAGES/gtk20-properties.mo
    /usr/share/locale/am/LC_MESSAGES/gtk20.mo
    /usr/share/locale/ang/LC_MESSAGES/gtk20-properties.mo
    /usr/share/locale/ang/LC_MESSAGES/gtk20.mo
    /usr/share/locale/ar/LC_MESSAGES/gtk20-properties.mo
    /usr/share/locale/ar/LC_MESSAGES/gtk20.mo
    /usr/share/locale/as/LC_MESSAGES/gtk20-properties.mo
    /usr/share/locale/as/LC_MESSAGES/gtk20.mo
    /usr/share/locale/ast/LC_MESSAGES/gtk20-properties.mo
    /usr/share/locale/ast/LC_MESSAGES/gtk20.mo
    /usr/share/locale/az/LC_MESSAGES/gtk20-properties.mo
    /usr/share/locale/az/LC_MESSAGES/gtk20.mo
    /usr/share/locale/az_IR/LC_MESSAGES/gtk20-properties.mo
    /usr/share/locale/az_IR/LC_MESSAGES/gtk20.mo
    /usr/share/locale/be/LC_MESSAGES/gtk20-properties.mo
    /usr/share/locale/be/LC_MESSAGES/gtk20.mo
    /usr/share/locale/be@latin/LC_MESSAGES/gtk20-properties.mo
    /usr/share/locale/be@latin/LC_MESSAGES/gtk20.mo
    /usr/share/locale/bg/LC_MESSAGES/gtk20-properties.mo
    /usr/share/locale/bg/LC_MESSAGES/gtk20.mo
    /usr/share/locale/bn/LC_MESSAGES/gtk20-properties.mo
    /usr/share/locale/bn/LC_MESSAGES/gtk20.mo
    /usr/share/locale/bn_IN/LC_MESSAGES/gtk20-properties.mo
    /usr/share/locale/bn_IN/LC_MESSAGES/gtk20.mo
    /usr/share/locale/br/LC_MESSAGES/gtk20-properties.mo
    /usr/share/locale/br/LC_MESSAGES/gtk20.mo
    /usr/share/locale/bs/LC_MESSAGES/gtk20-properties.mo
    /usr/share/locale/bs/LC_MESSAGES/gtk20.mo
    /usr/share/locale/ca/LC_MESSAGES/gtk20-properties.mo
    /usr/share/locale/ca/LC_MESSAGES/gtk20.mo
    /usr/share/locale/ca@valencia/LC_MESSAGES/gtk20-properties.mo
    /usr/share/locale/ca@valencia/LC_MESSAGES/gtk20.mo
    /usr/share/locale/crh/LC_MESSAGES/gtk20-properties.mo
    /usr/share/locale/crh/LC_MESSAGES/gtk20.mo
    /usr/share/locale/cs/LC_MESSAGES/gtk20-properties.mo
    /usr/share/locale/cs/LC_MESSAGES/gtk20.mo
    /usr/share/locale/cy/LC_MESSAGES/gtk20-properties.mo
    /usr/share/locale/cy/LC_MESSAGES/gtk20.mo
    /usr/share/locale/da/LC_MESSAGES/gtk20-properties.mo
    /usr/share/locale/da/LC_MESSAGES/gtk20.mo
    /usr/share/locale/de/LC_MESSAGES/gtk20-properties.mo
    /usr/share/locale/de/LC_MESSAGES/gtk20.mo
    /usr/share/locale/dz/LC_MESSAGES/gtk20-properties.mo
    /usr/share/locale/dz/LC_MESSAGES/gtk20.mo
    /usr/share/locale/el/LC_MESSAGES/gtk20-properties.mo
    /usr/share/locale/el/LC_MESSAGES/gtk20.mo
    /usr/share/locale/en_CA/LC_MESSAGES/gtk20-properties.mo
    /usr/share/locale/en_CA/LC_MESSAGES/gtk20.mo
    /usr/share/locale/en_GB/LC_MESSAGES/gtk20-properties.mo
    /usr/share/locale/en_GB/LC_MESSAGES/gtk20.mo
    /usr/share/locale/eo/LC_MESSAGES/gtk20-properties.mo
    /usr/share/locale/eo/LC_MESSAGES/gtk20.mo
    /usr/share/locale/es/LC_MESSAGES/gtk20-properties.mo
    /usr/share/locale/es/LC_MESSAGES/gtk20.mo
    /usr/share/locale/et/LC_MESSAGES/gtk20-properties.mo
    /usr/share/locale/et/LC_MESSAGES/gtk20.mo
    /usr/share/locale/eu/LC_MESSAGES/gtk20-properties.mo
    /usr/share/locale/eu/LC_MESSAGES/gtk20.mo
    /usr/share/locale/fa/LC_MESSAGES/gtk20-properties.mo
    /usr/share/locale/fa/LC_MESSAGES/gtk20.mo
    /usr/share/locale/fi/LC_MESSAGES/gtk20-properties.mo
    /usr/share/locale/fi/LC_MESSAGES/gtk20.mo
    /usr/share/locale/fr/LC_MESSAGES/gtk20-properties.mo
    /usr/share/locale/fr/LC_MESSAGES/gtk20.mo
    /usr/share/locale/ga/LC_MESSAGES/gtk20-properties.mo
    /usr/share/locale/ga/LC_MESSAGES/gtk20.mo
    /usr/share/locale/gl/LC_MESSAGES/gtk20-properties.mo
    /usr/share/locale/gl/LC_MESSAGES/gtk20.mo
    /usr/share/locale/gu/LC_MESSAGES/gtk20-properties.mo
    /usr/share/locale/gu/LC_MESSAGES/gtk20.mo
    /usr/share/locale/he/LC_MESSAGES/gtk20-properties.mo
    /usr/share/locale/he/LC_MESSAGES/gtk20.mo
    /usr/share/locale/hi/LC_MESSAGES/gtk20-properties.mo
    /usr/share/locale/hi/LC_MESSAGES/gtk20.mo
    /usr/share/locale/hr/LC_MESSAGES/gtk20-properties.mo
    /usr/share/locale/hr/LC_MESSAGES/gtk20.mo
    /usr/share/locale/hu/LC_MESSAGES/gtk20-properties.mo
    /usr/share/locale/hu/LC_MESSAGES/gtk20.mo
    /usr/share/locale/hy/LC_MESSAGES/gtk20-properties.mo
    /usr/share/locale/hy/LC_MESSAGES/gtk20.mo
    /usr/share/locale/ia/LC_MESSAGES/gtk20-properties.mo
    /usr/share/locale/ia/LC_MESSAGES/gtk20.mo
    /usr/share/locale/id/LC_MESSAGES/gtk20-properties.mo
    /usr/share/locale/id/LC_MESSAGES/gtk20.mo
    /usr/share/locale/io/LC_MESSAGES/gtk20-properties.mo
    /usr/share/locale/io/LC_MESSAGES/gtk20.mo
    /usr/share/locale/is/LC_MESSAGES/gtk20-properties.mo
    /usr/share/locale/is/LC_MESSAGES/gtk20.mo
    /usr/share/locale/it/LC_MESSAGES/gtk20-properties.mo
    /usr/share/locale/it/LC_MESSAGES/gtk20.mo
    /usr/share/locale/ja/LC_MESSAGES/gtk20-properties.mo
    /usr/share/locale/ja/LC_MESSAGES/gtk20.mo
    /usr/share/locale/ka/LC_MESSAGES/gtk20-properties.mo
    /usr/share/locale/ka/LC_MESSAGES/gtk20.mo
    /usr/share/locale/kn/LC_MESSAGES/gtk20-properties.mo
    /usr/share/locale/kn/LC_MESSAGES/gtk20.mo
    /usr/share/locale/ko/LC_MESSAGES/gtk20-properties.mo
    /usr/share/locale/ko/LC_MESSAGES/gtk20.mo
    /usr/share/locale/ku/LC_MESSAGES/gtk20-properties.mo
    /usr/share/locale/ku/LC_MESSAGES/gtk20.mo
    /usr/share/locale/li/LC_MESSAGES/gtk20-properties.mo
    /usr/share/locale/li/LC_MESSAGES/gtk20.mo
    /usr/share/locale/lt/LC_MESSAGES/gtk20-properties.mo
    /usr/share/locale/lt/LC_MESSAGES/gtk20.mo
    /usr/share/locale/lv/LC_MESSAGES/gtk20-properties.mo
    /usr/share/locale/lv/LC_MESSAGES/gtk20.mo
    /usr/share/locale/mai/LC_MESSAGES/gtk20-properties.mo
    /usr/share/locale/mai/LC_MESSAGES/gtk20.mo
    /usr/share/locale/mi/LC_MESSAGES/gtk20-properties.mo
    /usr/share/locale/mi/LC_MESSAGES/gtk20.mo
    /usr/share/locale/mk/LC_MESSAGES/gtk20-properties.mo
    /usr/share/locale/mk/LC_MESSAGES/gtk20.mo
    /usr/share/locale/ml/LC_MESSAGES/gtk20-properties.mo
    /usr/share/locale/ml/LC_MESSAGES/gtk20.mo
    /usr/share/locale/mn/LC_MESSAGES/gtk20-properties.mo
    /usr/share/locale/mn/LC_MESSAGES/gtk20.mo
    /usr/share/locale/mr/LC_MESSAGES/gtk20-properties.mo
    /usr/share/locale/mr/LC_MESSAGES/gtk20.mo
    /usr/share/locale/ms/LC_MESSAGES/gtk20-properties.mo
    /usr/share/locale/ms/LC_MESSAGES/gtk20.mo
    /usr/share/locale/nb/LC_MESSAGES/gtk20-properties.mo
    /usr/share/locale/nb/LC_MESSAGES/gtk20.mo
    /usr/share/locale/nds/LC_MESSAGES/gtk20-properties.mo
    /usr/share/locale/nds/LC_MESSAGES/gtk20.mo
    /usr/share/locale/ne/LC_MESSAGES/gtk20-properties.mo
    /usr/share/locale/ne/LC_MESSAGES/gtk20.mo
    /usr/share/locale/nl/LC_MESSAGES/gtk20-properties.mo
    /usr/share/locale/nl/LC_MESSAGES/gtk20.mo
    /usr/share/locale/nn/LC_MESSAGES/gtk20-properties.mo
    /usr/share/locale/nn/LC_MESSAGES/gtk20.mo
    /usr/share/locale/nso/LC_MESSAGES/gtk20-properties.mo
    /usr/share/locale/nso/LC_MESSAGES/gtk20.mo
    /usr/share/locale/oc/LC_MESSAGES/gtk20-properties.mo
    /usr/share/locale/oc/LC_MESSAGES/gtk20.mo
    /usr/share/locale/or/LC_MESSAGES/gtk20-properties.mo
    /usr/share/locale/or/LC_MESSAGES/gtk20.mo
    /usr/share/locale/pa/LC_MESSAGES/gtk20-properties.mo
    /usr/share/locale/pa/LC_MESSAGES/gtk20.mo
    /usr/share/locale/pl/LC_MESSAGES/gtk20-properties.mo
    /usr/share/locale/pl/LC_MESSAGES/gtk20.mo
    /usr/share/locale/ps/LC_MESSAGES/gtk20-properties.mo
    /usr/share/locale/ps/LC_MESSAGES/gtk20.mo
    /usr/share/locale/pt/LC_MESSAGES/gtk20-properties.mo
    /usr/share/locale/pt/LC_MESSAGES/gtk20.mo
    /usr/share/locale/pt_BR/LC_MESSAGES/gtk20-properties.mo
    /usr/share/locale/pt_BR/LC_MESSAGES/gtk20.mo
    /usr/share/locale/ro/LC_MESSAGES/gtk20-properties.mo
    /usr/share/locale/ro/LC_MESSAGES/gtk20.mo
    /usr/share/locale/ru/LC_MESSAGES/gtk20-properties.mo
    /usr/share/locale/ru/LC_MESSAGES/gtk20.mo
    /usr/share/locale/rw/LC_MESSAGES/gtk20-properties.mo
    /usr/share/locale/rw/LC_MESSAGES/gtk20.mo
    /usr/share/locale/si/LC_MESSAGES/gtk20-properties.mo
    /usr/share/locale/si/LC_MESSAGES/gtk20.mo
    /usr/share/locale/sk/LC_MESSAGES/gtk20-properties.mo
    /usr/share/locale/sk/LC_MESSAGES/gtk20.mo
    /usr/share/locale/sl/LC_MESSAGES/gtk20-properties.mo
    /usr/share/locale/sl/LC_MESSAGES/gtk20.mo
    /usr/share/locale/sq/LC_MESSAGES/gtk20-properties.mo
    /usr/share/locale/sq/LC_MESSAGES/gtk20.mo
    /usr/share/locale/sr/LC_MESSAGES/gtk20-properties.mo
    /usr/share/locale/sr/LC_MESSAGES/gtk20.mo
    /usr/share/locale/sr@ije/LC_MESSAGES/gtk20-properties.mo
    /usr/share/locale/sr@ije/LC_MESSAGES/gtk20.mo
    /usr/share/locale/sr@latin/LC_MESSAGES/gtk20-properties.mo
    /usr/share/locale/sr@latin/LC_MESSAGES/gtk20.mo
    /usr/share/locale/sv/LC_MESSAGES/gtk20-properties.mo
    /usr/share/locale/sv/LC_MESSAGES/gtk20.mo
    /usr/share/locale/ta/LC_MESSAGES/gtk20-properties.mo
    /usr/share/locale/ta/LC_MESSAGES/gtk20.mo
    /usr/share/locale/te/LC_MESSAGES/gtk20-properties.mo
    /usr/share/locale/te/LC_MESSAGES/gtk20.mo
    /usr/share/locale/th/LC_MESSAGES/gtk20-properties.mo
    /usr/share/locale/th/LC_MESSAGES/gtk20.mo
    /usr/share/locale/tk/LC_MESSAGES/gtk20-properties.mo
    /usr/share/locale/tk/LC_MESSAGES/gtk20.mo
    /usr/share/locale/tr/LC_MESSAGES/gtk20-properties.mo
    /usr/share/locale/tr/LC_MESSAGES/gtk20.mo
    /usr/share/locale/tt/LC_MESSAGES/gtk20-properties.mo
    /usr/share/locale/tt/LC_MESSAGES/gtk20.mo
    /usr/share/locale/uk/LC_MESSAGES/gtk20-properties.mo
    /usr/share/locale/uk/LC_MESSAGES/gtk20.mo
    /usr/share/locale/ur/LC_MESSAGES/gtk20-properties.mo
    /usr/share/locale/ur/LC_MESSAGES/gtk20.mo
    /usr/share/locale/uz/LC_MESSAGES/gtk20-properties.mo
    /usr/share/locale/uz/LC_MESSAGES/gtk20.mo
    /usr/share/locale/uz@cyrillic/LC_MESSAGES/gtk20-properties.mo
    /usr/share/locale/uz@cyrillic/LC_MESSAGES/gtk20.mo
    /usr/share/locale/vi/LC_MESSAGES/gtk20-properties.mo
    /usr/share/locale/vi/LC_MESSAGES/gtk20.mo
    /usr/share/locale/wa/LC_MESSAGES/gtk20-properties.mo
    /usr/share/locale/wa/LC_MESSAGES/gtk20.mo
    /usr/share/locale/xh/LC_MESSAGES/gtk20-properties.mo
    /usr/share/locale/xh/LC_MESSAGES/gtk20.mo
    /usr/share/locale/yi/LC_MESSAGES/gtk20-properties.mo
    /usr/share/locale/yi/LC_MESSAGES/gtk20.mo
    /usr/share/locale/zh_CN/LC_MESSAGES/gtk20-properties.mo
    /usr/share/locale/zh_CN/LC_MESSAGES/gtk20.mo
    /usr/share/locale/zh_HK/LC_MESSAGES/gtk20-properties.mo
    /usr/share/locale/zh_HK/LC_MESSAGES/gtk20.mo
    /usr/share/locale/zh_TW/LC_MESSAGES/gtk20-properties.mo
    /usr/share/locale/zh_TW/LC_MESSAGES/gtk20.mo
    /usr/share/themes/Default/gtk-2.0-key/gtkrc
    /usr/share/themes/Emacs/gtk-2.0-key/gtkrc
    /usr/share/themes/MS-Windows/gtk-2.0/gtkrc
    /usr/share/themes/Raleigh/gtk-2.0/gtkrc


  4. Setting Up and Testing Cygwin GTK+


    Hooray! Now that GTK+ is successfully built, let's test it. But first, create a file /etc/gtk-2.0/gtkrc or ~/.gtkrc-2.0 with the following contents:


    gtk-theme-name = "MS-Windows"

    style "user-font"
    {
    font_name="Sans 9"
    }
    widget_class "*" style "user-font"

    Then, create a file /etc/pango/pango.aliases or ~/.pango.aliases and put something like this inside:


    Sans =  "Arial,Haansoft Dotum,MS Sans Serif"
    Serif = "Times New Roman,Haansoft Batang"
    Monospace = "Courier New"

    Now, try to run:


    gtk-demo.exe 2> /tmp/error.log

    A window will pop up showing GTK+ coding examples. Any error will be written to the file error.log. Look at it to solve any error.


    cygwin_gtk-demo_zh



Notes


I noticed that the libraries compiled with Cygwin all have a name beginning with cyg-. This is good since Cygwin libraries won't have a filename conflict with MinGW-compiled libraries.


(Fixed) Cairo 1.8.x failed to compile with fwprintf error, so I compiled Cairo 1.6.4 which is good enough for GTK+ compilation. From Pango 1.21 upward, Pango could not be compiled with Cairo 1.6.x, so I had to compile and install Pango 1.20.5.


The GTK+ binaries produced by this tutorial don't depend on X11 libaries, therefore, they're more flexible and convenient.



Further readings


Sunday, January 17, 2010

gtk-gnutella for Windows

Here's my gtk-gnutella build.




You may choose to install the GTK+ library and gtk-gnutella in the same folder. This means gtk-gnutella.exe and libgtk-win32-2.0-0.dll are in the same place.


Create a shortcut on the desktop to the GTK-Gnutella executable. Double-click the shortcut to run gtk-gnutella.

Saturday, January 16, 2010

To Build Gnome-MPlayer on Debian 5.0 Lenny

After compiling MPlayer on Debian 3.1 Sarge, I looked for a decent frontend to MPlayer. I found two frontends, SMplayer and Gnome-Mplayer. I chose to try Gnome-MPlayer because I am a GNOME person. However, Gnome-mplayer is not yet packaged for Debian 5.0 Lenny and previous releases. So I had to build Gnome-mplayer on my own. I downloaded the following packages in preparation for building Gnome-mplayer.



  • gcc
  • libasound2-dev
  • libcurl4-gnutls-dev
  • libdbus-glib-1-dev
  • libdiscid0-dev
  • libgpod-dev
  • libgtk2.0-dev
  • libmusicbrainz3-dev
  • libneon26-gnutls-dev
  • make


I downloaded Gnome-MPlayer source from the following location:





For Debian Lenny, download version 0.9.6. Versions higher than that requires latest GTK releases. I unpacked the Gnome-MPlayer source.



tar xzvf gnome-mplayer-0.9.6.tar.gz
cd gnome-mplayer-0.9.6


Then, I configured gnome-mplayer compilation:



./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --with-libgpod --with-libmusicbrainz3


Then, I initiated compilation:



make
make install


The following files are installed on the system after compiling Gnome-mplayer:



/usr/bin/gnome-mplayer
/usr/share/locale/bg/LC_MESSAGES/gnome-mplayer.mo
/usr/share/locale/de/LC_MESSAGES/gnome-mplayer.mo
/usr/share/locale/el/LC_MESSAGES/gnome-mplayer.mo
/usr/share/locale/en/LC_MESSAGES/gnome-mplayer.mo
/usr/share/locale/es/LC_MESSAGES/gnome-mplayer.mo
/usr/share/locale/fr/LC_MESSAGES/gnome-mplayer.mo
/usr/share/locale/it/LC_MESSAGES/gnome-mplayer.mo
/usr/share/locale/ja/LC_MESSAGES/gnome-mplayer.mo
/usr/share/locale/ko/LC_MESSAGES/gnome-mplayer.mo
/usr/share/locale/pl/LC_MESSAGES/gnome-mplayer.mo
/usr/share/locale/pt_BR/LC_MESSAGES/gnome-mplayer.mo
/usr/share/locale/ro/LC_MESSAGES/gnome-mplayer.mo
/usr/share/locale/ru/LC_MESSAGES/gnome-mplayer.mo
/usr/share/locale/sr/LC_MESSAGES/gnome-mplayer.mo
/usr/share/locale/sr@latin/LC_MESSAGES/gnome-mplayer.mo
/usr/share/locale/tr/LC_MESSAGES/gnome-mplayer.mo
/usr/share/locale/zh_CN/LC_MESSAGES/gnome-mplayer.mo
/usr/share/locale/zh_HK/LC_MESSAGES/gnome-mplayer.mo
/usr/share/locale/zh_TW/LC_MESSAGES/gnome-mplayer.mo
/usr/share/applications/gnome-mplayer.desktop
/usr/share/doc/gnome-mplayer/README
/usr/share/doc/gnome-mplayer/COPYING
/usr/share/doc/gnome-mplayer/AUTHORS
/usr/share/doc/gnome-mplayer/ChangeLog
/usr/share/doc/gnome-mplayer/INSTALL
/usr/share/doc/gnome-mplayer/NEWS
/usr/share/doc/gnome-mplayer/keyboard_shortcuts.txt
/usr/share/doc/gnome-mplayer/dbus.txt
/usr/share/doc/gnome-mplayer/plugin-interaction.txt
/usr/share/pixmaps/gnome-mplayer.png
/etc/gconf/schemas/gnome-mplayer.schemas

Monday, January 4, 2010

Build GTK-gnutella on Debian 3.1 Sarge

I keep writing about Debian 3.1 Sarge which is an outdated release. Yet, Debian Sarge has some historical values. I use Sarge as the minimum base for my Internet computer. Today, I compiled GTK-gnutella on Debian Sarge. For preparation, I installed the following packages:



  • gcc
  • make
  • zlib1g-dev
  • libxml2-dev
  • libgtk2.0-dev


GTK-gnutella depends on GNUtls library for secure communication. I downloaded and compiled libgpg-error, libgcrypt, libtasn and gnutls in the order. They all have the same procedure.



./configure --build=i586-pc-linux-gnu --prefix=/usr --disable-shared
make
make install


Then, I unpacked gtk-gnutella source and configured it.


./Configure


Since I built gnutls statically, I had to modify src/Makefile slightly.


GNUTLS_LDFLAGS = -lgnutls -ltasn1 -lgcrypt -lgpg-error


I started compilation.



make
make install


The resulting executable depends on gtk+ 2.0 and libxml2 externally and works on Sarge, Etch, Lenny and Sid all.

Sunday, January 3, 2010

Compile Aria2c on Debian Linux

Aria2 is a fast download utility that you use in the Command Prompt or xterm. To compile aria2 for Linux, install the following packages.



  • ca-certificates
  • g++
  • make
  • libexpat1-dev
  • libsqlite3-dev
  • libssl-dev
  • zlib1g-dev


Although Debian 5.0 Lenny has libc-ares2, Debian 4.0 Etch and Debian 3.1 Sarge don't have it. As a user of Debian Sarge, I had to compile c-ares myself to enable asynchronous DNS resolution in Aria2c. I downloaded c-ares source from c-ares.haxx.se and compiled it statically.



tar xzvf c-ares-1.7.0.tar.gz

cd c-ares-1.7.0/

./configure --prefix=/usr --build=i586-pc-linux-gnu --disable-debug --disable-shared CFLAGS='-DCARES_STATICLIB'

make

make install


Then, I downloaded Aria2 source from aria2.sf.net and compiled it like this:



tar xzvf aria2-1.8.0.tar.gz

cd aria2-1.8.0

./configure --build=i586-pc-linux-gnu --prefix=/usr --enable-bittorrent --enable-metalink --enable-threads=posix --with-ca-bundle="/etc/ssl/certs/ca-certificates.crt" LIBS='-lrt -lcares' CPPFLAGS='-DCARES_STATICLIB'


You can optionally link aria2 with static libraries libssl and libcrypto. This is useful when you move aria2c to another system with a different version of OpenSSL library. To do so, open every Makefile in the aria2 source directory and change every line containing “-L/usr/local/lib -lssl -lcrypto” to “/usr/lib/libssl.a /usr/lib/libcrypto.a”. Then, run the following commands to build aria2.



make
make install


An executable /usr/bin/aria2c will be installed. To use it, open a xterm or rxvt and type its command. To see brief command-line options, type aria2c -h.

Saturday, January 2, 2010

To Compile aMule 2.2.6 on Debian 3.1 Sarge

aMule is a peer-to-peer file-sharing application. Although ed2k networks that aMule connects to have been shrinking in popularity, I prefer aMule over Bittorrent clients for its ability to create serverless P2P network (Kademlia). The aMule backported package for Debian 3.1 Sarge is outdated, so I compiled the latest version 2.2.6 of aMule on Debian Sarge. I installed the following packages first.



  • binutils-dev
  • bison
  • flex
  • g77
  • g++
  • gettext
  • make
  • libcrypto++-dev
  • libgd2-noxpm-dev (or libgd2-xpm-dev)
  • libgeoip-dev
  • libgtk2.0-dev
  • libjpeg62-dev
  • libpng12-dev
  • libreadline5-dev
  • libsm-dev
  • libtiff4-dev
  • libxpm-dev


aMule depends on wxGTK library, but wxGTK library in Debian Sarge is also outdated. So I downloaded the latest wxGTK source (wxGTK-2.8.10.tar.gz) from wxwidgets.org. I compiled wxGTK in the following way. The --disable-shared option causes a static library to be built. This allows me to install aMule on another system without having to install a separate wxGTK library.



tar xzvf wxGTK-2.8.10.tar.gz

cd wxGTK-2.8.10/

mkdir buildgtk

cd buildgtk

../configure --prefix=/usr --sysconfdir=/etc --build=i586-pc-linux-gnu --enable-monolithic --enable-optimise --enable-intl --enable-unicode --enable-threads --enable-mousewheel --with-gtk=2 --with-libpng --with-libjpeg --with-libtiff --with-libxpm --with-regex --with-zlib --with-expat --disable-shared --disable-abi-incompatible-features --disable-no_rtti --disable-no_exceptions --disable-joystick --disable-compat24

make

make install


aMule can use libupnp if available. I downloaded libupnp-1.6.6.tar.bz2 from pupnp.sf.net and compiled it statically like this:


tar xjvf libupnp-1.6.6.tar.bz2

cd libupnp-1.6.6/

./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --build=i586-pc-linux-gnu --disable-shared

make

make install


Then, I built aMule in the following way.


tar xjvf aMule-2.2.6.tar.bz2

cd aMule-2.2.6/

./configure --prefix=/usr --mandir=/usr/share/man --build=i586-pc-linux-gnu --enable-amule-daemon --enable-amulecmd --enable-webserver --enable-cas --enable-wxcas --enable-alc --enable-alcc --enable-geoip --disable-debug --enable-optimize

make

make install


The following files are installed on the system:


/usr/bin/alc
/usr/bin/alcc
/usr/bin/amule
/usr/bin/amulecmd
/usr/bin/amuled
/usr/bin/amuleweb
/usr/bin/autostart-xas
/usr/bin/cas
/usr/bin/ed2k
/usr/bin/wxcas
/usr/lib/xchat/plugins/xas.pl
/usr/share/amule/skins/gnome.zip
/usr/share/amule/skins/kde4.zip
/usr/share/amule/skins/tango.zip
/usr/share/amule/skins/xfce.zip
/usr/share/amule/webserver/chicane/aMule.tmpl
/usr/share/amule/webserver/chicane/add_server.gif
/usr/share/amule/webserver/chicane/arrow_down.gif
/usr/share/amule/webserver/chicane/arrow_down_logout.gif
/usr/share/amule/webserver/chicane/arrow_right.gif
/usr/share/amule/webserver/chicane/arrow_up.gif
/usr/share/amule/webserver/chicane/back.gif
/usr/share/amule/webserver/chicane/black.gif
/usr/share/amule/webserver/chicane/blank1x1.gif
/usr/share/amule/webserver/chicane/blue1.gif
/usr/share/amule/webserver/chicane/blue2.gif
/usr/share/amule/webserver/chicane/blue3.gif
/usr/share/amule/webserver/chicane/blue4.gif
/usr/share/amule/webserver/chicane/blue5.gif
/usr/share/amule/webserver/chicane/blue6.gif
/usr/share/amule/webserver/chicane/cp_download.gif
/usr/share/amule/webserver/chicane/cp_kad.gif
/usr/share/amule/webserver/chicane/cp_search.gif
/usr/share/amule/webserver/chicane/cp_servers.gif
/usr/share/amule/webserver/chicane/cp_settings.gif
/usr/share/amule/webserver/chicane/cp_shared.gif
/usr/share/amule/webserver/chicane/cp_stats.gif
/usr/share/amule/webserver/chicane/downloads.php
/usr/share/amule/webserver/chicane/emule.gif
/usr/share/amule/webserver/chicane/favicon.ico
/usr/share/amule/webserver/chicane/green.gif
/usr/share/amule/webserver/chicane/greenpercent.gif
/usr/share/amule/webserver/chicane/index.php
/usr/share/amule/webserver/chicane/l_cancel.gif
/usr/share/amule/webserver/chicane/l_connect.gif
/usr/share/amule/webserver/chicane/l_down.gif
/usr/share/amule/webserver/chicane/l_ed2klink.gif
/usr/share/amule/webserver/chicane/l_info.gif
/usr/share/amule/webserver/chicane/l_pause.gif
/usr/share/amule/webserver/chicane/l_resume.gif
/usr/share/amule/webserver/chicane/l_up.gif
/usr/share/amule/webserver/chicane/log.gif
/usr/share/amule/webserver/chicane/login.php
/usr/share/amule/webserver/chicane/login_bottom.gif
/usr/share/amule/webserver/chicane/login_downmain.gif
/usr/share/amule/webserver/chicane/login_lefttop.gif
/usr/share/amule/webserver/chicane/login_righttop.gif
/usr/share/amule/webserver/chicane/login_top.gif
/usr/share/amule/webserver/chicane/login_topdown.gif
/usr/share/amule/webserver/chicane/login_topseperator.gif
/usr/share/amule/webserver/chicane/logo.jpg
/usr/share/amule/webserver/chicane/main_bg.gif
/usr/share/amule/webserver/chicane/main_top_bg.gif
/usr/share/amule/webserver/chicane/main_topbar.gif
/usr/share/amule/webserver/chicane/main_topbardarker.gif
/usr/share/amule/webserver/chicane/main_topbarseperator.gif
/usr/share/amule/webserver/chicane/phpamule.png
/usr/share/amule/webserver/chicane/preferences.php
/usr/share/amule/webserver/chicane/red.gif
/usr/share/amule/webserver/chicane/search.php
/usr/share/amule/webserver/chicane/servers.php
/usr/share/amule/webserver/chicane/shared.php
/usr/share/amule/webserver/chicane/stat_graphs.php
/usr/share/amule/webserver/chicane/stat_tree.php
/usr/share/amule/webserver/chicane/transparent.gif
/usr/share/amule/webserver/chicane/tree-closed.gif
/usr/share/amule/webserver/chicane/tree-leaf.gif
/usr/share/amule/webserver/chicane/tree-open.gif
/usr/share/amule/webserver/chicane/yellow.gif
/usr/share/amule/webserver/default/aMule.tmpl
/usr/share/amule/webserver/default/add_server.gif
/usr/share/amule/webserver/default/arrow_down.gif
/usr/share/amule/webserver/default/arrow_right.gif
/usr/share/amule/webserver/default/arrow_up.gif
/usr/share/amule/webserver/default/back.gif
/usr/share/amule/webserver/default/black.gif
/usr/share/amule/webserver/default/blue1.gif
/usr/share/amule/webserver/default/blue2.gif
/usr/share/amule/webserver/default/blue3.gif
/usr/share/amule/webserver/default/blue4.gif
/usr/share/amule/webserver/default/blue5.gif
/usr/share/amule/webserver/default/blue6.gif
/usr/share/amule/webserver/default/cp_download.gif
/usr/share/amule/webserver/default/cp_kad.gif
/usr/share/amule/webserver/default/cp_search.gif
/usr/share/amule/webserver/default/cp_servers.gif
/usr/share/amule/webserver/default/cp_settings.gif
/usr/share/amule/webserver/default/cp_shared.gif
/usr/share/amule/webserver/default/cp_stats.gif
/usr/share/amule/webserver/default/downloads.php
/usr/share/amule/webserver/default/emule.gif
/usr/share/amule/webserver/default/favicon.ico
/usr/share/amule/webserver/default/green.gif
/usr/share/amule/webserver/default/greenpercent.gif
/usr/share/amule/webserver/default/index.php
/usr/share/amule/webserver/default/l_cancel.gif
/usr/share/amule/webserver/default/l_connect.gif
/usr/share/amule/webserver/default/l_down.gif
/usr/share/amule/webserver/default/l_ed2klink.gif
/usr/share/amule/webserver/default/l_info.gif
/usr/share/amule/webserver/default/l_pause.gif
/usr/share/amule/webserver/default/l_resume.gif
/usr/share/amule/webserver/default/l_up.gif
/usr/share/amule/webserver/default/log.gif
/usr/share/amule/webserver/default/login.php
/usr/share/amule/webserver/default/logo.jpg
/usr/share/amule/webserver/default/phpamule.png
/usr/share/amule/webserver/default/preferences.php
/usr/share/amule/webserver/default/red.gif
/usr/share/amule/webserver/default/search.php
/usr/share/amule/webserver/default/servers.php
/usr/share/amule/webserver/default/shared.php
/usr/share/amule/webserver/default/stat_graphs.php
/usr/share/amule/webserver/default/stat_tree.php
/usr/share/amule/webserver/default/transparent.gif
/usr/share/amule/webserver/default/tree-closed.gif
/usr/share/amule/webserver/default/tree-leaf.gif
/usr/share/amule/webserver/default/tree-open.gif
/usr/share/amule/webserver/default/yellow.gif
/usr/share/amule/webserver/litoral/amuleweb-main-dload.php
/usr/share/amule/webserver/litoral/amuleweb-main-kad.php
/usr/share/amule/webserver/litoral/amuleweb-main-log.php
/usr/share/amule/webserver/litoral/amuleweb-main-prefs.php
/usr/share/amule/webserver/litoral/amuleweb-main-search.php
/usr/share/amule/webserver/litoral/amuleweb-main-servers.php
/usr/share/amule/webserver/litoral/amuleweb-main-shared.php
/usr/share/amule/webserver/litoral/amuleweb-main-stats.php
/usr/share/amule/webserver/litoral/black.gif
/usr/share/amule/webserver/litoral/blank1x1.gif
/usr/share/amule/webserver/litoral/blue1.gif
/usr/share/amule/webserver/litoral/blue2.gif
/usr/share/amule/webserver/litoral/blue3.gif
/usr/share/amule/webserver/litoral/blue4.gif
/usr/share/amule/webserver/litoral/blue5.gif
/usr/share/amule/webserver/litoral/blue6.gif
/usr/share/amule/webserver/litoral/cancel.gif
/usr/share/amule/webserver/litoral/close.png
/usr/share/amule/webserver/litoral/col.png
/usr/share/amule/webserver/litoral/connect.gif
/usr/share/amule/webserver/litoral/down.png
/usr/share/amule/webserver/litoral/edkserv_0.png
/usr/share/amule/webserver/litoral/edkserv_1.png
/usr/share/amule/webserver/litoral/favicon.ico
/usr/share/amule/webserver/litoral/filter.png
/usr/share/amule/webserver/litoral/fond.gif
/usr/share/amule/webserver/litoral/fond_haut.png
/usr/share/amule/webserver/litoral/footer.php
/usr/share/amule/webserver/litoral/index.html
/usr/share/amule/webserver/litoral/kitty.gif
/usr/share/amule/webserver/litoral/log.php
/usr/share/amule/webserver/litoral/login.php
/usr/share/amule/webserver/litoral/loginfond.gif
/usr/share/amule/webserver/litoral/loginfond_haut.png
/usr/share/amule/webserver/litoral/loginlogo.jpg
/usr/share/amule/webserver/litoral/loginlogo.png
/usr/share/amule/webserver/litoral/logo.png
/usr/share/amule/webserver/litoral/maquette.dwt
/usr/share/amule/webserver/litoral/ok.png
/usr/share/amule/webserver/litoral/pause.png
/usr/share/amule/webserver/litoral/play.png
/usr/share/amule/webserver/litoral/red.gif
/usr/share/amule/webserver/litoral/refresh.png
/usr/share/amule/webserver/litoral/search_0.png
/usr/share/amule/webserver/litoral/search_1.png
/usr/share/amule/webserver/litoral/shared_0.png
/usr/share/amule/webserver/litoral/shared_1.png
/usr/share/amule/webserver/litoral/sheserv_0.png
/usr/share/amule/webserver/litoral/sheserv_1.png
/usr/share/amule/webserver/litoral/stats.php
/usr/share/amule/webserver/litoral/stats_0.png
/usr/share/amule/webserver/litoral/stats_1.png
/usr/share/amule/webserver/litoral/stats_tree.php
/usr/share/amule/webserver/litoral/style.css
/usr/share/amule/webserver/litoral/tab_bottom.png
/usr/share/amule/webserver/litoral/tab_bottom_left.png
/usr/share/amule/webserver/litoral/tab_bottom_right.png
/usr/share/amule/webserver/litoral/tab_left.png
/usr/share/amule/webserver/litoral/tab_right.png
/usr/share/amule/webserver/litoral/tab_top.png
/usr/share/amule/webserver/litoral/tab_top_left.png
/usr/share/amule/webserver/litoral/tab_top_right.png
/usr/share/amule/webserver/litoral/transf_0.png
/usr/share/amule/webserver/litoral/transf_1.png
/usr/share/amule/webserver/litoral/tree-closed.gif
/usr/share/amule/webserver/litoral/tree-leaf.gif
/usr/share/amule/webserver/litoral/tree-open.gif
/usr/share/amule/webserver/litoral/up.png
/usr/share/amule/webserver/litoral/yellow.gif
/usr/share/amule/webserver/php-default/amuleweb-main-dload.php
/usr/share/amule/webserver/php-default/amuleweb-main-kad.php
/usr/share/amule/webserver/php-default/amuleweb-main-prefs.php
/usr/share/amule/webserver/php-default/amuleweb-main-search.php
/usr/share/amule/webserver/php-default/amuleweb-main-servers.php
/usr/share/amule/webserver/php-default/amuleweb-main-shared.php
/usr/share/amule/webserver/php-default/amuleweb-main-stats.php
/usr/share/amule/webserver/php-default/apply.jpeg
/usr/share/amule/webserver/php-default/arrow-r.png
/usr/share/amule/webserver/php-default/cancel.gif
/usr/share/amule/webserver/php-default/connect.gif
/usr/share/amule/webserver/php-default/delete.jpeg
/usr/share/amule/webserver/php-default/down.jpeg
/usr/share/amule/webserver/php-default/favicon.ico
/usr/share/amule/webserver/php-default/footer.php
/usr/share/amule/webserver/php-default/index.html
/usr/share/amule/webserver/php-default/login.php
/usr/share/amule/webserver/php-default/pause.jpeg
/usr/share/amule/webserver/php-default/phpamule.png
/usr/share/amule/webserver/php-default/resume.jpeg
/usr/share/amule/webserver/php-default/stats.php
/usr/share/amule/webserver/php-default/stats_tree.php
/usr/share/amule/webserver/php-default/toolbutton-connect.jpeg
/usr/share/amule/webserver/php-default/toolbutton-download-pressed.jpeg
/usr/share/amule/webserver/php-default/toolbutton-download.jpeg
/usr/share/amule/webserver/php-default/toolbutton-filter.jpeg
/usr/share/amule/webserver/php-default/toolbutton-kad-pressed.jpeg
/usr/share/amule/webserver/php-default/toolbutton-kad.jpeg
/usr/share/amule/webserver/php-default/toolbutton-logout-pressed.jpeg
/usr/share/amule/webserver/php-default/toolbutton-logout.jpeg
/usr/share/amule/webserver/php-default/toolbutton-reload.jpeg
/usr/share/amule/webserver/php-default/toolbutton-search-pressed.jpeg
/usr/share/amule/webserver/php-default/toolbutton-search.jpeg
/usr/share/amule/webserver/php-default/toolbutton-servers-pressed.jpeg
/usr/share/amule/webserver/php-default/toolbutton-servers.jpeg
/usr/share/amule/webserver/php-default/toolbutton-settings-pressed.jpeg
/usr/share/amule/webserver/php-default/toolbutton-settings.jpeg
/usr/share/amule/webserver/php-default/toolbutton-shared-pressed.jpeg
/usr/share/amule/webserver/php-default/toolbutton-shared.jpeg
/usr/share/amule/webserver/php-default/toolbutton-stats-pressed.jpeg
/usr/share/amule/webserver/php-default/toolbutton-stats.jpeg
/usr/share/amule/webserver/php-default/top.html
/usr/share/amule/webserver/php-default/tree-closed.gif
/usr/share/amule/webserver/php-default/tree-leaf.gif
/usr/share/amule/webserver/php-default/tree-open.gif
/usr/share/amule/webserver/php-default/up.jpeg
/usr/share/applications/alc.desktop
/usr/share/applications/amule.desktop
/usr/share/applications/wxcas.desktop
/usr/share/cas/stat.png
/usr/share/cas/tmp.html
/usr/share/doc/aMule-2.2.6/ABOUT-NLS
/usr/share/doc/aMule-2.2.6/Changelog
/usr/share/doc/aMule-2.2.6/EC_Protocol.txt
/usr/share/doc/aMule-2.2.6/ED2K-Links.HOWTO
/usr/share/doc/aMule-2.2.6/INSTALL
/usr/share/doc/aMule-2.2.6/README
/usr/share/doc/aMule-2.2.6/TODO
/usr/share/doc/aMule-2.2.6/amule-win32.HOWTO.txt
/usr/share/doc/aMule-2.2.6/amulesig.txt
/usr/share/doc/aMule-2.2.6/license.txt
/usr/share/doc/aMule-2.2.6/socks4.protocol
/usr/share/locale/ar/LC_MESSAGES/amule.mo
/usr/share/locale/ast/LC_MESSAGES/amule.mo
/usr/share/locale/bg/LC_MESSAGES/amule.mo
/usr/share/locale/ca/LC_MESSAGES/amule.mo
/usr/share/locale/cs/LC_MESSAGES/amule.mo
/usr/share/locale/da/LC_MESSAGES/amule.mo
/usr/share/locale/de/LC_MESSAGES/amule.mo
/usr/share/locale/el/LC_MESSAGES/amule.mo
/usr/share/locale/en_GB/LC_MESSAGES/amule.mo
/usr/share/locale/es/LC_MESSAGES/amule.mo
/usr/share/locale/et_EE/LC_MESSAGES/amule.mo
/usr/share/locale/eu/LC_MESSAGES/amule.mo
/usr/share/locale/fi/LC_MESSAGES/amule.mo
/usr/share/locale/fr/LC_MESSAGES/amule.mo
/usr/share/locale/gl/LC_MESSAGES/amule.mo
/usr/share/locale/he/LC_MESSAGES/amule.mo
/usr/share/locale/hr/LC_MESSAGES/amule.mo
/usr/share/locale/hu/LC_MESSAGES/amule.mo
/usr/share/locale/it/LC_MESSAGES/amule.mo
/usr/share/locale/it_CH/LC_MESSAGES/amule.mo
/usr/share/locale/ja/LC_MESSAGES/amule.mo
/usr/share/locale/ko_KR/LC_MESSAGES/amule.mo
/usr/share/locale/lt/LC_MESSAGES/amule.mo
/usr/share/locale/nl/LC_MESSAGES/amule.mo
/usr/share/locale/nn/LC_MESSAGES/amule.mo
/usr/share/locale/pl/LC_MESSAGES/amule.mo
/usr/share/locale/pt_BR/LC_MESSAGES/amule.mo
/usr/share/locale/pt_PT/LC_MESSAGES/amule.mo
/usr/share/locale/ru/LC_MESSAGES/amule.mo
/usr/share/locale/sl/LC_MESSAGES/amule.mo
/usr/share/locale/sq/LC_MESSAGES/amule.mo
/usr/share/locale/sv/LC_MESSAGES/amule.mo
/usr/share/locale/tr/LC_MESSAGES/amule.mo
/usr/share/locale/uk/LC_MESSAGES/amule.mo
/usr/share/locale/zh_CN/LC_MESSAGES/amule.mo
/usr/share/locale/zh_TW/LC_MESSAGES/amule.mo
/usr/share/man/de/man1/alc.1
/usr/share/man/de/man1/alcc.1
/usr/share/man/de/man1/amule.1
/usr/share/man/de/man1/amulecmd.1
/usr/share/man/de/man1/amuled.1
/usr/share/man/de/man1/amuleweb.1
/usr/share/man/de/man1/cas.1
/usr/share/man/de/man1/ed2k.1
/usr/share/man/de/man1/wxcas.1
/usr/share/man/de/man1/xas.1
/usr/share/man/es/man1/alc.1
/usr/share/man/es/man1/alcc.1
/usr/share/man/es/man1/amule.1
/usr/share/man/es/man1/amulecmd.1
/usr/share/man/es/man1/amuled.1
/usr/share/man/es/man1/amuleweb.1
/usr/share/man/es/man1/cas.1
/usr/share/man/es/man1/ed2k.1
/usr/share/man/es/man1/wxcas.1
/usr/share/man/es/man1/xas.1
/usr/share/man/eu/man1/alc.1
/usr/share/man/eu/man1/alcc.1
/usr/share/man/eu/man1/amule.1
/usr/share/man/eu/man1/amulecmd.1
/usr/share/man/eu/man1/amuled.1
/usr/share/man/eu/man1/amuleweb.1
/usr/share/man/eu/man1/cas.1
/usr/share/man/eu/man1/ed2k.1
/usr/share/man/eu/man1/wxcas.1
/usr/share/man/eu/man1/xas.1
/usr/share/man/fr/man1/alcc.1
/usr/share/man/fr/man1/amule.1
/usr/share/man/fr/man1/amulecmd.1
/usr/share/man/fr/man1/amuled.1
/usr/share/man/fr/man1/amuleweb.1
/usr/share/man/fr/man1/ed2k.1
/usr/share/man/hu/man1/alc.1
/usr/share/man/hu/man1/alcc.1
/usr/share/man/hu/man1/amule.1
/usr/share/man/hu/man1/amulecmd.1
/usr/share/man/hu/man1/amuled.1
/usr/share/man/hu/man1/amuleweb.1
/usr/share/man/hu/man1/cas.1
/usr/share/man/hu/man1/ed2k.1
/usr/share/man/hu/man1/wxcas.1
/usr/share/man/hu/man1/xas.1
/usr/share/man/it/man1/amule.1
/usr/share/man/it/man1/amulecmd.1
/usr/share/man/it/man1/amuled.1
/usr/share/man/it/man1/amuleweb.1
/usr/share/man/it/man1/ed2k.1
/usr/share/man/man1/alc.1
/usr/share/man/man1/alcc.1
/usr/share/man/man1/amule.1
/usr/share/man/man1/amulecmd.1
/usr/share/man/man1/amuled.1
/usr/share/man/man1/amuleweb.1
/usr/share/man/man1/cas.1
/usr/share/man/man1/ed2k.1
/usr/share/man/man1/wxcas.1
/usr/share/man/man1/xas.1
/usr/share/pixmaps/alc.xpm
/usr/share/pixmaps/amule.xpm
/usr/share/pixmaps/wxcas.xpm

Wednesday, December 30, 2009

To Build Hanterm-xf 2.0.6 on Debian Linux

Hanterm-xf is a fast and functional X-terminal emulator. Although development of Hanterm-xf ceased long ago, I find hanterm-xf very useful because it has built-in Korean input system and displays Latin, Korean and Unicode well. Trying to find the hanterm-xf source was not so easy, but I found it here with Yahoo! search. I downloaded hanterm-xf-2.0.6-177.tar.gz Compiling Hanterm-xf requires the following development packages to be installed:



  • gcc
  • g77
  • make
  • libncursesw5-dev
  • libxft-dev
  • libxaw7-dev


Before compiling hanterm-xf, I had to make some symbolic links in /usr/include.


ln -s ncursesw /usr/include/ncurses
ln -s freetype2/freetype /usr/include


I unpacked the hanterm-xf source and entered the source directory:


tar xzvf hanterm-xf-2.0.6-177.tar.gz
cd hanterm-xf-2.0.6-177


I ran ./configure for hanterm-xf as follows:


./configure --prefix=/usr --host=i586-pc-linux-gnu --enable-doublechars --enable-freetype --enable-i18n --disable-input-method --disable-maximize --enable-pty-handshake --disable-tek4014 --enable-toolbar --disable-vt52 --enable-wide-chars --enable-chat --enable-now-chat


I had to modify the LIBS line of Makefile in order to successfully link hanterm with libncursesw5 later. Basically, I appended -lncursesw at the end of the LIBS line.



LIBS = -lXft -lfreetype -lXrender -lXrender -lXaw -lXmu -lXext -lXt -lSM -lICE -lX11 -lnsl -lncursesw


Then, I compiled hanterm-xf as follows:


make
make install


Packaging Hanterm-xf 2.0.6


I made a package of hanterm-xf with the following contents:


/usr/bin/hanterm
/usr/share/hangul_keyboard/2bul.kbd
/usr/share/hangul_keyboard/3bul_390.kbd
/usr/share/hangul_keyboard/3bul_final.kbd
/usr/share/hangul_keyboard/dvorak.map
/usr/share/hangul_keyboard/dvorak_2bul.kbd
/usr/share/hangul_keyboard/dvorak_3bul_390.kbd
/usr/share/hangul_keyboard/dvorak_3bul_final.kbd
/usr/share/man/man1/hanterm.1.gz
/etc/X11/app-defaults/Hanterm
/etc/X11/app-defaults/Hanterm-color

You can download my hanterm-xf packages here.




My .Xresources Setting for Hanterm-xf


To run hanterm-xf, you need a monospace Latin font and a Korean font. Before running hanterm-xf, put hanterm settings in your .Xresources file. The following is my hanterm settings in .Xresrources.


Hanterm*title: Hanterm
Hanterm*iconName: Hanterm
Hanterm*statusHangulLabel: [KO]
Hanterm*statusEnglishLabel: [EN]
Hanterm*statusWansungLabel: [WANS]
Hanterm*statusJohabLabel: [JHAB]
Hanterm*statusSebyolLabel: [3B]
Hanterm*statusDubyolLabel: [2B]
Hanterm*hangulKeyboard: 2
Hanterm*saveLines: 1024
Hanterm*VT100*color0: black
Hanterm*VT100*color1: red
Hanterm*VT100*color2: green3
Hanterm*VT100*color3: orange
Hanterm*VT100*color4: blue
Hanterm*VT100*color5: purple1
Hanterm*VT100*color6: DarkTurquoise
Hanterm*VT100*color7: grey90
Hanterm*VT100*color8: grey60
Hanterm*VT100*color9: salmon
Hanterm*VT100*color10: PaleGreen1
Hanterm*VT100*color11: khaki1
Hanterm*VT100*color12: DeepSkyBlue
Hanterm*VT100*color13: orchid1
Hanterm*VT100*color14: cyan
Hanterm*VT100*color15: white
Hanterm*background: black
Hanterm*foreground: gray90
Hanterm*rightScrollBar: on
Hanterm*Scrollbar*width: 16
Hanterm*Scrollbar*background: grey75
Hanterm*Scrollbar*foreground: grey30
Hanterm*SimpleMenu*background: DeepSkyBlue
Hanterm*SimpleMenu*foreground: black
Hanterm*VT100.cursorBlink: true
Hanterm*VT100.cursorColor: orange
Hanterm*VT100.hanCursorColor: DarkTurquoise
Hanterm*VT100.cutNewline: false
Hanterm*VT100.cutToBeginningOfLine: false
Hanterm*VT100.Translations: #override \n\
~Shift ~Ctrl ~Meta BackSpace: string(0x7F)\n\
~Shift ~Ctrl ~Meta Delete: string(0x1b) string("[3~")\n\
~Shift ~Ctrl ~Meta Home: string(0x1b) string("[1~")\n\
~Shift ~Ctrl ~Meta End: string(0x1b) string("[4~")\n\
Shift ~Ctrl ~Meta space: toggle-hangul()\n\
~Shift Ctrl ~Meta space: hanja-input()\n\
~Shift Ctrl ~Meta BackSpace: code-input()\n\
~Shift Ctrl ~Meta Return: toggle-chat()\n\
~Shift ~Ctrl Meta Up: change-code()\n\
~Shift ~Ctrl Meta Left: change-keyboard()\n\
~Shift ~Ctrl ~Meta : scroll-back(5,line)\n\
~Shift ~Ctrl ~Meta : scroll-forw(5,line)\n\
Shift ~Ctrl ~Meta : scroll-back(1,line)\n\
Shift ~Ctrl ~Meta : scroll-forw(1,line)\n\
~Shift Ctrl ~Meta : scroll-back(1,halfpage)\n\
~Shift Ctrl ~Meta : scroll-forw(1,halfpage)\n\
~Shift ~Ctrl Meta : scroll-back(1,page)\n\
~Shift ~Ctrl Meta : scroll-forw(1,page)
Hanterm*Font: -*-dejavu sans mono-medium-r-normal-*-*-110-*-*-*-*-iso8859-1
Hanterm*hangulFont: -*-hysinmyeongjo-medium-r-normal--*-130-*-*-*-*-ksc5601.1987-0
Hanterm*SimpleMenu*fontSet: -urw-Nimbus Sans L-regular-r-normal-*-*-110-*-*-p-*-iso8859-1,-hanyang-hygothic-medium-r-normal-*-*-110-*-*-*-*-ksc5601.1987-0
Hanterm*VT100*colorULMode: off
Hanterm*VT100*colorBDMode: off
Hanterm*VT100*colorBD: blue
Hanterm*VT100*colorUL: red
Hanterm*charClass: 37-38:48,42-43:48,45-47:48,63-64:48
Hanterm*pointerColor: DeepSkyBlue
Hanterm*pointerColorBackground: grey40
Hanterm*pointerShape: right_ptr
Hanterm*beNiceToColormap: false

Linux: To Build IceWM 1.2.37

IceWM is my favorite window manager. Though most distros provide icewm packages, I like to build IceWM on my own. The following packages are needed to build IceWM.




  • g++
  • make
  • libjpeg62-dev
  • libpng12-dev
  • libtiff4-dev
  • libungif4-dev
  • libxft-dev
  • libice-dev


IceWM 1.2.37 depends on Imlib11 which is an obsolete library. I couldn't find imlib11 in Debian Sid any longer. In order to build IceWM that will work on many systems ranging from Debian Sarge to Debian Sid, I wanted to compile Imlib11 statically and integrate imlib11 into the IceWM binaries. So I downloaded Imlib11 source (imlib-1.9.15.tar.gz) from ftp.gnome.org and compiled static imlib11.



tar xzvf imlib-1.9.15.tar.gz

cd imlib-1.9.15

./configure --build=i586-pc-linux-gnu --sysconfdir=/etc --enable-static --disable-shared --disable-modules

make

make install


Then, I downloaded the source of IceWM 1.2.37 (icewm-1.2.37.tar.gz) from icewm.sf.net. I unpacked the tarball into my home directory and compile IceWM.



tar xzvf icewm-1.2.37.tar.gz

cd icewm-1.2.37

./configure --build=i586-pc-linux-gnu --enable-gradients --disable-sm --disable-shaped-decorations --disable-xrandr --disable-xinerama --disable-x86-asm

make

cp src/icewm src/icewmtray /usr/local/bin

strip /usr/local/bin/ice*


I am setting up IceWM in a minimal package. The following set of files are to be copied to a new system.



/etc/im_palette-small.pal
/etc/im_palette-tiny.pal
/etc/im_palette.pal
/etc/imrc
/usr/local/bin/icewm
/usr/local/bin/icewmtray


To customize IceWM, settings and themes should be saved in /etc/icewm and /usr/local/share/icewm.

Monday, December 28, 2009

Linux: To Compile wpa_supplicant on Debian 3.1 Sarge

I was using good old Debian Linux 3.1 Sarge when I found out Sarge's wpasupplicant couldn't work well with ndiswrapper-supported Windows network drivers. So I set out to compile wpa_supplicant on my own. First, I installed the following development packages.



  • gcc-3.4
  • libssl0.9.7
  • make


Then, I downloaded the wpa_supplicant source (wpa_supplicant-0.6.9.tar.gz) from http://hostap.epitest.fi/wpa_supplicant. I unpacked the source and read the README files.



tar xzvf wpa_supplicant-0.6.9.tar.gz
cd wpa_supplicant-0.6.9/wpa_supplicant


I went into the wpa_supplicant subfolder and created .config to customize my build. The following is the contents of my .config:



CONFIG_WIRELESS_EXTENSION=y
CONFIG_DRIVER_HOSTAP=y
CONFIG_DRIVER_ATMEL=y
CONFIG_DRIVER_WEXT=y
CONFIG_DRIVER_RALINK=y
CONFIG_DRIVER_NDISWRAPPER=y
CONFIG_DRIVER_IPW=y
CONFIG_IEEE8021X_EAPOL=y
CONFIG_EAP_MD5=y
CONFIG_EAP_MSCHAPV2=y
CONFIG_EAP_TLS=y
CONFIG_EAP_PEAP=y
CONFIG_EAP_TTLS=y
CONFIG_EAP_GTC=y
CONFIG_EAP_OTP=y
CONFIG_EAP_SIM=y
CONFIG_EAP_AKA=y
CONFIG_EAP_PSK=y
CONFIG_EAP_SAKE=y
CONFIG_EAP_GPSK=y
CONFIG_EAP_PAX=y
CONFIG_EAP_LEAP=y
CONFIG_EAP_IKEV2=y
CONFIG_EAP=y
CONFIG_WPS=y


Then, I began compilation by running make.


make


The compilation was successful. I installed wpa_supplicant with the following command.



make install


The following files are copied to the system.



/usr/local/sbin/wpa_supplicant
/usr/local/sbin/wpa_passphrase
/usr/local/sbin/wpa_cli

Friday, December 18, 2009

Linux: To build WDM

WDM is a display login manager for Linux. I am building WDM as replacement for xdm and slim. Before compilation, I installed the following packages in addition to the compiler toolchain:


  • libwraster3-dev
  • libwings-dev
  • libpam0g-dev
  • libxinerama-dev
  • gettext

I configured wdm like this:


./configure --x-includes=/usr/local/include --x-libraries=/usr/local/lib --sysconfdir=/etc/X11 --localstatedir=/var --with-nlsdir=/usr/share/locale --with-wdmdir=/etc/X11/wdm --with-gfxdir=/usr/share/pixmaps/wdm --enable-aafont --with-wmlist=icewm:openbox:pekwm:gnome-session

Then I built WDM:


make
make install

The following files are installed.


/etc/X11/wdm/Xclients
/etc/X11/wdm/Xservers
/etc/X11/wdm/Xservers.ws
/etc/X11/wdm/Xsession
/etc/X11/wdm/Xsetup_0
/etc/X11/wdm/wdm-config
/etc/X11/wdm/wdmReconfig
/usr/local/bin/wdm
/usr/local/bin/wdmLogin
/usr/local/man/man1/wdm.1
/usr/share/locale/de/LC_MESSAGES/wdm.mo
/usr/share/locale/cs/LC_MESSAGES/wdm.mo
/usr/share/locale/cy/LC_MESSAGES/wdm.mo
/usr/share/locale/en/LC_MESSAGES/wdm.mo
/usr/share/locale/es/LC_MESSAGES/wdm.mo
/usr/share/locale/ja/LC_MESSAGES/wdm.mo
/usr/share/locale/ru/LC_MESSAGES/wdm.mo
/usr/share/locale/fr_FR/LC_MESSAGES/wdm.mo
/var/run/wdm

I created a script as /etc/init.d/wdm:


#!/bin/sh

set -e

test -x /usr/local/bin/wdm || exit 0

case "$1" in
start)
echo "Starting wdm..."
start-stop-daemon --start --quiet --pidfile /var/run/wdm.pid --name wdm --startas /usr/local/bin/wdm
;;

restart)
/etc/init.d/wdm stop
/etc/init.d/wdm start
;;

stop)
echo "Stopping wdm..."
if ! [ -f /var/run/wdm.pid ]; then
echo "/var/run/wdm.pid not found"
else
start-stop-daemon --stop --quiet --pidfile /var/run/wdm.pid --name wdm --retry TERM/5/TERM/5
fi
;;
esac

exit 0

Upon reboot, wdm started but wouldn't respond to the Return key after I typed my login name. I wasn't able to fix this problem yet.

Download X.org Server 1.6.5 for Linux

Here you can download my build of X.org 1.6.5 for Linux. I didn't bother to pack it in a RPM or DEB package. However, the installation is simple. Just use tar and bzip2 to extract it at /.


cd /
bzip2 -dc xorg165.tar.bz2 | tar xf -

Everything will be extracted into /usr/local. This package contains X.org core server plus Intel, kbd and mouse driver along with pixman, libdrm2, Mesa OpenGL libraries. After installation, remember to run ldconfig as root.


Download X.org server 1.6.5

Tuesday, December 1, 2009

Wednesday, November 25, 2009

Writing and Verifying a Floppy Image

First format a floppy with the following command:



fdformat /dev/fd0 (in Linux)
fdformat /dev/rfd0c (in OpenBSD)
format A: (in DOS)


Linux and OpenBSD


Insert a floppy and use the dd command to write an floppy image to the floppy diskette.



dd if=floppy46.fs of=/dev/fd0 bs=32k (in Linux)
dd if=floppy46.fs of=/dev/rfd0c bs=32k (in OpenBSD)


Use the following command to make sure that the image is written correctly to
the floppy.



cmp /dev/fd0 floppy46.fs (in Linux)
cmp /dev/rfd0c floppy46.fs (in OpenBSD)


Windows and DOS


If you use Windows XP, Vista or Windows 7, use fdimage or ntrw to write the boot floppy. Make sure the floppy has been formatted first.



C:\> ntrw floppy46.fs a:
3.5", 1.44MB, 512 bytes/sector
bufsize is 9216
1474560 bytes written


Or,



C:\> fdimage -q floppy46.fs a:


In Windows 9x/ME or DOS, you can use rawrite to write your boot floppy.



C:\> rawrite
RaWrite 1.2 - Write disk file to raw floppy diskette

Enter source file name: floppy46.fs
Enter destination drive: a
Please insert a formatted diskette into drive A: and press -ENTER- :

Compiling an OpenBSD kernel

Configuring Kernel


Download srcsys.tar.gz from ftp://ftp.openbsd.org/pub/OpenBSD/2.8
and unpack it into the /usr/src/ directory.



cd /usr/src
gzip -dc srcsys.tar.gz | tar xvf -


To update the kernel source tree to the latest version using CVS,
perform the following steps:



export CVS_RSH="/usr/bin/ssh"
export CVSROOT="anoncvs@anoncvs1.usa.openbsd.org:/cvs"
cd /usr/src/sys
cvs update -d


Read the options(4) man page which has a complete list of options.
You can also check /usr/src/sys/conf/GENERIC
and /usr/src/sys/arch/i386/conf/GENERIC files.



All the options should be placed in your kernel configuration file
in the form of:



option OPTION


When there is unreconized isapnp devices, you should add their name
to /sys/dev/isa/pnpdevs and /sys/dev/isa/pnpdevs.h files and
recompile your kernel to have them detected.



Building your own kernel


To build a new kernel, do like this:



cd /tmp/kernel
config -s /usr/src/sys -b /tmp/kernel kernel.config
make clean
make depend
make


Once a new kernel is compiled, move it to /bsd.



mv /bsd /bsd.old
mv /usr/local/tmp/bsd /bsd

Tuesday, November 24, 2009

Installing OpenBSD 5.1

Downloading OpenBSD Installation Packages


You can download installation files of OpenBSD 5.1 from ftp://ftp.openbsd.org/pub/OpenBSD/5.1/i386/ or an OpenBSD mirror
to install OpenBSD. The following files are recommended for download.



INSTALL.i386
INSTALL.linux
SHA256
base51.tgz
bsd
bsd.mp
bsd.rd
comp51.tgz
etc51.tgz
floppy51.fs
game51.tgz
man51.tgz
xbase51.tgz
xetc51.tgz
xfont51.tgz
xserv51.tgz
xshare51.tgz


Save these files on a FAT partition. Later, the OpenBSD installer will mount the FAT partition and extract the downloaded files.



Starting the OpenBSD Installer


At the SYSLINUX prompt, type the following command:


memdisk initrd=floppy51.fs

Alternatively, GRUB can be used to start the OpenBSD installer:


kernel (hd0,3)/syslinux/memdisk raw
initrd (hd0,3)/OpenBSD/5.1/i386/floppy51.fs
boot

The kernel and all the programs
OpenBSD uses to install itself will be loaded into memory.



Welcome to the OpenBSD/i386 5.1 installation program.
(I)nstall, (U)pgrade or (S)hell? I

Choose your keyboard layout ('?' or 'L' for list) [default] us


During installation, you can run a shell command at any prompt via '!foo'
or escape to a shell by simply typing '!'. In the shell, you can restart
the installation by typing install.



OpenBSD installer asks for some network settings.


System hostname? (short form, e.g. 'foo') lenovo-s12

DNS domain name? (e.g. 'bar.com') [my.domain] openbsd.org

DNS nameservers? (IP address list or 'none') [none] 72.235.80.12 72.235.80.4

Do you want to do any manual network configuration? [no]

Password for root account? (will not echo)

Start sshd(8) by default? [yes]


Answer No to the ntpd question if your computer is not always online or has Windows installed.


Start ntpd(8) by default? [no] Enter


It is recommended for desktop users to have xdm start X Windows at boot time.


Do you expect to run the X Window System? [yes] Enter
Do you want the X Window System to be started by xdm(1)? [no] yes


Create additional users other than root:


Setup a user? (enter a lower-case loginname, or 'no') [no] jocelyn


Partitioning for OpenBSD


In OpenBSD, we use fdisk(8) and disklabel(8) for partitioning hard drives and USB drives. When you are shown the partition table and given the following question, DON'T answer whole! Instead, type O or E to edit the partition table so you can keep any existing OS and data.



Available disks are: wd0.
Which one is the root disk? (or 'done') [wd0] Enter

Use (W)hole disk, use the (O)penBSD area, or (E)dit the MBR? [whole] E


wd0 points to an IDE disk. If your disks are SCSI, you will use sd0 instead.
If you choose not to use the whole disk for OpenBSD, you will need to use
fdisk(8) to create an OpenBSD entry (A6) in BIOS partition table.



Then, use disklabel to split the OpenBSD partition into several pieces.
If you are not sure how to split it, at least create / (at least 80MB or 5%)
and swap partition (256 to 512MB). Optionally, you may create /var (at least
240MB or 10%), /usr (at least 1600MB or 75%), /home (at least 250MB or 10%),
/tmp and /usr/local partitions.



You can type ? at the prompt to get help. Useful commands are:



p [unit]  - print label.
a [part] - add new partition.
d [part] - delete partition.
w - write label to disk.
q - quit and save changes.
x - exit without saving changes.


You can use the m suffix to denote megabytes and g for gigabytes.
Without suffix, the number will indicate sectors.



Choosing Installation Media


If you have saved installation packages to DOS, Linux or OpenBSD partitions
on local disk, answer d to the following question.



Location of sets? (cd disk ftp http or 'done') [ftp] disk


Choosing installation packages and finishing the install


You will be given a list of packages to install. You should at least install
base46, etc46, man46 and bsd to have a working system.



By this moment, installation is all done. Just type 'reboot' at the shell.



Booting OpenBSD for the first time


I installed OpenBSD on the first primary partition. Since I already had Windows installed on the hard drive, I had to run Acronis Disk Director to resize and move Windows partition to the right. After installing OpenBSD, I used the following GRUB commands to boot into OpenBSD.


root (hd0,0)
chainloader +1
boot

One of the first things to read after installing OpenBSD is afterboot(8).



Using Rescue Shell


If there's a problem with your OpenBSD system, you can boot the rescue kernel by typing bsd.rd at the OpenBSD boot prompt.


boot> bsd.rd

At the following prompt, type s to start the shell.



erase ^?, werase ^W, kill ^U, intr ^C
(I)nstall, (U)pgrade or (S)hell? s


Useful Links


How To Create PDF's Free on Windows

It's possible to create PDF's on Windows without buying software. You need Ghostscript and a Windows printer driver for a postscript printer. In short, you print your document to a file with a postscript printer and use Ghostscript to convert the postscript file to a PDF.



Let's first install a postscript printer. Windows include many drivers for postscript printers. Windows provides a generic postscript output driver called MS Publisher Imagesetter. Here I will use Brother HL-4200CN BR-Script3 for saving to postscript.




  1. Installing a Postscript Printer


    In Control Panel, click Printer in the Hardware and Sound group. When a Printers window pops up, click Add a printer in the toolbar. In the Add Printer dialog, click Add a local printer. Select Use an existing port and pick FILE: (Print to File).


    Choose a printer port

    Select Brother from the Manufacturer list. Then select Brother HL-4000CN Br-Script3 or Brother HL-4200CN Br-script3 from the Printers list.


    Install the printer driver

    Name your printer and click Finish.

  2. Installing Ghostscript and GSview


    Go here and download Ghostscript and GSView.



  3. Configuring Postscript printer


    Go back to the Printers window. Right-click on your Postscript printer and select Properties. Select Printing Preferences... and click Advanced...
    Printer_Advanced_Options

    Make changes to printer options as shown in the picture above.


    • TrueType fonts: Download as SoftFont
    • Postscript Output Option: Optimize for Portability
    • TrueType Font Download Option: Outline
    • PostScript Language Level: 2

    Printer_Device_Settings

    Click the Device Settings tab and select Yes to the following options:


    • Convert Gray Text to Postscript gray: Yes
    • Convert Gray Graphics to Postscript gray: Yes
    • Add Euro currency symbol to Postscript Fonts: Yes

    Click OK to close the dialog.


  4. Saving your document as Postscript


    Print your document with the postscript printer, in this case, Brother HL-4200CN Br-script3. You'll be asked for a filename. Name your file with a .PS extension.


    Open your postscript file with GSView. Open the file menu and select Convert... Select pdfwrite as your device, 600 as resolution and click Properties. Define the following settings and click OK.


    • CompatibilityLevel: 1.5
    • CompressPages: true
    • UseFlateCompression: true
    • EmbedAllFonts: true
    • SubsetFonts: true
    • MaxSubsetPct: 35

    GSView
  5. When you click OK in the Convert dialog of GSView, you'll be asked for a PDF filename. The resulting PDF will be viewable with Adobe Reader.

    AdobeReader

Sunday, November 22, 2009

To Activate Windows 7 on Toshiba Mini NB205

Because Toshiba Mini NB205 has BIOS with embedded SLIC 2.1 signature, it is easy to activate the netbook if the owner obtains an .xrm-ms file and a valid Windows key. Thanks to the Internet and powerful search engines, this seemingly difficult task becomes rather easy for average people. Surprisingly, new computers and motherboards in most cases come with SLP 2.1 capable BIOS, thus making it easy to activate new computers.


For your information, SLP (system locked preinstallation) 2.1 is the newest anti-piracy scheme used by Microsoft to sell more Windows 7 on OEM computers. In this case, BIOS of OEM computers have SLIC 2.1 signature which is unique per each OEM manufacturer. An OEM version of Windows 7 is installed on an OEM computer and contain an OEM certificate (*.xrm-ms) that should match SLP/SLIC 2.1 thing in the BIOS. In this post, it is assumed that you installed an OEM version of Microsoft Windows 7 that can be downloaded using utorrent, eMule or Limewire.


If you use the SLIC Dump Toolkit on Toshiba Mini NB205, you can find that SLIC 2.1 begins with the string TOSCPLTOSCPL00.


SLIC Dump Toolkit V2.0

Now you can search for an OEM certificate matching your SLIC 2.1 data with the help of a search engine. You can use such search keywords like: TOSCPLTOSCPL00 2.1 XRM-MS.


ysearch_toscpl

Clicking on the fourth link in the picture above, you'll be taken to a page where you can download a file containing TOSCPLTOSCPL00.XRM-MS. You'll need to type a 3-digit number to download the archive 2.1.rar. Once you downloaded it, open it and extract TOSCPLTOSCPL00.XRM-MS.


7-zip opening 2.1.rar

Open a command prompt with administrator privilege.


Start Command Prompt as Administrator

Type the following command to install the OEM certificate.


slmgr -ilc TOSCPLTOSCPL00.XRM-MS

Now you need to activate Windows 7 with a valid Windows 7 key. Use a command in the following form to activate Windows 7.


slmgr -ipk XXXXX-XXXXX-XXXXX-XXXXX-XXXXX

Some valid Windows 7 keys are circulating on the Internet. With luck, you'll be able to find one. The following are some keywords to locate a Windows 7 key:


Sunday, November 15, 2009

Linux: Creating a Rescue Ramdisk Image

Here I write about a very simple and crude method of creating a rescue initrd image for the purpose of fixing or restoring Linux systems. I use this method when it's inconvenient to creating a sophisticated Rescue CD or when the CD-ROM is inaccessible. In short, this method involves creating a ramdisk image, saving it on a hard disk partition, and using a boot loader like GRUB to boot Linux into a Ramdisk system.



  1. Let's create an initrd image first. Create a text file that lists the contents of the ramdisk image. For example, my rescue.txt file has the following contents:

    /bin/bzip2
    /bin/cat
    /bin/chattr
    /bin/cp
    /bin/dash
    /bin/dd
    /bin/dmesg
    /bin/gzip
    /bin/ls
    /bin/lsattr
    /bin/mkdir
    /bin/mount
    /bin/mv
    /bin/rm
    /bin/tar
    /bin/umount
    /etc/modprobe.d
    /lib/ld-linux.so.2
    /lib/libacl.so.1
    /lib/libattr.so.1
    /lib/libblkid.so.1
    /lib/libbz2.so.1.0
    /lib/libc.so.6
    /lib/libcom_err.so.2
    /lib/libdevmapper.so.1.02.1
    /lib/libdl.so.2
    /lib/libe2p.so.2
    /lib/libext2fs.so.2
    /lib/libncurses.so.5
    /lib/libpthread.so.0
    /lib/librt.so.1
    /lib/libselinux.so.1
    /lib/libsepol.so.1
    /lib/libuuid.so.1
    /lib/modules/2.6.18.8/kernel/drivers/ide/ide-disk.ko
    /lib/modules/2.6.18.8/kernel/drivers/ide/ide-generic.ko
    /lib/modules/2.6.18.8/kernel/drivers/scsi/scsi_mod.ko
    /lib/modules/2.6.18.8/kernel/drivers/scsi/sd_mod.ko
    /lib/modules/2.6.18.8/kernel/drivers/usb/host/ehci-hcd.ko
    /lib/modules/2.6.18.8/kernel/drivers/usb/host/ohci-hcd.ko
    /lib/modules/2.6.18.8/kernel/drivers/usb/host/uhci-hcd.ko
    /lib/modules/2.6.18.8/kernel/drivers/usb/storage/usb-storage.ko
    /lib/modules/2.6.18.8/modules.dep
    /lib/terminfo/l/linux
    /sbin/fdisk
    /sbin/losetup
    /sbin/mke2fs
    /sbin/mkswap
    /sbin/modprobe
    /usr/bin/less
    /usr/lib/libz.so.1
    /usr/sbin/mkcramfs

    Save this file as, for example, rescue.txt.


  2. Create a temporary directory, for example, /tmp/rescue.

    mkdir /tmp/rescue

  3. Use tar to copy files specified in rescue.txt.

    cd /
    tar cvhf - -T /home/jocelyn/rescue.txt | (cd /tmp/rescue; tar xf -)

  4. Create device files.

    cd /tmp/rescue
    mkdir dev mnt tmp
    cd dev
    MAKEDEV std hda sda consoleonly

    Create an InitRD image. I like to use mkcramfs for this purpose.

    mkcramfs /tmp/rescue /boot/rescue.bin

  5. When you start your computer, use GRUB commands like the following to boot Linux into the ramdisk system.

    kernel (hd0,5)/boot/vmlinuz-2.6.18.8 root=/dev/ram0 init=/bin/dash
    initrd (hd0,5)/boot/rescue.bin

    You'll arrive at a very simple rescue console.


Examples of Possible Commands in Rescue Console



  • Edit the partition table with fdisk.

    fdisk /dev/hda

  • Display the partition table.

    fdisk -l -u /dev/hda

  • Format a partition as Linux EXT2.

    mke2fs -L LINUX -I 128 /dev/hda6

  • Mount a Linux partition on /mnt.

    mount -n -t ext2 /dev/hda6 /mnt

  • Change the current directory and then display the current path.

    cd /mnt
    pwd

  • Display the contents of the current directory.

    ls

  • Mount a FAT32 partition on /tmp.

    mount -n -t vfat -o codepage=437,iocharset=iso8859-1,shortname=winnt /dev/hda7 /tmp

  • Restore a backup from a tarball onto the current folder.

    tar xzf /tmp/backup-072499.tgz

  • Unmount a partition.

    umount /mnt

Sunday, November 8, 2009

Building a Monolithic Kernel for Compaq Presario V5306US

The following patch allows me to build a monolithic kernel for my Compaq laptop — Presario V5306US. Apply it to the .config file shown in the post — My Modular Config for Linux kernel 2.6.18.8.



--- /mnt/floppy/boot/config-2.6.18.8 2009-11-07 01:20:03.000000000 -1000
+++ config-2.6.18.8 2009-11-08 19:06:09.031630466 -1000
@@ -144,6 +144,7 @@
CONFIG_X86_USE_PPRO_CHECKSUM=y
CONFIG_X86_TSC=y
CONFIG_HPET_TIMER=y
+CONFIG_HPET_EMULATE_RTC=y
CONFIG_NR_CPUS=8
CONFIG_SCHED_SMT=y
CONFIG_SCHED_MC=y
@@ -221,16 +222,16 @@
CONFIG_ACPI_SLEEP=y
CONFIG_ACPI_SLEEP_PROC_FS=y
# CONFIG_ACPI_SLEEP_PROC_SLEEP is not set
-CONFIG_ACPI_AC=m
-CONFIG_ACPI_BATTERY=m
-CONFIG_ACPI_BUTTON=m
+CONFIG_ACPI_AC=y
+CONFIG_ACPI_BATTERY=y
+CONFIG_ACPI_BUTTON=y
CONFIG_ACPI_VIDEO=m
# CONFIG_ACPI_HOTKEY is not set
CONFIG_ACPI_FAN=m
CONFIG_ACPI_DOCK=m
-CONFIG_ACPI_PROCESSOR=m
+CONFIG_ACPI_PROCESSOR=y
CONFIG_ACPI_HOTPLUG_CPU=y
-CONFIG_ACPI_THERMAL=m
+CONFIG_ACPI_THERMAL=y
CONFIG_ACPI_ASUS=m
CONFIG_ACPI_IBM=m
CONFIG_ACPI_TOSHIBA=m
@@ -241,7 +242,7 @@
CONFIG_ACPI_POWER=y
CONFIG_ACPI_SYSTEM=y
CONFIG_X86_PM_TIMER=y
-CONFIG_ACPI_CONTAINER=m
+CONFIG_ACPI_CONTAINER=y
# CONFIG_ACPI_SBS is not set

#
@@ -1057,7 +1058,7 @@
#
# CONFIG_BLK_DEV_IDE_SATA is not set
# CONFIG_BLK_DEV_HD_IDE is not set
-CONFIG_BLK_DEV_IDEDISK=m
+CONFIG_BLK_DEV_IDEDISK=y
# CONFIG_IDEDISK_MULTI_MODE is not set
CONFIG_BLK_DEV_IDECS=m
CONFIG_BLK_DEV_IDECD=m
@@ -1069,7 +1070,7 @@
#
# IDE chipset support/bugfixes
#
-CONFIG_IDE_GENERIC=m
+CONFIG_IDE_GENERIC=y
CONFIG_BLK_DEV_CMD640=y
CONFIG_BLK_DEV_CMD640_ENHANCED=y
CONFIG_BLK_DEV_IDEPNP=y
@@ -1087,7 +1088,7 @@
CONFIG_BLK_DEV_ALI15X3=m
# CONFIG_WDC_ALI15X3 is not set
CONFIG_BLK_DEV_AMD74XX=m
-CONFIG_BLK_DEV_ATIIXP=m
+CONFIG_BLK_DEV_ATIIXP=y
CONFIG_BLK_DEV_CMD64X=m
CONFIG_BLK_DEV_TRIFLEX=m
CONFIG_BLK_DEV_CY82C693=m
@@ -1131,13 +1132,13 @@
# SCSI device support
#
CONFIG_RAID_ATTRS=m
-CONFIG_SCSI=m
+CONFIG_SCSI=y
CONFIG_SCSI_PROC_FS=y

#
# SCSI support type (disk, tape, CD-ROM)
#
-CONFIG_BLK_DEV_SD=m
+CONFIG_BLK_DEV_SD=y
CONFIG_CHR_DEV_ST=m
CONFIG_CHR_DEV_OSST=m
CONFIG_BLK_DEV_SR=m
@@ -1397,7 +1398,7 @@
# Ethernet (10 or 100Mbit)
#
CONFIG_NET_ETHERNET=y
-CONFIG_MII=m
+CONFIG_MII=y
CONFIG_HAPPYMEAL=m
CONFIG_SUNGEM=m
CONFIG_CASSINI=m
@@ -1467,7 +1468,7 @@
CONFIG_NATSEMI=m
CONFIG_NE2K_PCI=m
CONFIG_8139CP=m
-CONFIG_8139TOO=m
+CONFIG_8139TOO=y
# CONFIG_8139TOO_PIO is not set
CONFIG_8139TOO_TUNE_TWISTER=y
CONFIG_8139TOO_8129=y
@@ -1799,7 +1800,7 @@
CONFIG_INPUT_TSDEV=m
CONFIG_INPUT_TSDEV_SCREEN_X=240
CONFIG_INPUT_TSDEV_SCREEN_Y=320
-CONFIG_INPUT_EVDEV=m
+CONFIG_INPUT_EVDEV=y
# CONFIG_INPUT_EVBUG is not set

#
@@ -1812,7 +1813,7 @@
CONFIG_KEYBOARD_XTKBD=m
CONFIG_KEYBOARD_NEWTON=m
CONFIG_INPUT_MOUSE=y
-CONFIG_MOUSE_PS2=m
+CONFIG_MOUSE_PS2=y
CONFIG_MOUSE_SERIAL=m
CONFIG_MOUSE_INPORT=m
# CONFIG_MOUSE_ATIXL is not set
@@ -1851,7 +1852,7 @@
CONFIG_TOUCHSCREEN_MTOUCH=m
CONFIG_TOUCHSCREEN_MK712=m
CONFIG_INPUT_MISC=y
-CONFIG_INPUT_PCSPKR=m
+CONFIG_INPUT_PCSPKR=y
CONFIG_INPUT_WISTRON_BTNS=m
CONFIG_INPUT_UINPUT=m

@@ -1991,9 +1992,7 @@
CONFIG_HW_RANDOM_GEODE=m
CONFIG_HW_RANDOM_VIA=m
CONFIG_NVRAM=m
-CONFIG_RTC=m
-CONFIG_GEN_RTC=m
-CONFIG_GEN_RTC_X=y
+CONFIG_RTC=y
CONFIG_DTLK=m
CONFIG_R3964=m
CONFIG_APPLICOM=m
@@ -2054,7 +2053,7 @@
#
# I2C support
#
-CONFIG_I2C=m
+CONFIG_I2C=y
CONFIG_I2C_CHARDEV=m

#
@@ -2075,7 +2074,7 @@
CONFIG_I2C_AMD8111=m
CONFIG_I2C_I801=m
CONFIG_I2C_I810=m
-CONFIG_I2C_PIIX4=m
+CONFIG_I2C_PIIX4=y
CONFIG_I2C_ISA=m
CONFIG_I2C_NFORCE2=m
CONFIG_I2C_OCORES=m
@@ -2534,21 +2533,21 @@
#
# Sound
#
-CONFIG_SOUND=m
+CONFIG_SOUND=y

#
# Advanced Linux Sound Architecture
#
-CONFIG_SND=m
-CONFIG_SND_TIMER=m
-CONFIG_SND_PCM=m
+CONFIG_SND=y
+CONFIG_SND_TIMER=y
+CONFIG_SND_PCM=y
CONFIG_SND_HWDEP=m
CONFIG_SND_RAWMIDI=m
-CONFIG_SND_SEQUENCER=m
+CONFIG_SND_SEQUENCER=y
CONFIG_SND_SEQ_DUMMY=m
CONFIG_SND_OSSEMUL=y
CONFIG_SND_MIXER_OSS=m
-CONFIG_SND_PCM_OSS=m
+CONFIG_SND_PCM_OSS=y
CONFIG_SND_PCM_OSS_PLUGINS=y
CONFIG_SND_SEQUENCER_OSS=y
CONFIG_SND_RTCTIMER=m
@@ -2566,8 +2565,8 @@
CONFIG_SND_OPL3_LIB=m
CONFIG_SND_OPL4_LIB=m
CONFIG_SND_VX_LIB=m
-CONFIG_SND_AC97_CODEC=m
-CONFIG_SND_AC97_BUS=m
+CONFIG_SND_AC97_CODEC=y
+CONFIG_SND_AC97_BUS=y
CONFIG_SND_DUMMY=m
CONFIG_SND_VIRMIDI=m
CONFIG_SND_MTPAV=m
@@ -2618,8 +2617,8 @@
CONFIG_SND_ALS300=m
CONFIG_SND_ALS4000=m
CONFIG_SND_ALI5451=m
-CONFIG_SND_ATIIXP=m
-CONFIG_SND_ATIIXP_MODEM=m
+CONFIG_SND_ATIIXP=y
+CONFIG_SND_ATIIXP_MODEM=y
CONFIG_SND_AU8810=m
CONFIG_SND_AU8820=m
CONFIG_SND_AU8830=m
@@ -2714,12 +2713,12 @@
#
# USB Host Controller Drivers
#
-CONFIG_USB_EHCI_HCD=m
+CONFIG_USB_EHCI_HCD=y
CONFIG_USB_EHCI_SPLIT_ISO=y
CONFIG_USB_EHCI_ROOT_HUB_TT=y
CONFIG_USB_EHCI_TT_NEWSCHED=y
CONFIG_USB_ISP116X_HCD=m
-CONFIG_USB_OHCI_HCD=m
+CONFIG_USB_OHCI_HCD=y
# CONFIG_USB_OHCI_BIG_ENDIAN is not set
CONFIG_USB_OHCI_LITTLE_ENDIAN=y
CONFIG_USB_UHCI_HCD=m
@@ -2739,7 +2738,7 @@
#
# may also be needed; see USB_STORAGE Help for more information
#
-CONFIG_USB_STORAGE=m
+CONFIG_USB_STORAGE=y
# CONFIG_USB_STORAGE_DEBUG is not set
CONFIG_USB_STORAGE_DATAFAB=y
CONFIG_USB_STORAGE_FREECOM=y
@@ -2755,7 +2754,7 @@
#
# USB Input Devices
#
-CONFIG_USB_HID=m
+CONFIG_USB_HID=y
CONFIG_USB_HIDINPUT=y
CONFIG_USB_HIDINPUT_POWERBOOK=y
CONFIG_HID_FF=y
@@ -2763,12 +2762,6 @@
CONFIG_LOGITECH_FF=y
CONFIG_THRUSTMASTER_FF=y
CONFIG_USB_HIDDEV=y
-
-#
-# USB HID Boot Protocol drivers
-#
-# CONFIG_USB_KBD is not set
-# CONFIG_USB_MOUSE is not set
CONFIG_USB_AIPTEK=m
CONFIG_USB_WACOM=m
CONFIG_USB_ACECAD=m
@@ -3022,11 +3022,11 @@
# CONFIG_EXT2_FS_SECURITY is not set
CONFIG_EXT2_FS_XIP=y
CONFIG_FS_XIP=y
-CONFIG_EXT3_FS=m
+CONFIG_EXT3_FS=y
CONFIG_EXT3_FS_XATTR=y
CONFIG_EXT3_FS_POSIX_ACL=y
# CONFIG_EXT3_FS_SECURITY is not set
-CONFIG_JBD=m
+CONFIG_JBD=y
# CONFIG_JBD_DEBUG is not set
CONFIG_FS_MBCACHE=y
CONFIG_REISERFS_FS=m
@@ -3061,19 +3061,19 @@
#
# CD-ROM/DVD Filesystems
#
-CONFIG_ISO9660_FS=m
+CONFIG_ISO9660_FS=y
CONFIG_JOLIET=y
CONFIG_ZISOFS=y
-CONFIG_ZISOFS_FS=m
+CONFIG_ZISOFS_FS=y
CONFIG_UDF_FS=m
CONFIG_UDF_NLS=y

#
# DOS/FAT/NT Filesystems
#
-CONFIG_FAT_FS=m
+CONFIG_FAT_FS=y
CONFIG_MSDOS_FS=m
-CONFIG_VFAT_FS=m
+CONFIG_VFAT_FS=y
CONFIG_FAT_DEFAULT_CODEPAGE=437
CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
CONFIG_NTFS_FS=m
@@ -3207,12 +3207,12 @@
#
# Native Language Support
#
-CONFIG_NLS=m
+CONFIG_NLS=y
CONFIG_NLS_DEFAULT="utf8"
-CONFIG_NLS_CODEPAGE_437=m
+CONFIG_NLS_CODEPAGE_437=y
CONFIG_NLS_CODEPAGE_737=m
CONFIG_NLS_CODEPAGE_775=m
-CONFIG_NLS_CODEPAGE_850=m
+CONFIG_NLS_CODEPAGE_850=y
CONFIG_NLS_CODEPAGE_852=m
CONFIG_NLS_CODEPAGE_855=m
CONFIG_NLS_CODEPAGE_857=m
@@ -3233,7 +3233,7 @@
CONFIG_NLS_CODEPAGE_1250=m
CONFIG_NLS_CODEPAGE_1251=m
CONFIG_NLS_ASCII=m
-CONFIG_NLS_ISO8859_1=m
+CONFIG_NLS_ISO8859_1=y
CONFIG_NLS_ISO8859_2=m
CONFIG_NLS_ISO8859_3=m
CONFIG_NLS_ISO8859_4=m
@@ -3243,10 +3243,10 @@
CONFIG_NLS_ISO8859_9=m
CONFIG_NLS_ISO8859_13=m
CONFIG_NLS_ISO8859_14=m
-CONFIG_NLS_ISO8859_15=m
+CONFIG_NLS_ISO8859_15=y
CONFIG_NLS_KOI8_R=m
CONFIG_NLS_KOI8_U=m
-CONFIG_NLS_UTF8=m
+CONFIG_NLS_UTF8=y

#
# Instrumentation Support

Distros Compatible with Linux kernel 2.2.x

I agree that Linux kernel 2.2.x is too old to use on latest computers. Linux kernel 2.2 series don't have support for USB storage or wireless LAN. However, a 2.2 kernel works fine with the problematic hard drive in my Compaq laptop (Presario V5306US). Most of the recent distros don't allow you to boot with a 2.2 kernel, not even 2.4 kernels. Following are some Linux distros known to work with Linux kernel 2.2.




  • Debian 3.1 “Sarge” release 8
  • Ubuntu 6.06 “Dapper”
  • Fedora Core 3
  • Haansoft Linux 2005
  • Mandriva 2006
  • SuSE 9.3
  • Slackware 10.1


To Download Debian Sarge 3.1r8


I prefer using jigdo-lite to assemble ISO images of Debian 3.1. jigdo-lite is contained in the package jigdo-file, so I installed jigdo-file first. Then, I typed jigdo-lite in a gnome-terminal and was asked for the location of a .jigdo file.


mkdir sarge
cd sarge
jigdo-lite

I searched the Internet for debian-31r8-i386-binary-1.jigdo and only found 2 locations. I picked the Japanese site and typed the following in response to the question:


http://hanzubon.jp/debian-cd/3.1_r8/i386/jigdo-dvd/debian-31r8-i386-binary-1.jigdo

Next, I got the prompt “Files to scan:” but just ignored it by pressing Enter. Then, I was asked for the URL of a Debian mirror, so I typed the following:


http://archive.debian.org/debian

jigdo-lite started downloading Debian packages. The MD5 checksums of Debian 3.1r8 DVD ISO's are as follows:


f2344c160a7ae6f54310111e50de84a7  debian-31r8-i386-binary-1.iso
d72ef7d74c77669db0abc42a530fbdfa debian-31r8-i386-binary-2.iso
5ad701912599ad985369d028d993acbc debian-update-3.1r8-i386-DVD-1.iso

After downloading and burning the ISO files, insert the DVD and run apt-cdrom to use them with apt or dselect:


apt-cdrom add


To Download Fedora Core 3


I want to try Fedora Core 3. But since Fedora Core 3 is an old release, I had difficulty finding an ISO image of Fedora Core 3 DVD edition. After searching the Internet for a long time using the term fc3-i386-dvd.iso, I found the DVD image at the following locations:




The correct md5sum of Fedora Core 3 DVD is ca49964739f84848ca78fc03662272fb.



To Download Mandriva Free 2006


Mandriva is said to be a very easy-to-use Linux distribution. Download Mandriva Free 2006 DVD at the following locations:



The correct md5sum of Mandriva Free 2006 DVD is c7a0a1b8ccc2d81206c0ff4e48ef3057.



Use a downloader like aria2 to download from multiple locations.

About This Blog

KBlog logo This blog seeks to provide a collection of interesting pictures found on the Web. Thanks for visiting the blog and posting your comments.

© Contents by KBlog

© Blogger template by Emporium Digital 2008

Followers

Total Pageviews

Powered By Blogger