On Thu, 14 Apr 2005, Greg Lauer wrote: > Steve, > > The head of my 'build-guile-gtk-1.2' has the same script, > ie it points to 'guile' not 'guile-1.6'. > > build-guile-gtk-1.2 cflags (libs) > gives: > > ;;; WARNING (no code for module (gtk-1.2 config)) > Backtrace: > 0* (define defsdir (string-append gtkconf-prefix "/share/guile-gtk")) > 1* [string-append ... > > /sw/bin/build-guile-gtk-1.2:172:17: While evaluating arguments to > string-append > in expression (string-append gtkconf-prefix "/share/guile-gtk"): > /sw/bin/build-guile-gtk-1.2:172:17: Unbound variable: gtkconf-prefix > > Editing the script to point to guile-1.6 gives: > > build-guile-gtk-1.2 cflags > -I/sw/src/root-guile16-gtk-1.2-0.31-1/sw/include -I/sw/include/gtk-1.2 > -I/sw/include/glib-1.2 -I/sw/lib/glib/include -D_REENTRANT > -I/usr/X11R6/include > > build-guile-gtk-1.2 libs > -lguilegtk-1.2 -L/sw/lib -lguile -lguile-ltdl -lm -L/sw/lib -L/usr/X11R6/lib > -lgtk -lgdk -lgmodule -lgthread -lglib -lpthread -lintl -lXext -lX11 -lm > Doing that and adding the options you suggested, ie: > ac_cv_path_bggtk="/sw/bin/guile-1.6 -s /sw/bin/build-guile-gtk-1.2" > > Looks like the configure script almost runs 'clean' now. The only > suspicious thing is I get: > > checking with libtool for shlibpath_var... libtool: unknown option character > `-' > in: --config > Usage: libtool -static [-] file [...] [-filelist listfile[,dirname]] > [-arch_only > arch] [-sacLT] > Usage: libtool -dynamic [-] file [...] [-filelist listfile[,dirname]] > [-arch_only arch] [-o output] [-install_name name] [-compatibility_version #] > [-current_version > #] [-seg1addr 0x#] [-segs_read_only_addr 0x#] [-segs_read_write_addr 0x#] > [-seg_addr_table <filename>] [-seg_addr_table_filename <file_system_path>] > [-all_load] [-n > oall_load]
I think that should be harmless; it was testing for some peculiarities of HP/UX. Its worrisome that your libtool's usage is so different from the versions I've been using. > Make now compiles all of the way through!!! > > Trying to run 'gwave', I get: > > dyld: ./gwave can't open library: > /sw/src/root-guile16-gtk-1.2-0.31-1/sw/lib/libguilegtk-1.2.0.dylib (No such > file or directory, errno = 2) > Trace/BPT trap Have you done the make install? running gwave before installing requires setting GWAVE_GUILE_DIR in the environment, as noted in the INSTALL. But the error messages likely to result from that are quite different from what you see. > Turns out, there is no such directoy, the file should be at: > /sw/lib/libguilegtk-1.2.0.dylib > > So, still looks like an issue with build-guile-gtk-1.2. It's returning > the cflag -I/sw/src/root-guile16-gtk-1.2-0.31-1/sw/include which > I don't think is right. Any clues? Although the only odd path returned by build-guile-gtk-1.2 is an include path (and not a library path), it is suspiciously like the bad library directory, isn't it. One thing suspicious about the build-guile-gtk-1.2 libs output: > -lguilegtk-1.2 -L/sw/lib -lguile -lguile-ltdl -lm -L/sw/lib -L/usr/X11R6/lib > -lgtk -lgdk -lgmodule -lgthread -lglib -lpthread -lintl -lXext -lX11 -lm It has -lguilegtk-1.2 _before_ the library-directory -L/sw/lib where its supposed to find it. So I'm surprised that the link went OK. I suppose there could be another -L/sw/lib on the full link command line. Still could be worth rearranging the order of things on actual link line. (as an experiment, I'd copy, paste, and modify the makefile output and see what happens.) The text that build-guile-gtk-1.2 returns is mostly computed when guile-gtk is built, and is stored in $prefix/guile/gtk-1.2/config.scm I suspect if you look there you won't see anything you haven't already seen in build-guile-gtk-1.2's output though. You shouldn't have to go off debugging its build process, but that may be where the real problem lies. > I feel like we're almost there! Yes, we've got to be close. Steve > Thanks! > Greg > > > > > > On Thu, 14 Apr 2005, Greg Lauer wrote: > > > > > Hi Steve, > > > > > > Thanks for the reply. > > > > > > Yes, fink is just a package manager for osx, it installs everything > > > to the /sw partition. > > > > > > The versions I've ran with are: > > > > > > guile 1.6.7 > > > gtk+ 1.2.10 > > > guile-gtk 1.2.0.31 > > > > > > Doing the test you suggest seems to work, it brings > > > up a 'Guile/Gtk+' box with buttons, etc. > > > > > > One iffy spot is fink installs guile 1.6 as > > > guile-1.6 (keeping version 1.4 as just 'guile'). To be sure I point to the > > > right 'guile', I run the configure script with the following options: > > > > > > ./configure ac_cv_path_Guile=/sw/bin/guile-1.6 > > > ac_cv_path=GUILE_CONFIG=/sw/bin/guile-1.6-config \ > > > ac_cv_path_bggtk=/sw/bin/build-guile-gtk-1.2 > > > > > > which sets the following in the Makefile(s): > > > GUILE = /sw/bin/guile-1.6 > > > GUILE_CONFIG = /sw/bin/guile-1.6-config > > > bggtk = /sw/bin/build-guile-gtk-1.2 > > > > > > I think the BIG problem is when configure trys to set the guile-gtk flags > > > and the configure script trys to execute 'build-guile-gtk-1.2 cflags', > > > shown below: > > > > Yes, my hunch is that the build-guile-gtk-1.2 script's failing results in > > some bad (maybe empty) configure variables. Obviously I need to add a > > configure check for an error or empty result from calling build-guile-gtk. > > > > What happens if you run on a command line: > > build-guile-gtk-1.2 cflags > > build-guile-gtk-1.2 libs > > > > One likely hitch is that build-guile-gtk (and its -1.2 link) on my system > > starts off like: > > > > #! /bin/sh > > # -*- scheme -*- > > exec guile -s $0 $* > > !# > > > > That is, it uses the shell's $PATH to search for a binary called "guile" > > with which to run itself. This probably finds your guile-1.4, which > > doesn't have the (gtk-1.2 config) module that it keeps whining about. > > > > If this is all true on your system, it suggests that a properly finkified > > guile-gtk needs a patch to look for the right guile. > > > > Or maybe it would work to try > > ac_cv_path_bggtk="/sw/bin/guile-1.6 -s /sw/bin/build-guile-gtk-1.2" > > in your configure. > > > > > > > checking for guile-gtk CFLAGS... > > > ;;; WARNING (no code for module (gtk-1.2 config)) > > > Backtrace: > > > 0* (define defsdir (string-append gtkconf-prefix "/share/guile-gtk")) > > > 1* [string-append ... > > > > > > /sw/bin/build-guile-gtk-1.2:172:17: While evaluating arguments to > > > string-append in expression (string-append gtkconf-prefix "/share/guile > > > -gtk"): > > > /sw/bin/build-guile-gtk-1.2:172:17: Unbound variable: gtkconf-prefix > > > > > > checking for guile-gtk LIBS... > > > ;;; WARNING (no code for module (gtk-1.2 config)) > > > Backtrace: > > > 0* (define defsdir (string-append gtkconf-prefix "/share/guile-gtk")) > > > 1* [string-append ... > > > > > > /sw/bin/build-guile-gtk-1.2:172:17: While evaluating arguments to > > > string-append in expression (string-append gtkconf-prefix "/share/guile > > > -gtk"): > > > /sw/bin/build-guile-gtk-1.2:172:17: Unbound variable: gtkconf-prefix > > > > > > During 'make', it cholks on: > > > > > > gcc -g -O2 -I/sw/include/gtk-1.2 -I/sw/include/glib-1.2 > > > -I/sw/lib/glib/include -I/usr/X11R6/inc > > > lude -I/sw/include -DDATADIR=\"/home/glauer/ngspice/share\" > > > -DBINGWAVE=\"/home/glauer/ngspice/bi > > > n/gwave\" -o gwave -L/sw/lib -lguile -lguile-ltdl -lm cmd.o wavewin.o > > > draw.o gwave.o event.o > > > gtkmisc.o pixmaps.o wavelist.o dnd.o scwm_guile.o guile-compat.o > > > init_scheme_string.o wavepanel. > > > o rgeval.o xgserver.o measurebtn.o GtkTable_indel.o > > > ../spicefile/libspicefile.a -L/sw/lib -L/us > > > r/X11R6/lib -lgtk -lgdk -lgmodule -lglib -lintl -lXext -lX11 -lm > > > ld: warning multiple definitions of symbol _environ > > > /usr/lib/crt1.o definition of _environ in section (__DATA,__data) > > > /sw/lib/libguile.dylib(posix.o) definition of _environ > > > ld: Undefined symbols: > > > _sgtk_wrap_gtkobj > > > _sgtk_boxed2scm > > > _sgtk_gdk_event_info > > > _sgtk_get_gtkobj > > > _sgtk_is_a_gtkobj > > > > Those are all definitely guile-gtk things, and > > -lguilegtk-1.2 is conspicuous by its absence in the link line. > > > > > make[4]: *** [gwave] Error 1 > > > make[3]: *** [all-recursive] Error 1 > > > make[2]: *** [all] Error 2 > > > make[1]: *** [all-recursive] Error 1 > > > make: *** [all] Error 2 > > > > > > I'm guessing not all of the right flags/options are getting set in the > > > configure, but > > > this is as far as I could get. > > > > > > Any ideas? > > > > > > Thanks! > > > Greg > > > > > > > > > Steve Tell wrote: > > > > > > >On Thu, 14 Apr 2005, Greg Lauer wrote: > > > > > > > > > > > > > > > >>Hello, > > > >> > > > >>I'm trying to get gwave and ngspice to compile under > > > >>osx. I've been reasonably successful with ngspice outside of fink, but > > > >>having a horrible time with gwave. I believe I have > > > >>a version dependency issue with gtk/guile, but can't resolve the > dependency. > > > >> > > > >>Can someone please provide a fink info file and/or patches to > > > >>get gwave and ngspice to compile under fink? > > > >> > > > >>If there are no os x friendly developers on this board, can you please > > > >>suggest some './compile' options I might try? > > > >> > > > >> > > > > > > > >I know gwave pretty well, having written it (although been busy and > > > >neglectful recently) but know next to nothing about OS X. Fink is a sort > > > >of package manager, is that right? > > > > > > > >Gwave depends on the three packages gtk+, guile, and guile-gtk. > > > >At present it (still) requires the older gtk+-1.2. (gtk+-1.2.10) > > > > > > > >Guile and guile-gtk are quite fussy about what version works with what. > > > >guile-1.6.4 or guile-1.6.7 is recommended, as is guile-gtk 1.2-0.31. > > > >The other general hint is that installing guile-gtk often goes much > > > >better > > > >if it is installed into the same prefix as guile itself. It can be done > > > >otherwise, but you'll likely have to set $LD_LIBRARY_PATH and > > > >$GUILE_LOAD_PATH both while building and runnng gwave. > > > > > > > >In difficult situations I recomend testing that the guile-gtk examples > > > >work properly by themselves before trying to build gwave: > > > > cd guile-gtk-1.2-0.31/examples > > > > guile -s ./test-gtk.scm > > > > > > > >Steve > > > > > > > > > > > > > > > > > > > >