Re: Question: Cross compilation
On 27 Sep 2016 18:31, "Jan Nieuwenhuizen"wrote:. > > > A Lilypond build tool for all platforms to which someone's added half > > a dozen extra unrelated targets (possibly very large ones such as > > OpenOffice) = a terrible idea. > > Thanks! GUB was the first to be so generic that it could be used for > other projects as well, with almost no cost. I hoped for GUB to be > adopted by other projects, so that we would share maintenance and > development effort on it. It is (or was?) actively used by GNU Denemo, > so that's where the GTK+ stuff comes from and at the time I worked on > go-oo (the predecessor to LibreOffice) so I hooked that in too. The > idea was: once such a project uses this, others will join. > Apparently, I did not succeed in bringing easy cross builds to other > projects and with as a consequence I also failed in sharing maintenance > load. >So, please remove any OpenOffice references and depnedencies (git > will remember anyway). As David said, they're not really an overhead - but they are unmaintained. > You may want to check with the GNU Denemo team > before removing their dependencies. Jan, I gather from your tone that you don't take all this too personally... I'm glad. GUB clearly had great intentions. I suspect its complexity has been a barrier to developing it into something more readily usable. My struggle is building a local Lilypond build for one platform and in fact, in principle, I think it's pretty well suited to the task. Currently, it's not working for me (some dependency is broken). But that's not really the fault of GUB, as such. If building all dependencies from scratch could be avoided, that would be helpful. I believe Denemo are still using this, based on a message above here in the thread, but they may have their own fork. > I think GUB is beyond fixing, simply because it's community is too > small. It contains logic that could be used to create a new cross-build tool. The fear I have with modifying very bespoke and complicated tools is a lack of knowledge of failure modes - And especially that one can't possibly test every output. > ... because a build tool that takes 24+ hours to rebuild > > There are reasons for this. GUB's aim was to find the sweet spot > between complete OS independency/separation (fedora/debian/whatnot) > and reproducibility. It fails at both of these requirements, but I > maintain that it was a fair effort. If you want to be OS-independent > and reliable, you'll have to build your own toolchain. It's a really complicated task and I think a valiant effort. I wonder whether there are now better ways one would build the same thing... > I am currently working on Guix/GuixSD and have implemented a MinGW cross > build facility that can cross build Guile which has been reviewed and > will be merged soon. I have patches that will cross build LilyPond > and all its dependencies, some of those need cleanups and they need > to be reviewed. > > Using Guix as a LilyPond build system presents a whole new set of > problems/questions, but it would solve the biggest problems with GUB. > It has an active community, so effort is shared. It is very well > documented and a whole lot more mature, better designed. It has /full/ > OS separation; produces bit-reproducible binaries. And it has a system > of using binary substitutes: cross builds do not need to take longer > than other builds. > ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Question: Cross compilation
Chris Yate writes: > At a brief look over GUB, the really big question in my mind is why on > earth it seems to want to build *everything*. That's mostly fault. > A Lilypond build tool for all platforms = a great idea. Thanks. I developed GUB together with Han-Wen and it was our 4th iteration of a cross-build system written for LilyPond. > A Lilypond build tool for all platforms to which someone's added half > a dozen extra unrelated targets (possibly very large ones such as > OpenOffice) = a terrible idea. Thanks! GUB was the first to be so generic that it could be used for other projects as well, with almost no cost. I hoped for GUB to be adopted by other projects, so that we would share maintenance and development effort on it. It is (or was?) actively used by GNU Denemo, so that's where the GTK+ stuff comes from and at the time I worked on go-oo (the predecessor to LibreOffice) so I hooked that in too. The idea was: once such a project uses this, others will join. Apparently, I did not succeed in bringing easy cross builds to other projects and with as a consequence I also failed in sharing maintenance load. So, please remove any OpenOffice references and depnedencies (git will remember anyway). You may want to check with the GNU Denemo team before removing their dependencies. > If I did anything to "fix" it, it would be to strip it right back to a > tool that does _one_ job well. And I don't know whether that's likely > to be popular thing (although correct me if I'm wrong there)... I think GUB is beyond fixing, simply because it's community is too small. > ... because IMHO a build tool that takes 24+ hours to rebuild after > making tweaks to it --and that's on a high spec machine-- is not a > very useful tool. There are reasons for this. GUB's aim was to find the sweet spot between complete OS independency/separation (fedora/debian/whatnot) and reproducibility. It fails at both of these requirements, but I maintain that it was a fair effort. If you want to be OS-independent and reliable, you'll have to build your own toolchain. I am currently working on Guix/GuixSD and have implemented a MinGW cross build facility that can cross build Guile which has been reviewed and will be merged soon. I have patches that will cross build LilyPond and all its dependencies, some of those need cleanups and they need to be reviewed. Using Guix as a LilyPond build system presents a whole new set of problems/questions, but it would solve the biggest problems with GUB. It has an active community, so effort is shared. It is very well documented and a whole lot more mature, better designed. It has /full/ OS separation; produces bit-reproducible binaries. And it has a system of using binary substitutes: cross builds do not need to take longer than other builds. Greetings, Jan -- Jan Nieuwenhuizen| GNU LilyPond http://lilypond.org Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.nl ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Question: Cross compilation
- Original Message - From: "Richard Shann" <rich...@rshann.plus.com> To: "Phil Holmes" <m...@philholmes.net> Cc: "David Kastrup" <d...@gnu.org>; "Lilypond-User Mailing List" <lilypond-user@gnu.org> Sent: Tuesday, September 27, 2016 8:54 AM Subject: Re: Question: Cross compilation On Tue, 2016-09-27 at 08:53 +0100, Phil Holmes wrote: - Original Message - From: "Richard Shann" <rich...@rshann.plus.com> To: "David Kastrup" <d...@gnu.org> Cc: "Lilypond-User Mailing List" <lilypond-user@gnu.org> Sent: Tuesday, September 27, 2016 8:38 AM Subject: Re: Question: Cross compilation > > and, more specifically, I would guess they are spent in creating the > documentation (as this involves running LilyPond on thousands on > examples). I say this because Denemo is built overnight for three > targets with (son of) GUB, and that involves not only building LilyPond > but also Gtk, Fluidsynth, PortAudio, PortMidi and quite a few other > packages. (But not the LilyPond documentation, which, out of idleness > with respect to setting it up, I always access online). > > Richard No - I can build the docs on that machine in 15 minutes. The day-long compile is building the toolset that Gub uses. In which case, I guess this is a one-off cost (unless the upstream sources for the toolset change) on first build of a target architecture? Richard Generally, yes. If things are relatively constant, a gub build takes 1-2 hours. -- Phil Holmes ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Question: Cross compilation
- Original Message - From: "David Kastrup" <d...@gnu.org> To: "Phil Holmes" <m...@philholmes.net> Cc: "Richard Shann" <rich...@rshann.plus.com>; "Lilypond-User Mailing List" <lilypond-user@gnu.org> Sent: Tuesday, September 27, 2016 9:04 AM Subject: Re: Question: Cross compilation "Phil Holmes" <m...@philholmes.net> writes: - Original Message - From: "Richard Shann" <rich...@rshann.plus.com> To: "David Kastrup" <d...@gnu.org> Cc: "Lilypond-User Mailing List" <lilypond-user@gnu.org> Sent: Tuesday, September 27, 2016 8:38 AM Subject: Re: Question: Cross compilation and, more specifically, I would guess they are spent in creating the documentation (as this involves running LilyPond on thousands on examples). I say this because Denemo is built overnight for three targets with (son of) GUB, and that involves not only building LilyPond but also Gtk, Fluidsynth, PortAudio, PortMidi and quite a few other packages. (But not the LilyPond documentation, which, out of idleness with respect to setting it up, I always access online). Richard No - I can build the docs on that machine in 15 minutes. The day-long compile is building the toolset that Gub uses. Aren't the docs rebuilt for every platform? -- David Kastrup I don't believe so. When I've checked the output of a build, it looks like they're built once, near the end of the build. -- Phil Holmes ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Question: Cross compilation
"Phil Holmes" <m...@philholmes.net> writes: > - Original Message - > From: "Richard Shann" <rich...@rshann.plus.com> > To: "David Kastrup" <d...@gnu.org> > Cc: "Lilypond-User Mailing List" <lilypond-user@gnu.org> > Sent: Tuesday, September 27, 2016 8:38 AM > Subject: Re: Question: Cross compilation >> >> and, more specifically, I would guess they are spent in creating the >> documentation (as this involves running LilyPond on thousands on >> examples). I say this because Denemo is built overnight for three >> targets with (son of) GUB, and that involves not only building LilyPond >> but also Gtk, Fluidsynth, PortAudio, PortMidi and quite a few other >> packages. (But not the LilyPond documentation, which, out of idleness >> with respect to setting it up, I always access online). >> >> Richard > > No - I can build the docs on that machine in 15 minutes. The day-long > compile is building the toolset that Gub uses. Aren't the docs rebuilt for every platform? -- David Kastrup ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Question: Cross compilation
On Tue, 2016-09-27 at 08:53 +0100, Phil Holmes wrote: > - Original Message - > From: "Richard Shann" <rich...@rshann.plus.com> > To: "David Kastrup" <d...@gnu.org> > Cc: "Lilypond-User Mailing List" <lilypond-user@gnu.org> > Sent: Tuesday, September 27, 2016 8:38 AM > Subject: Re: Question: Cross compilation > > > > and, more specifically, I would guess they are spent in creating the > > documentation (as this involves running LilyPond on thousands on > > examples). I say this because Denemo is built overnight for three > > targets with (son of) GUB, and that involves not only building LilyPond > > but also Gtk, Fluidsynth, PortAudio, PortMidi and quite a few other > > packages. (But not the LilyPond documentation, which, out of idleness > > with respect to setting it up, I always access online). > > > > Richard > > No - I can build the docs on that machine in 15 minutes. The day-long > compile is building the toolset that Gub uses. In which case, I guess this is a one-off cost (unless the upstream sources for the toolset change) on first build of a target architecture? Richard > > -- > Phil Holmes > ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Question: Cross compilation
On 27 Sep 2016 03:59, "David Kastrup"wrote: > > > At a brief look over GUB, the really big question in my mind is why on > > earth it seems to want to build *everything*. > > It wants to be _able_ to build everything, like autoconf. Fine. But Autoconf doesn't ship with makefiles for everything. If it's a general tool, it ought not even mention Lilypond in the main makefile. Possibly not even the platforms it supports. If it's a Lilypond build tool, OpenOffice build rules don't belong in the distribution (unless OpenOffice is a dependency for Lilypond?) > You don't need to touch or maintain or use the OpenOffice rules ... It won't build OpenOffice unless you ask it to. I disagree. If it's distributed with OpenOffice build rules, then any changes to GUB would need to be regression tested by building OpenOffice. Is this the tool that Apache uses to build OO? > You'll find that none of the 24+ hours are spent in relation to > OpenOffice. The OpenOffice configuration affects the download size of > GUB, but that's a one-time cost and rather small. Yeah, I've worked that out. Actually trivial to temporarily comment out platforms you don't need. (Although it's still breaking for me...) Is there a buglist other than the TODO file? By the way, should this discussion have been in the Devel group? Chris ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Question: Cross compilation
- Original Message - From: "Richard Shann" <rich...@rshann.plus.com> To: "David Kastrup" <d...@gnu.org> Cc: "Lilypond-User Mailing List" <lilypond-user@gnu.org> Sent: Tuesday, September 27, 2016 8:38 AM Subject: Re: Question: Cross compilation and, more specifically, I would guess they are spent in creating the documentation (as this involves running LilyPond on thousands on examples). I say this because Denemo is built overnight for three targets with (son of) GUB, and that involves not only building LilyPond but also Gtk, Fluidsynth, PortAudio, PortMidi and quite a few other packages. (But not the LilyPond documentation, which, out of idleness with respect to setting it up, I always access online). Richard No - I can build the docs on that machine in 15 minutes. The day-long compile is building the toolset that Gub uses. -- Phil Holmes ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Question: Cross compilation
On Tue, 2016-09-27 at 04:23 +0200, David Kastrup wrote: > Chris Yatewrites: > > > On Mon, 26 Sep 2016 at 19:34 David Kastrup wrote: > > > >> > >> That's pretty good, actually. Not being able to do native/online > >> compilations by anybody wanting to is bad. Yes. Fixes to GUB (possibly > >> even just to its information/documentation, maybe it _can_ do it > >> already) are of course welcome: > > > > > > David, > > > > At a brief look over GUB, the really big question in my mind is why on > > earth it seems to want to build *everything*. > > It wants to be _able_ to build everything, like autoconf. > > > A Lilypond build tool for all platforms = a great idea. > > A Lilypond build tool for all platforms to which someone's added half a > > dozen extra unrelated targets (possibly very large ones such as OpenOffice) > > = a terrible idea. > > You don't need to touch or maintain or use the OpenOffice rules. > > > If I did anything to "fix" it, it would be to strip it right back to a > > tool that does _one_ job well. And I don't know whether that's likely > > to be popular thing (although correct me if I'm wrong there)... > > I don't see the point. It won't build OpenOffice unless you ask it to. > > > ... because IMHO a build tool that takes 24+ hours to rebuild after > > making tweaks to it --and that's on a high spec machine-- is not a > > very useful tool. > > You'll find that none of the 24+ hours are spent in relation to > OpenOffice. The OpenOffice configuration affects the download size of > GUB, but that's a one-time cost and rather small. > and, more specifically, I would guess they are spent in creating the documentation (as this involves running LilyPond on thousands on examples). I say this because Denemo is built overnight for three targets with (son of) GUB, and that involves not only building LilyPond but also Gtk, Fluidsynth, PortAudio, PortMidi and quite a few other packages. (But not the LilyPond documentation, which, out of idleness with respect to setting it up, I always access online). Richard ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Question: Cross compilation
Chris Yatewrites: > On Mon, 26 Sep 2016 at 19:34 David Kastrup wrote: > >> >> That's pretty good, actually. Not being able to do native/online >> compilations by anybody wanting to is bad. Yes. Fixes to GUB (possibly >> even just to its information/documentation, maybe it _can_ do it >> already) are of course welcome: > > > David, > > At a brief look over GUB, the really big question in my mind is why on > earth it seems to want to build *everything*. It wants to be _able_ to build everything, like autoconf. > A Lilypond build tool for all platforms = a great idea. > A Lilypond build tool for all platforms to which someone's added half a > dozen extra unrelated targets (possibly very large ones such as OpenOffice) > = a terrible idea. You don't need to touch or maintain or use the OpenOffice rules. > If I did anything to "fix" it, it would be to strip it right back to a > tool that does _one_ job well. And I don't know whether that's likely > to be popular thing (although correct me if I'm wrong there)... I don't see the point. It won't build OpenOffice unless you ask it to. > ... because IMHO a build tool that takes 24+ hours to rebuild after > making tweaks to it --and that's on a high spec machine-- is not a > very useful tool. You'll find that none of the 24+ hours are spent in relation to OpenOffice. The OpenOffice configuration affects the download size of GUB, but that's a one-time cost and rather small. -- David Kastrup ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Question: Cross compilation
On Mon, 26 Sep 2016 at 23:05 Chris Yatewrote: > On Mon, 26 Sep 2016 at 19:34 David Kastrup wrote: > >> >> That's pretty good, actually. Not being able to do native/online >> compilations by anybody wanting to is bad. Yes. Fixes to GUB (possibly >> even just to its information/documentation, maybe it _can_ do it >> already) are of course welcome: > > > David, > > At a brief look over GUB, the really big question in my mind is why on > earth it seems to want to build *everything*. ... > All this said, it looks like the task of slimming it down for one's own preferred build configurations (in my case, mingw builds, and with a custom lilypond git repo) is simply a case of changing some definitions in the Makefile(s). That probably is not too troublesome for anyone that's confident to start hacking something like Lilypond in the first place... Chris ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Question: Cross compilation
On Mon, 26 Sep 2016 at 19:34 David Kastrupwrote: > > That's pretty good, actually. Not being able to do native/online > compilations by anybody wanting to is bad. Yes. Fixes to GUB (possibly > even just to its information/documentation, maybe it _can_ do it > already) are of course welcome: David, At a brief look over GUB, the really big question in my mind is why on earth it seems to want to build *everything*. A Lilypond build tool for all platforms = a great idea. A Lilypond build tool for all platforms to which someone's added half a dozen extra unrelated targets (possibly very large ones such as OpenOffice) = a terrible idea. If I did anything to "fix" it, it would be to strip it right back to a tool that does _one_ job well. And I don't know whether that's likely to be popular thing (although correct me if I'm wrong there)... ... because IMHO a build tool that takes 24+ hours to rebuild after making tweaks to it --and that's on a high spec machine-- is not a very useful tool. Chris ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Question: Cross compilation
On 26 Sep 2016 20:16, "Phil Holmes"wrote: > > TBH, you'd probably find it far easier to install a Linux VM on your Windows host, and compile the problematic score on that. I've done both, and what I suggest here is what I would do. That's exactly what I've done - I do a lot of my day job with Virtual Machines. But... ... I generally use Frescobaldi as an IDE for Lilypond work - and that works very much better in Windows (better integration with midi, pdf viewer as well as printers etc.), and there's available installers for the latest versions. Ubuntu's packaged version is ancient, and the one I built has all sorts of problems. That said, it is almost certainly the path of least resistance to fix Frescobaldi on Linux than fix Lilypond in Windows!! > I also used Sibelius - for my college course. I always now use LilyPond in preference. IMO, Lilypond produces somewhat better looking output (with at least a little care), and as a software engineer I really rate being able to source-control my files properly. Everything's in git... Chris ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Question: Cross compilation
TBH, you'd probably find it far easier to install a Linux VM on your Windows host, and compile the problematic score on that. I've done both, and what I suggest here is what I would do. I also used Sibelius - for my college course. I always now use LilyPond in preference. -- Phil Holmes - Original Message - From: Chris Yate To: David Kastrup Cc: Phil Holmes ; Lilypond-User Mailing List Sent: Monday, September 26, 2016 7:48 PM Subject: Re: Question: Cross compilation On Mon, 26 Sep 2016 at 19:34 David Kastrup <d...@gnu.org> wrote: Chris Yate <chrisy...@gmail.com> writes: > Hi Phil, > > Sigh... Yes, that's basically the conclusion I'd already come to, but that > it seemed such a ludicrous state of affairs that _somebody_ must have a > better solution. If you can find _any_ free software project requiring a number of free software compile- and runtime dependencies that does not invest a really big amount of time into maintaining a separate Windows port, you might want to look how they are doing it. Thanks David. If the answer to my question is "no, there's no other way", that's still a useful answer! :) To be fair, I think the projects that do work across many systems are usually not using C++, but some other language that's more portable. Probably something interpreted, or running on a VM. And of course, Lilypond has a bunch of dependencies, TexMf, Guile and the like, which may be more of a portability problem than /our/ code. In contrast, the LilyPond Windows releases appear at the same time as other releases and require no extra manual effort (until things go wrong, of course). That's pretty good, actually. Agreed! Not being able to do native/online compilations by anybody wanting to is bad. Yes. Fixes to GUB (possibly even just to its information/documentation, maybe it _can_ do it already) are of course welcome GUB is a really good idea. But obviously it's not great having to compile the whole thing to change a source repository... If its authors followed the mentality of Gnu autoconf tools, you'd expect to be able to pass some arguments in. I'll look into it a little. Chris ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Question: Cross compilation
Chris Yatewrites: > On Mon, 26 Sep 2016 at 19:34 David Kastrup wrote: > >> Chris Yate writes: >> >> > Hi Phil, >> > >> > Sigh... Yes, that's basically the conclusion I'd already come to, but >> that >> > it seemed such a ludicrous state of affairs that _somebody_ must have a >> > better solution. >> >> If you can find _any_ free software project requiring a number of free >> software compile- and runtime dependencies that does not invest a really >> big amount of time into maintaining a separate Windows port, you might >> want to look how they are doing it. >> > > Thanks David. If the answer to my question is "no, there's no other way", > that's still a useful answer! :) > > To be fair, I think the projects that do work across many systems are > usually not using C++, but some other language that's more portable. LilyPond and its utilities use C++, Guile (both as standalone executable and as one of _many_ libraries), Ghostscript, Python, Shell scripts and probably a few other things. C++ alone is not all that hard, except that it does not buy you an installer. > Probably something interpreted, or running on a VM. And of course, > Lilypond has a bunch of dependencies, TexMf, Guile and the like, which > may be more of a portability problem than /our/ code. Maybe, maybe not, but it adds up. That's what I meant with "a number of free software compile- and runtime dependencies". > GUB is a really good idea. But obviously it's not great having to > compile the whole thing to change a source repository... If its > authors followed the mentality of Gnu autoconf tools, you'd expect to > be able to pass some arguments in. I'll look into it a little. It may well be possible, but I don't really know myself where to get a good roadmap. -- David Kastrup ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Question: Cross compilation
On Mon, 26 Sep 2016 at 19:34 David Kastrupwrote: > Chris Yate writes: > > > Hi Phil, > > > > Sigh... Yes, that's basically the conclusion I'd already come to, but > that > > it seemed such a ludicrous state of affairs that _somebody_ must have a > > better solution. > > If you can find _any_ free software project requiring a number of free > software compile- and runtime dependencies that does not invest a really > big amount of time into maintaining a separate Windows port, you might > want to look how they are doing it. > Thanks David. If the answer to my question is "no, there's no other way", that's still a useful answer! :) To be fair, I think the projects that do work across many systems are usually not using C++, but some other language that's more portable. Probably something interpreted, or running on a VM. And of course, Lilypond has a bunch of dependencies, TexMf, Guile and the like, which may be more of a portability problem than /our/ code. In contrast, the LilyPond Windows releases appear at the same time as > other releases and require no extra manual effort (until things go > wrong, of course). That's pretty good, actually. Agreed! Not being able to do native/online compilations by anybody wanting to is > bad. Yes. Fixes to GUB (possibly even just to its > information/documentation, maybe it _can_ do it already) are of course > welcome GUB is a really good idea. But obviously it's not great having to compile the whole thing to change a source repository... If its authors followed the mentality of Gnu autoconf tools, you'd expect to be able to pass some arguments in. I'll look into it a little. Chris ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Question: Cross compilation
Chris Yatewrites: > Hi Phil, > > Sigh... Yes, that's basically the conclusion I'd already come to, but that > it seemed such a ludicrous state of affairs that _somebody_ must have a > better solution. If you can find _any_ free software project requiring a number of free software compile- and runtime dependencies that does not invest a really big amount of time into maintaining a separate Windows port, you might want to look how they are doing it. But in my experience, stuff like Git are typical: the Windows port lags several versions behind, is separately maintained with a lot of effort by separate volunteers (who get rather gruff over time), and is of mixed quality. In contrast, the LilyPond Windows releases appear at the same time as other releases and require no extra manual effort (until things go wrong, of course). That's pretty good, actually. Not being able to do native/online compilations by anybody wanting to is bad. Yes. Fixes to GUB (possibly even just to its information/documentation, maybe it _can_ do it already) are of course welcome: we have pretty low active expertise on its innards on the list, and those who use it for building releases mostly drive on autopilot. -- David Kastrup ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Question: Cross compilation
Hi Phil, Sigh... Yes, that's basically the conclusion I'd already come to, but that it seemed such a ludicrous state of affairs that _somebody_ must have a better solution. I've just installed mingw on Ubuntu, which might possibly do the job... At the moment my scores have a habit of crashing at line 1180 in page-breaking.cc when an assertion is thrown; that only happens under Windows. And I reckon I can now see why it hasn't been investigated seriously by anyone!! (although it's possible it could be an issue with one of Lilypond's library dependencies.). It should not be so difficult to work on open source stuff on any platform. And it's not Microsoft's fault, presumably a lack of demand... (I'm not blaming anybody here, by the way.) In terms of the time I've wasted, I'm fairly seriously considering that I might buy Sibelius and be done with it. Given that most of my colleagues in music expect me to be able to send them .sib files to share, it's probably inevitable. Shame. Chris On Mon, 26 Sep 2016 at 19:10 Phil Holmeswrote: > Gub uses http://git.savannah.gnu.org/cgit/lilypond.git as its source. I > know of no way of changing that without a lot of effort changing its > codebase. I personally know of no simple way of cross-compiling LilyPond > for Windows without using Gub as the tool. However, you can (in principle) > create your own branch on Savannah and use Gub to compile against that (see > http://git.savannah.gnu.org/cgit/lilypond.git/log/?h=dev/philh for an > example of something I'm trying to debug at present). You'll need a big > old machine or a lot of patience to get it working - I occasionally have > compile time of the order of 24 hours on a Core i7 quad core system. > > HTH > > -- > Phil Holmes > > > > - Original Message - > *From:* Chris Yate > *To:* Lilypond-User Mailing List > *Sent:* Monday, September 26, 2016 6:54 PM > *Subject:* Question: Cross compilation > > Hi all, > > Apologies for the potentially "blindingly obvious" question, bu't having > read the devel webpages about compiling Lilypond for mingw/Windows, I'm > none the wiser. > > I can compile for native linux using the gnu make (via the > smart-autoconf.sh script). However, I'm trying to track down a crash in > Windows, and according to the website/docs it's impossible to compile > natively* -- so need a cross-compile. > > I note the existance of "GUB", but this appears to use the main repository > as source**. But obviously, I need to compile from my working copy after > I've put a bunch of tracing code in. > > This document > http://www.gnu.org/software/lilypond/src/Developers/Packaging/windows.html > appears > to be out of date. I found "janneke"'s patches at > http://lilypond.org/people/janneke/software/cygwin/mknetrel/ but it's not > clear from where mknetrel itself should be obtained. > > My dev environment is Ubuntu 16 (or 14). Any hints or tips or redirection > towards the relevant instructions would be welcome! > > Chris > > --- > > * assuming the statement about compiling natively under Windows _does_not_ > refer to using mingw gnu make, rather than some other compiler...?? > > ** I'm not sure about that; but in any case it fails at configuring > mingw::fontconfig so that may be the first problem to solve. Error below > --- > . > configure: error: Package requirements (freetype2) were not met: > > Package zlib was not found in the pkg-config search path. > Perhaps you should add the directory containing `zlib.pc' > to the PKG_CONFIG_PATH environment variable > Package 'zlib', required by 'FreeType 2', not found > > > > > -- > > ___ > lilypond-user mailing list > lilypond-user@gnu.org > https://lists.gnu.org/mailman/listinfo/lilypond-user > > ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Question: Cross compilation
Gub uses http://git.savannah.gnu.org/cgit/lilypond.git as its source. I know of no way of changing that without a lot of effort changing its codebase. I personally know of no simple way of cross-compiling LilyPond for Windows without using Gub as the tool. However, you can (in principle) create your own branch on Savannah and use Gub to compile against that (see http://git.savannah.gnu.org/cgit/lilypond.git/log/?h=dev/philh for an example of something I'm trying to debug at present). You'll need a big old machine or a lot of patience to get it working - I occasionally have compile time of the order of 24 hours on a Core i7 quad core system. HTH -- Phil Holmes - Original Message - From: Chris Yate To: Lilypond-User Mailing List Sent: Monday, September 26, 2016 6:54 PM Subject: Question: Cross compilation Hi all, Apologies for the potentially "blindingly obvious" question, bu't having read the devel webpages about compiling Lilypond for mingw/Windows, I'm none the wiser. I can compile for native linux using the gnu make (via the smart-autoconf.sh script). However, I'm trying to track down a crash in Windows, and according to the website/docs it's impossible to compile natively* -- so need a cross-compile. I note the existance of "GUB", but this appears to use the main repository as source**. But obviously, I need to compile from my working copy after I've put a bunch of tracing code in. This document http://www.gnu.org/software/lilypond/src/Developers/Packaging/windows.html appears to be out of date. I found "janneke"'s patches at http://lilypond.org/people/janneke/software/cygwin/mknetrel/ but it's not clear from where mknetrel itself should be obtained. My dev environment is Ubuntu 16 (or 14). Any hints or tips or redirection towards the relevant instructions would be welcome! Chris --- * assuming the statement about compiling natively under Windows _does_not_ refer to using mingw gnu make, rather than some other compiler...?? ** I'm not sure about that; but in any case it fails at configuring mingw::fontconfig so that may be the first problem to solve. Error below --- . configure: error: Package requirements (freetype2) were not met: Package zlib was not found in the pkg-config search path. Perhaps you should add the directory containing `zlib.pc' to the PKG_CONFIG_PATH environment variable Package 'zlib', required by 'FreeType 2', not found -- ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user