Closed gabriel-striewe closed 9 years ago
Can you rerun the build with --debug
, and when it fails, choose "shell" and upload the config.log
file?
This is my config.log
https://gist.github.com/gabriel-striewe/050b62ac61beecb78390
configure:4021: /usr/local/bin/gcc-4.9 -Os -w -pipe -march=core2 -msse4 -mmacosx-version-min=10.10 -I/usr/local/opt/flex/include -I/usr/local/opt/readline/include -I/usr/local/opt/icu4c/include -I/usr/local/opt/gettext/include -F/usr/local/Frameworks -I/opt/X11/include -I/opt/X11/include/freetype2 -L/usr/local/opt/flex/lib -L/usr/local/opt/readline/lib -L/usr/local/opt/icu4c/lib -L/usr/local/opt/libffi/lib -L/usr/local/opt/gettext/lib -L/usr/local/lib -F/usr/local/Frameworks -Wl,-headerpad_max_install_names -L/opt/X11/lib conftest.c >&5
<built-in>: error: unknown value '10.10' of -mmacosx-version-min
Bingo?
Looks like Guile18 doesn't recognise 10.10 as a valid OS X version in the configure script?
case $host_os in
rhapsody* | darwin1.[012])
_lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
darwin1.*)
_lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
darwin*) # darwin 5.x on
# if running on 10.5 or later, the deployment target defaults
# to the OS version, if on x86, and 10.4, the deployment
# target defaults to 10.4. Don't you love it?
case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
10.0,*86*-darwin8*|10.0,*-darwin[91]*)
_lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
10.[012]*)
_lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
10.*)
_lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
esac
Although that's just one of the fatal errors. It appears to have coughed up 3 fatal errors, the others are in this block.
Hmm :confused:. Guess guile18
isn't the error here, unless Lilypond hooks into it differently to the homebrew-versions build? Despite this:
configure:4068: error: in `/private/tmp/lilypond--guile18-6FVpTd/guile-1.8.8':
On 10.10 for me:
==> Summary
🍺 /usr/local/Cellar/guile18/1.8.8: 301 files, 7.1M, built in 2.3 minutes
Here the same. Guile18 building fine. However, when I start guile at the command line, I receive:
ERROR: Unbound variable: define
Ah, yes. I encounter the same error.
Dominyks-MacBook-Pro # guile
ERROR: Unbound variable: define
And then it errors out and quits. Hmm.
Working on an experimental fix. Will have something for you to test shortly.
Thanks a lot for your help. Need to go to bed for a few hours... Will test tomorrow!
Oh no rush. Whenever you have time. Jack may well have come up with a better fix by morning. Whenever you get a chance try brew install https://raw.githubusercontent.com/DomT4/homebrew/9e873862480ffc1c6cc507d9bd706a52d2598a10/Library/Formula/lilypond.rb --devel
and let me know if that works for you.
<built-in>: error: unknown value '10.10' of -mmacosx-version-min
is coming from gcc, it needs to be reinstalled (either gcc or gcc-4.9 from homebrew-versions, whichever you have installed).
On a clean installation of Yosemite, and fresh Homebrew. Guile and other dependencies builds fine, but when starting on Lilypond stable it fails with message
ERROR: Please install required programs: /usr/local/bin/fontforge >= 20110222 (installed: 6ffb25d7732adcc8d32dae75bd90bda90250304)
Looks like it is getting the installed version wrong. It is actually
$ fontforge --version
Copyright (c) 2000-2014 by George Williams. See AUTHORS for Contributors.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
with many parts BSD <http://fontforge.org/license.html>. Please read LICENSE.
Based on sources from 09:42 CEST 24-Oct-2014-ML-D.
Based on source from git with hash:f6ffb25d7732adcc8d32dae75bd90bda90250304
fontforge 09:42 CEST 24-Oct-2014
libfontforge 20141024
$ brew info fontforge
fontforge: stable 20141014 (bottled), HEAD
https://fontforge.github.io
/usr/local/Cellar/fontforge/2.0.20140101 (1403 files, 41M)
Built from source with: --with-x, --with-cairo
/usr/local/Cellar/fontforge/20141014 (1275 files, 39M) *
Built from source with: --with-x
From: https://github.com/Homebrew/homebrew/blob/master/Library/Formula/fontforge.rb
Tempted to boneyard Lilypond give the :tex
requirement means it can't be tested or bottled.
As far as I know, TeX is an optional requirement, so we could mark it a such. It is only needed for lilypond-book
, not for lilypond
itself.
ETA: No wait, it needs Metafont to build the fonts. Oh well ...
Looks like it is getting the installed version wrong. It is actually
Yeah, I wondered about this. The Lilypond configure script is quite specific in how it looks for Fontforge and consequently I'm not all that surprised it is struggling to find our considerably newer version. I guess we either remove Lilypond from the core here and potentially move it into a homebrew-tex
tap, or we bundle an older Fontforge with Lilypond temporarily, or we look at modifying the configure script to look for newer versions. Bleh.
@DomT4: thanks for your receipe. it gives me the following error: <<< WARNING: Please consider installing optional programs or files: guile < 1.9.0 (installed: 2.0.11) texi2html dblatex pngtopnm
ERROR: Please install required programs: /usr/local/bin/fontforge >= 20110222 (installed: 6ffb25d7732adcc8d32dae75bd90bda90250304) <<<
We might have to bring this up on the lilypond list, unless you are an autotools wizard?
Thats the same error I got, @gabriel-striewe.
WARNING: Please consider installing optional programs or files: guile < 1.9.0 (installed: 2.0.11) texi2html dblatex pngtopnm
Expected that one. Essentially, I just removed the old guile
in favour of the new one, but the support for that is experimental at this point and consequently you get the warning about it if you use it.
I'll look at the configure script to see what's going on with Fontforge and if we can fix that issue, but yeah, punt it upstream as well.
Yeah, punt this upstream. There's way too many references to how to work out the Fontforge build number in the configure script for me to patch them all. (I suppose I could, but I wouldn't be doing much else for the rest of the week heh).
Before bringing this issue upstream, I will have to compile it by hand. That's what I just did, but the configure script hangs at guile-config:
checking for guile-config...
I cannot stop the process unless killing the terminal.
At the command prompt using guile and guile-config without autotools:
MacAir:~ gabriel$ guile ERROR: Unbound variable: define ^C MacAir:~ gabriel$ guile-config ERROR: Unbound variable: define ^C MacAir:~ gabriel$
Is anybody using guile18 stand-alone and might be able to help with this issue.
I did reinstall gcc-4.9. Command line tools and xcode are up to date...
+1
Yeah, punt this upstream. There's way too many references to how to work out the Fontforge build number in the configure script for me to patch them all. (I suppose I could, but I wouldn't be doing much else for the rest of the week heh).
Since the configure script is generated by autoconf, there’s actually one single place that needs editing, namely lines 43-48 in aclocal.m4:
if test -z "$_ver"; then
## If empty, try date [fontforge]
eval _ver=\"\`("$1" --version || "$1" -V) 2>&1 | grep '[0-9]\{6,8\}' \
| head -n 1 \
| sed -e 's/^[^.0-9]*//' -e 's/[^.0-9]*$//'\`\"
fi
The regular expression being used in grep catches both a source Git hash and a libfontforge date/version, the latter being what the script should really use. Because of head -n 1
, only the Git hash is considered, which is the source of this error.
There are multiple ways to avoid reading a Git hash from --version
and upstream is definitely better equipped to decide which is better, but it shouldn’t be hard for LilyPond’s Homebrew formula maintainer to patch that grep
invocation whilst upstream doesn’t solve this — for example, by forcing libfontforge
or ignoring hash
.
In theory, only one line needs changing in aclocal.m4. I’m not sure whether Homebrew runs autoconf, but it shouldn’t be hard to run it in case it doesn’t at the moment.
Homebrew generally is pretty bleh on including patches that require the use of the autotools unless absolutely necessary. If you have something in mind though, feel free to open a PR with the proposed fix and the maintainers are forever happy to consider these things.
Given the options at this point, including your proposal, are 1) Patch and include autotool dependencies. 2) Given the hard tex dependency, boneyard. 3) Keep shipping a broken formulae, there probably wouldn't necessarily be objection to 1 if you manage to make it work.
Fixing the fontforge version detection problem in aclocal.m4 works as far as fontforge is concerned, but configure still fails with
WARNING: Please consider installing optional programs or files: guile < 1.9.0 (installed: 2.0.11)
ERROR: Please install required programs: International New Century Schoolbook fonts (make sure the fc-list utility can see them, or use --with-ncsb-dir) msgfmt mpost (due to a bug in metapost, versions 1.600 <= x < 1.803 are not supported; installed: 1.802) guile-config < 1.9.0 (installed: 2.0.11) (guile-devel, guile-dev or libguile-dev package) libguile (libguile-dev, guile-devel or guile-dev package). GUILE-with-rational-bugfix makeinfo >= 4.11 (installed: 4.8) texi2html dblatex pngtopnm
I’m not sure what boneyard and PRs are, and I won’t be spending more time with this issue. Feel free to forward this information to the maintainer and upstream if you think it’s helpful, and good luck!
Apologies for the jargon.
Boneyard = The place we send formulae that can no longer be supported for whatever reason. PRs = Pull Requests.
What's the state on this? Would love to see it fixed =)
AFAIK, We're waiting on some upstream movement around Fontforge and Guile.
It does indeed look like this is an issue with Lilypond's configure script. I changed that one bit to
eval _ver=\"\`("$1" --version || "$1" -V) 2>&1 | grep 'libfontforge [0-9]\{6,8\}' \
| head -n 1 \
| sed -e 's/^[^.0-9]*//' -e 's/[^.0-9]*$//'\`\"
and it at least got past that one error. You can also pass the flag --enable-guile2
to autogen.sh to avoid the warning about guile.
Also, msgfmt and makeinfo can be solved with brew link gettext
and brew link texinfo
, respectively. (I plan to unlink
them as soon as lilypond finishes installing.)
For the fontforge old version problem in Yosemite,
there is a similar fix here : https://github.com/FontCustom/fontcustom/issues/204
to reinstall the old version and the lilypond install works then for me :
brew update brew uninstall fontforge cd /usr/local/Cellar/ git checkout bfdf80274b3542684e5343cbca04f93d63e44d9d /usr/local/Library/Formula/fontforge.rb brew install fontforge
Hi there, I also get the same. I'm trying to install lilypond 2.19.15-1 on ArchLinux. Sorry if I post at the wrong place, I've searched for similar problem and I've found this page wherein issue seems rather similar to mine.
ERROR: Please install required programs: International New Century Schoolbook fonts
(make sure the fc-list utility can see them, or use --with-ncsb-dir) /usr/bin/fontforge >=
20110222 (installed: 4cea471798c92848170c2f47311979805966093)
But methinks it should work. Here is what I've got:
$ yaourt -Qs fontforge
extra/fontforge 20141126-2
Outline and bitmap font editor
$ fc-list | grep "Century"
/usr/share/fonts/Type1/c059036l.pfb: Century SchoolBook URW:style=Bold Italic
/usr/share/fonts/Type1/c059016l.pfb: Century SchoolBook URW:style=Bold
/usr/share/fonts/Type1/c059013l.pfb: Century SchoolBook URW:style=Roman
/usr/share/fonts/Type1/c059033l.pfb: Century SchoolBook URW:style=Italic
I haven't found any free fonts named « International New Century Schoolbook » to download.
This issue was moved to Homebrew/homebrew-tex#10
https://gist.github.com/fe4a29c2aab2c1d09056
I checked that XCode as well as the command line tools are up to date.