Here's the changes I made to get gtk+ working OK on both HP-UX 9.X and 10.X (the former has to add a -Dhpux9 flag during compilation). The latest gtk+ is now on our UK archive here: http://hpux.csc.liv.ac.uk/hppd/hpux/X11/Toolkits/gtk+-0.99.2/ and should be at the other official HP-UX archive sites listed in my signature by tomorrow. I've include the HPUX.Install document for gtk+-0.99.2 below. Note that there have been minor changes compared to the same doc for 0.99.0, particularly in the "testing" section - I had a few problems with the test suite that you might like to read about. HP-UX Archive Librarian, E-mail queries: hpux@csc.liv.ac.uk Computer Science Dept., Official HP-UX Archive WWW sites: Liverpool University, United Kingdom: http://hpux.csc.liv.ac.uk/ United Kingdom. Germany: http://hpux.ask.uni-karlsruhe.de/ United States: http://hpux.cae.wisc.edu/ [Wisconsin] France: http://hpux.cict.fr/ Netherlands: http://hpux.tn.tudelft.nl/ *CHANGED* Canada: http://hpux.ee.ualberta.ca/ Italy: http://hpux.dsi.unimi.it/ United States: http://hpux.cs.utah.edu/ [Utah] South Africa: http://hpux.petech.ac.za/ Japan: http://hpux.u-aizu.ac.jp/ ----------------- HPUX.Install for gtk+-0.99.2 ---------------- NOTE ! To build from sources, you should install GNU make (3.76.1 or later) prior to building this package. Files changed: * Makefile.in: - Delete config.cache during a "gmake clean". * buildit (created from scratch): - Shell script to do a configure and then a backgrounded build. Useful for multiple build testing ! * configure: - /bin/sh comes up with an "internal 2K buffer overflow", so I've set the shell escape to /bin/posix/sh and also overridden CONFIG_SHELL to be /bin/posix/sh as well. - Added HP-UX override section, which included setting HP ANSI C flags, prefix and RANLIB appropriately. - Strip installed binaries. * gdk/Makefile.in: - Added Xaw/Xmu include paths (for both R6 and R5), so it would work under 10.X and 9.X. - The gdk shared library does *not* need to be linked with any of the X libraries because these will be specified when any binary is linked against the library...duh ! * gdk/gdk.c: - Add conditional code to support HP-UX 9.X-style select() params. - va_arg() is a *macro* in HP-UX, so it's incorrect to attempt to get the address via an "&" operator. I've corrected all occurrences to save the macro result in a pointer and get the address of the pointer instead. * gdk/gdkpixmap.c: - Third param to gdk_pixmap_read_string() is an (guint *), so cast appropriately to avoid compiler warnings. * glib/configure: - Added a similar HP-UX override section to the one added to the top-level configure script. Disappointing to have to do the same overrides twice - the top-level configure really should pass down its flags to this script. - Strip installed binaries. * glib/gerror.c: - Add conditional code to support HP-UX 9.X-style select() params. * glib/ltconfig and ltconfig: - Incorrectly looks for "nm -B" support before checking for "nm -p". I've reversed the check. * glib/ltmain.sh and ltmain.sh: - No point in adding -lc when creating the shared library because that gets included when any binaries are linked against the library ! * glib/mkinstalldirs and mkinstalldirs: - Set 755 permissions on created directories. * gtk/Makefile.in: - Link lines of all programs needed an extra -lc to avoid duplicate symbols. * gtk/gtkcontainer.c: - Second param of GtkContainerSignal2 function is a (gpointer), so cast appropriately to avoid compiler warning. * gtk/gtkentry.c and gtk/testselection.c: - The RHS of many assignments (or some function params) had an incorrect type, so were cast to (guchar *) to avoid compiler warnings. * gtk/gtklabel.c: - The old chestnut of static void forward declaration vs. void actual declaration was fixed - it seems that HP's compiler is one of the few to report this cos I see it *so* often in PD source code ! To compile: Install GNU make (3.76.1 or later) first and make sure "gmake" is in your PATH! [Edit the HP-UX override sections in configure and glib/configure, particularly the prefix setting. Add -Dhpux9 to the CFLAGS there if compiling under 9.X] rm -f config.cache ./configure gmake To test: glib/testglib cd gtk ./testinput [clicking on Input Dialog displays "No input devices" message] ./testtree [click on "+" toggle to open up tree] ./testselection [I never managed to paste a selection with this one !] ./testgtk [Some slightly odd things with testgtk: You can't close the "button box", "toolbar", "handle box", "dialog", "rulers", "panes", "shapes", "preview color", "gamma curve" test windows without either using "Kill window" on your window manager or exiting testgtk. Seems to be a refresh problem in the "handle box" test - as you move the draggable toolbar over the original handle box test window, the horizontal rule in that window doesn't always refresh properly. File selection box has no way of easily jumping to another absolute directory tree (rather than having to click on .. loads of times and then traverse down) - important when it seems to be quite slow to get a list of files every time you choose a new directory in the left-hand pane. In other words, it needs a better directory selector (and faster filenammes retrieval). The "text" test comes up with this warning whenever you do anything: ** WARNING **: could not determine signal number for event: 29 Also managed to core dump the "text" test by clicking on the end of a text line, pressing backspace - repeating this click/backspace sequence many times - and then trying to scroll the text window. Basically, the "text" test is highly unstable :-( Not sure what the "test" test is supposed to do - it opens up a blank window and doesn't nothing - maybe that *is* the test ! ] cd .. To install: gmake install To clean: gmake clean Notes: * No, I don't like the mass of soft-links that the installer puts into /opt/gtk+/lib, but they are harmless enough (even if the .sl's are actually soft-links !). * The test programs aren't installed. * You can ignore the optimisation warning generated by glib/gmem.c. * Be warned that versions of GNU make prior to 3.76.1 may not function correctly when building this package - make sure you get at least 3.76.1! * Ignore libtool's foolish "using a buggy linker" message. As long as you have the latest ld patch, then there's nothing to worry about ! * These libraries are primarily used by later releases of the gimp painting program (hence "gimp toolkit" or gtk for short). * This software has been built and tested on both HP-UX 9.05 and 10.20. * No man pages sadly, though GNU info docs are installed into /opt/gtk+/info.