[frogs] Re: Lilypond and Guile forward compatibility

[ Thread Index | Date Index | More lilynet.net/frogs Archives ]


On 19/04/10 01:11, Patrick McCarty wrote:
Hi Ian,

I decided to test the custom environment you are using, so my comments
below are in response to my new setup.

On 2010-04-18, Ian Hulin wrote:
I've just done a fresh clone of lilypond git and picked up your fixes.
I've got Guile 1.9.10, and have set up a script guile-v2
to do
exec $HOME/Desktop/Development/Guile-and-Scheme/guile-1.9.10/meta/uninstalled-env bash

I executed this and then did a clean Lilypond build using the fresh
git repo for lilypond.
After I patched the guile-config script to do this

#!/bin/sh
PKG_CONFIG_PATH="/home/ian/usr/lib/pkgconfig:$PKG_CONFIG_PATH"
GUILE_AUTO_COMPILE=0
export PKG_CONFIG_PATH GUILE_AUTO_COMPILE

exec "/home/ian/Desktop/Development/Guile-and-Scheme/guile-1.9.10/meta/guile" -e main -s $0 "$@"
!#
;;;; exec "/home/ian/usr/bin/guile" -e main -s $0 "$@"

The lilypond ./configure now runs to completion, so I did
sh autogen.sh --prefix=$HOME/usr --disable-optimising
I can't reproduce a successful ./configure run by default.  I will
list the steps I took (in detail), where "/path/to/guile-1.9.10/" is
the directory in which I compiled Guile.

- Compile Guile 1.9.10 from scratch.

- Patch the generated file "meta/guile-config", as you did above,
   though I'm not sure this is really necessary.  Is this something you
   did for a custom setup?

- Run "/path/to/guile-1.9.10/meta/uninstalled-env bash"

- In LilyPond's top source dir, run "./autogen.sh --disable-optimising".
   This command failed for me, complaining that the linker could not
   find the Guile 2.0 library (-lguile-2.0).

- After an exhaustive search, I realized that Guile's -L linker flag
   points to the directory libguile-2.0 will be copied to during
   installation.  Pre-installation, the libguile-2.0 library is located
   in libguile/.libs, which is a libtool convention, I believe.

   In other words, if I compile LilyPond with these commands,
   everything checks out, and compilation fails for me at the same
   place it did before:

     $ libguiledir="/path/to/guile-1.9.10/libguile/.libs"
     $ export LDFLAGS="-L$libguiledir -Wl,-rpath $libguiledir"
     $ ./autogen.sh --disable-optimising
     $ make all


Can you test this to see if you get the same results?
Rebuilt Guile, then

$ meta/uninstalled-env bash
$ libguiledir="$PWD/libguile/.libs"
$ export LDFLAGS="-L$libguiledir -Wl, -rpath $libguiledir"
$ echo $libguiledir
/home/ian/Desktop/Development/Guile-and-Scheme/guile-1.9.10/libguile/.libs
$ echo $LDFLAGS
-L/home/ian/Desktop/Development/Guile-and-Scheme/guile-1.9.10/libguile/.libs -Wl, -rpath /home/ian/Desktop/Development/Guile-and-Scheme/guile-1.9.10/libguile/.libs
$ cd lilypond
$ ./autogen.sh --prefix=$HOME/usr --disable-optimising
processing .
Running autoconf ...
Running ./configure --prefix=/home/ian/usr --disable-optimising ...
checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking Package... LILYPOND
checking builddir... /home/ian/Desktop/Development/Guile-and-Scheme/guile-1.9.10/lilypond
checking for stepmake... ./stepmake  (${datarootdir}/stepmake not found)
checking for gmake... no
checking for make... make
checking for find... find
checking for tar... tar
checking for bash... /bin/bash
checking for python... python
checking python version... 2.6.4
checking for python... /usr/bin/python
checking for gcc... gcc
checking for C compiler default output file name...
configure: error: in `/home/ian/Desktop/Development/Guile-and-Scheme/guile-1.9.10/lilypond':
configure: error: C compiler cannot create executables
See `config.log' for more details.
$
So now it doesn't get as far as it does on your system.

Cheers,

Ian


---
----
Join the Frogs!


Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/