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