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