Lilypond 2.19.36/7 fails to build with GCC6 using the c++14 std, which is
the new default for GCC6, as present in Fedora 24+.  Attached is a patch
allowing Lilpond 2.19.37 to build.  Please review and adopt if applicable.
If there are better corrections than what I've done here, please let me
know and I'll update our patch, at least until a future release builds
unpatched.

Thanks!

-j

-- 
http://cecinestpasunefromage.wordpress.com/
------------------------------------------------
in your fear, seek only peace
in your fear, seek only love

-d. bowie
--- lily/include/smobs.hh~	2016-01-31 11:20:44.000000000 -0500
+++ lily/include/smobs.hh	2016-02-25 14:25:29.177103937 -0500
@@ -196,7 +196,7 @@
   // code maintenance while being harder to understand and quite
   // trickier in its failure symptoms when things go wrong.  So we
   // just use a static zero as "not here" indication.
-  static const int type_p_name_ = 0;
+  static const int type_p_name_ = NULL;
 
   // LY_DECLARE_SMOB_PROC is used in the Super class definition for
   // making a smob callable like a function.  Its first argument is a
--- lily/include/smobs.tcc~	2016-02-28 08:16:42.000000000 -0500
+++ lily/include/smobs.tcc	2016-03-02 10:00:49.974357146 -0500
@@ -140,8 +140,8 @@
     scm_set_smob_equalp (smob_tag_, Super::equal_p);
   if (Super::type_p_name_ != 0)
     {
-      SCM subr = scm_c_define_gsubr (Super::type_p_name_, 1, 0, 0,
-                                     (scm_t_subr) smob_p);
+      SCM subr = scm_c_define_gsubr (reinterpret_cast<const char*>(Super::type_p_name_), 1, 0, 0,
+                                     (scm_t_subr) smob_p);
       string fundoc = string("Is @var{x} a @code{") + smob_name_
         + "} object?";
       ly_add_function_documentation (subr, Super::type_p_name_, "(SCM x)",
--- lily/include/smobs.tcc~	2016-03-02 10:42:12.000000000 -0500
+++ lily/include/smobs.tcc	2016-03-02 10:45:43.726749445 -0500
@@ -144,7 +144,7 @@
                                      (scm_t_subr) smob_p);
       string fundoc = string("Is @var{x} a @code{") + smob_name_
         + "} object?";
-      ly_add_function_documentation (subr, Super::type_p_name_, "(SCM x)",
+      ly_add_function_documentation (subr, reinterpret_cast<const char*>(Super::type_p_name_), "(SCM x)",
                                      fundoc);
       scm_c_export (Super::type_p_name_, NULL);
     }
--- lily/include/smobs.tcc~	2016-03-02 10:54:04.000000000 -0500
+++ lily/include/smobs.tcc	2016-03-02 10:56:54.694957092 -0500
@@ -146,7 +146,7 @@
         + "} object?";
       ly_add_function_documentation (subr, reinterpret_cast<const char*>(Super::type_p_name_), "(SCM x)",
                                      fundoc);
-      scm_c_export (Super::type_p_name_, NULL);
+      scm_c_export (reinterpret_cast<const char*>(Super::type_p_name_), NULL);
     }
   ly_add_type_predicate ((void *) is_smob, smob_name_.c_str ());
   Super::smob_proc_init (smob_tag_);
_______________________________________________
bug-lilypond mailing list
bug-lilypond@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-lilypond

Reply via email to