[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?
No. If I don't do this on my system, Lilypond ./configure fails with the check saying a minimum version of guile V1.8 is not available on the system.
- 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).

Hmmm.. In the past on my system, I have foolishly done a guile make install for Guile V1.9.8. I may still have cruft about despite doing a make uninstall and subsequently re-compiling an installing guile V1.8.7.
- 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


Sure, but mileage may vary if my suspicion above is true,

Can you test this to see if you get the same results?


Willco,

Cheers,

Ian


---
----
Join the Frogs!


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