[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: gEDA-user: Problem building gschem. . . .



Hi Ales and the rest of the gEDA user group,

> What's missing from this list is -lguile and friends  I am assuming that
> the ./configure script finished ok otherwise you won't get very this far.
> What does:  guile-config --version   return?  Since this is an RH9.x dist,
> I'm guess that you are using guile 1.6.x.  Do you have the guile-devel
> rpm installed?

Well, I have solved my problem, thanks to your tip.  The problem
was indeed guile.  But it wasn't as obvious as you might think!  I
document my experience here so that other people having similar
problems might benefit from my experience.

I had previously installed guile-1.4.1 'cause I knew that gEDA
requires it.  I had installed it into /usr/bin, which I guess is the
default directory.  I also kept RH9.0's guile-1.6 in the same
directory.  I renamed all the guile stuff to include the version no,
and created a symlink to guile-1.4.1 so that my /usr/bin
directory looked like this: 

-------------------------   /usr/bin snippet  ---------------------
[root@Newton bin]# ls -l guile*
lrwxrwxrwx    1 root     root           11 Aug 27 16:30 guile -> guile-1.4.1
-rwxr-xr-x    1 root     root        28549 Aug 27 16:29 guile-1.4.1
-rwxr-xr-x    1 root     root         4300 Jan 24  2003 guile-1.6.0
lrwxrwxrwx    1 root     root           18 Aug 27 16:30 guile-config -> guile-config-1.4.1
-rwxr-xr-x    1 root     root         9328 Aug 27 16:29 guile-config-1.4.1
lrwxrwxrwx    1 root     root           17 Aug 27 16:31 guile-snarf -> guile-snarf-1.4.1
-rwxr-xr-x    1 root     root         3923 Aug 27 16:29 guile-snarf-1.4.1
-rwxr-xr-x    1 root     root         2845 Jan 24  2003 guile-tools-1.6.0
[root@Newton bin]# pwd
/usr/bin
--------------------------  end /usr/bin/snippet ---------------------

Therefore, I thought I was smart enough that the guile problem would
not occur.  But I wasn't smart enough, cause the compilation barfed
giving me the error messages in my last post.  Ha Ha!

When I ran ./configure in the gschem directory, I noted this error
message:

----------------------------  ./configure spew snippet ------------------
checking for guile... /usr/bin/guile
checking for guile-config... /usr/bin/guile-config
checking for guile-tools... no
checking libguile compile flags... ./configure: /usr/bin/guile-config:
/usr/local/bin/guile: bad interpreter:
No such file or directory
 
checking libguile link flags... ./configure: /usr/bin/guile-config:
/usr/local/bin/guile: bad interpreter: No
such file or directory
 
checking for scm_run_hook in -lguile... yes
checking for scm_hook_empty_p in -lguile... yes
-----------------------  end ./configure spew snippet --------------


So for some reason, ./configure was looking for guile in
/usr/local/bin!!  However, when I did 'which guile' I got:

--------------------------  output of 'which guile'  ----------------
[root@Newton geda-gschem-20030525]# which guile
/usr/bin/guile
-------------------------------------------------------------------

WTF?!?!?

It turns out that guile-config has /usr/local/bin/guile hard-coded
into it.  Here's the beginning of the guile-config file:

----------------  Opening lines of /usr/bin/guile-config  -------------
#!/usr/local/bin/guile \
-e main -s
!#
;;;; guile-config --- utility for linking programs with Guile
;;;; Jim Blandy <jim@red-bean.com> --- September 1997
--------------------- end of /usr/bin/guile-config ----------------

Therefore, I created a symlink from /usr/local/bin/guile to
/usr/bin/guile.  Once I did this, everything compiled happily.

In my experience, this is a common RH vs. GNU problem.  I have had a
lot of experience installing GNU software (e.g. the Gimp), and having
it fail because it expected to put stuff into /usr/local/whatever,
whereas RH usually puts stuff in /usr/whatever (or vice-versa).  I
usually end up making cross-directory symlinks to fix the problem.

I don't know if there is a way to make ./configure use the version of
guile which it finds, instead of simply looking in /usr/local/bin, but
I suspect that many people have experienced this problem. 

Thanks for the tip!

Stuart