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
> >
> >  
> >
> 
> 

Reply via email to