[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Which Linux distro for Lilypond
From: |
Thomas Morley |
Subject: |
Re: Which Linux distro for Lilypond |
Date: |
Sun, 15 Jan 2017 21:24:41 +0100 |
2017-01-13 20:53 GMT+01:00 David Pirotte <address@hidden>:
> Hello,
>
>> I never tried to compile lilypond with a guile version higher than
>> 2.0.13, so I can't say anything about it.
>
> I (really) recommend you to do so: guile 2.2 is due to be released in a month
> or
> two, at the very most. 2.1.5 beta is the latest [1], 2.1.6 will be released
> in a few
> days (and I think it fixes a(some) utf8 related bug(s).
>
> At this point in time Thomas, if I was in your position, I would not spend
> time to
> get things done for 2.0, I would skip 2.0 and work on 2.2 instead, it is too
> late,
> and imo totally useless, 2.2 is an order of magnitude better then 2.0, for
> numerous
> reasons (read the NEWS since its first release...). Not only that, but when
> 2.2 is
> released, support to 2.0 will be kept to the very strict minimum... Don't
> loose your
> time here, it is my advice, maybe a bit more then 2c this time...
>
> Cheers,
> David
>
> [1] http://lists.gnu.org/archive/html/guile-devel/2016-12/msg00005.html
I now compiled guile master from
35a90592501ebde7e7ddbf2486ca9d315e317d09
"Add unboxed floating point comparison instructions."
Getting Guile 2.1.5.21-35a90
Then I compiled LilyPond with this guile (thanks Werner fore the hints)
As mentioned before, scm_protects doesn't work anymore. Simply
replacing it with scm_gc_protect_object as the IRC-log
https://gnunet.org/bot/log/guile/2017-01-05
seems to sugest didn't work for me, so I commented the whole
definition of ly:protects and replaced the result of it's call with an
empty list.
I'm aware this is brute-force and one should do a proper fix instead,
but my most naive attempt (see above) didn't work, so someone with
better knowledge is needed.
A change in scheme-sandbox was needed as well, not for compilation but
I stumbled over it ...
Here the whole diff so far:
$ git diff
diff --git a/lily/general-scheme.cc b/lily/general-scheme.cc
index 1168ee9..e4efe60 100644
--- a/lily/general-scheme.cc
+++ b/lily/general-scheme.cc
@@ -267,17 +267,20 @@ LY_DEFINE (ly_dimension_p, "ly:dimension?", 1,
0, 0, (SCM d),
/*
Debugging mem leaks:
*/
+/*
LY_DEFINE (ly_protects, "ly:protects",
0, 0, 0, (),
"Return hash of protected objects.")
{
- //scm_protects is available only in Guile versions before 2.1.
+ //scm_protects is available only in Guile versions before 2.1. ->
scm_gc_protect_object ??
#if SCM_MAJOR_VERSION < 2 || SCM_MAJOR_VERSION == 2 && SCM_MINOR_VERSION < 1
return scm_protects;
#else
- return programming_error ("ly:protects is not supported in Guile 2.1");
+ // return programming_error ("ly:protects is not supported in Guile 2.1");
+ return scm_gc_protect_object;
#endif
}
+*/
LY_DEFINE (ly_gettext, "ly:gettext",
1, 0, 0, (SCM original),
diff --git a/ly/scheme-sandbox.ly b/ly/scheme-sandbox.ly
index 7dec0dc..1f233c0 100644
--- a/ly/scheme-sandbox.ly
+++ b/ly/scheme-sandbox.ly
@@ -13,4 +13,8 @@
% requirements may be different.
#(newline)
-#(scm-style-repl)
+#(if (guile-v2)
+ (begin
+ (use-modules (system repl repl))
+ (start-repl))
+ (scm-style-repl))
diff --git a/scm/lily.scm b/scm/lily.scm
index d3164e4..703b00e 100644
--- a/scm/lily.scm
+++ b/scm/lily.scm
@@ -840,6 +840,7 @@ messages into errors.")
(lambda (a b)
(< (object-address (car a))
(object-address (car b))))))
+ (protects '())
(out-file-name (string-append
"gcstat-" (number->string gc-protect-stat-count)
".scm"))
With this changes on top of my rebased local copy of the
dev/guile-v2-work)-branch I've got a successful make and a full make
doc.
Up to now I only made some observations, far too early for more.
(1)
While invoking lilypond I always get a guile-message:
Import (ice-9 threads) to have access to `call-with-new-thread'.
Import (ice-9 threads) to have access to `current-thread'.
(2)
Compiling a huge score
http://lists.gnu.org/archive/html/lilypond-user/2016-11/msg00943.html
lasts ~15 minutes
With lilypond and guile 2.0.13 it was ~17 minutes
Though, lilypond with guile 1.8.8 made it in ~5 minutes
(3)
guile now finds files with chinese, etc characters
guile --no-auto-compile filename_名字.scm
succeeded.
(4)
Trying to compile filename_名字.ly with lilypond still returns
warning: cannot find file: `filename_??????.ly'
fatal error: failed files: "filename_??????.ly"
So far for today. No time left to research about (ice-9 threads) or
what it is about that --no-auto-compile or other issues.
But let me say, why, I mean WHY?? did noone drop a note about (3) here
http://lists.gnu.org/archive/html/guile-devel/2017-01/msg00003.html
or here
http://lists.gnu.org/archive/html/guile-user/2016-11/msg00031.html
Cheers,
Harm
- Re: Which Linux distro for Lilypond, (continued)
- Re: Which Linux distro for Lilypond, Werner LEMBERG, 2017/01/07
- Re: Which Linux distro for Lilypond, David Kastrup, 2017/01/07
- Re: Which Linux distro for Lilypond, Thomas Morley, 2017/01/07
- Re: Which Linux distro for Lilypond, Werner LEMBERG, 2017/01/07
- Re: Which Linux distro for Lilypond, David Kastrup, 2017/01/07
- Re: Which Linux distro for Lilypond, David Kastrup, 2017/01/07
- Re: Which Linux distro for Lilypond, David Pirotte, 2017/01/07
- Re: Which Linux distro for Lilypond, David Kastrup, 2017/01/07
- Re: Which Linux distro for Lilypond, Thomas Morley, 2017/01/07
- Re: Which Linux distro for Lilypond, David Pirotte, 2017/01/13
- Re: Which Linux distro for Lilypond,
Thomas Morley <=
- Re: Which Linux distro for Lilypond, David Kastrup, 2017/01/15
- Re: Which Linux distro for Lilypond, Nicholas Bailey, 2017/01/10
- Re: Which Linux distro for Lilypond, Andrew Bernard, 2017/01/10
- Re: Which Linux distro for Lilypond, H. S. Teoh, 2017/01/07
- Re: Which Linux distro for Lilypond, Urs Liska, 2017/01/07
- Re: Which Linux distro for Lilypond, H. S. Teoh, 2017/01/07
- Re: Which Linux distro for Lilypond, Trevor Daniels, 2017/01/07
- Re: Which Linux distro for Lilypond, H. S. Teoh, 2017/01/07
- Re: Which Linux distro for Lilypond, David Kastrup, 2017/01/07
- Re: Which Linux distro for Lilypond, H. S. Teoh, 2017/01/07