Re: GUB buiding from a local source tree?
Op donderdag 14-01-2010 om 09:49 uur [tijdzone -0500], schreef Boris Shingarov: But right now, we are not even there, as even simply building the current official head from the main lilypond repository, does not work. It hangs when trying to download from the standard url: Why do you think that? $ make -f lilypond.make lilypond-installers python bin/gub --platform=linux-64 'git://git.sv.gnu.org/lilypond.git?branch=master' mingw::'git://git.sv.gnu.org/lilypond.git?branch=master' calculating dependencies cd: 1: can't cd to /home/boris/work/lilypond/gub/gub/downloads/lilypond/git Yes, these are slightly annoying, possibly we should remove these warnings. The LilyPond source tree hasn't been cloned, so on initial run, you get this. ^C Hmm, impatient, are we? ;-) It's interesting how you quote this message, but it seems that you nor anyone else read it? Look at the command that you assume to be hanging: Tail of log/gub.log invoking cd . git clone --depth 10 --bare git://git.sv.gnu.org/lilypond.git /home/boris/work/lilypond/gub/gub/downloads/lilypond/git you really should give this some time; if it really hangs you'll have to debug that yourself, ie firewall, http_proxy. HTH Greetings, Jan. -- Jan Nieuwenhuizen jann...@gnu.org | GNU LilyPond - The music typesetter Avatar®: http://AvatarAcademy.nl| http://lilypond.org ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: GUB buiding from a local source tree?
Quoting Graham Percival gra...@percival-music.ca: I'm completely serious. My GUB tree is *filled* with ugly hacks like this. It would be nice if they weren't needed, but it'll probably take 20-50 more hours of work until this is the case. Oh, I completely understand this. And this is the exact reason why I am asking questions, because when the code is this rough, there are things that are better to just ask, rather than to try to figure out why -- because we are not dealing with something finished but a thought-in-progress. If you're frustrated already, then I honestly think you should give up now, because it will only get worse from now on I completely realize what kind of complexity we are talking about. And no, I am not at all frustrated. Not from a technical viewpoint anyway. But for me the whole thing about GUB is driven by the organizational side: as a developer, I am completely happy with the Linux development platform, and am much more interested in furthering Lilypond rather than trying to deploy it on a platform I don't even use. But then there is the end-users who want to see it on Windows, but then again they want to see progress in Lilypond development, and the prospect of losing weeks to porting to Windows, makes them want to reconsider their platform preferences. We'll see. As I already said, at this point it's about organizational questions, not technical ones. Boris Shingarov Work on Lilypond under grant from Sonus Paradisi / Jiri Zurek (Prague), Czech Science Foundation, Project No. 401/09/0419 ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: GUB buiding from a local source tree?
On Wed, Jan 20, 2010 at 11:01:24AM -0500, Boris Shingarov wrote: But for me the whole thing about GUB is driven by the organizational side: as a developer, I am completely happy with the Linux development platform, and am much more interested in furthering Lilypond rather than trying to deploy it on a platform I don't even use. But then there is the end-users who want to see it on Windows, but then again they want to see progress in Lilypond development, and the prospect of losing weeks to porting to Windows, makes them want to reconsider their platform preferences. 2.13 releases happen approximately every two weeks. If there's more development, I'm happy to reduce that to every week. If there's a *lot* of development, and no (or few) broken regtests, I wouldn't mind doing it twice a week. Granted, this is all based on patches accepted to the main repository, and such patches need to go through extra scrutiny and discussion. If you're doing a lot of rough hacking, without a lot of thought about code style or unintended side effects, then releases from master won't help you. But if you do careful, quality work, then the extra scrutiny from developers won't be a big hurdle, and your patches will be accepted into master. In that case, you wouldn't need to fuss with GUB at all; I could make the releases as appropriate, and your collaborators / end-users could just use the regular 2.13.x mingw versions. Cheers, - Graham ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: GUB buiding from a local source tree?
On Wed, Jan 13, 2010 at 9:36 PM, Boris Shingarov b...@shingarov.com wrote: Oh, and make sure you're using the latest GUB; IIRC there are 2 or 3 different git repositories floating around. You want the one at github. git://github.com/janneke/gub.git -- this one, right? Yes. I believe you'll want something like make -f lilypond.make LILYPOND_REPO=/location/of/your/tree lilypond Looks like LILYPOND_REPO was removed from recent revisions? Didn't you read the part where I said you had to read the source, and that there was probably something wrong in the above line? Line 17 of lilypond.make is: LILYPOND_REPO_URL=git://git.sv.gnu.org/lilypond.git That's not hard to find, and I think it's pretty clear that this is what I meant. Now, I don't guarantee that it'll work, but that's a separate issue. - Graham ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: GUB buiding from a local source tree?
Quoting Graham Percival gra...@percival-music.ca: Didn't you read the part where I said you had to read the source, and that there was probably something wrong in the above line? Line 17 of lilypond.make is: LILYPOND_REPO_URL=git://git.sv.gnu.org/lilypond.git That's not hard to find, and I think it's pretty clear that this is what I meant. That's the very first thing I found, but that's NOT what you were talking about in the first e-mail. It is LILYPOND_REPO, which is a separate variable. You see, I read both the head revision and 2.11.64-1, and they both contain LILYPOND_REPO_URL. But 2.11.64-1 contains LILYPOND_REPO as well as LILYPOND_REPO_URL, and it is LILYPOND_REPO that got removed. Now, my real question is, does LILYPOND_REPO_URL help, i.e. did it absorb the functionality which used to be achieved via LILYPOND_REPO. My understanding is that LILYPOND_REPO_URL is passed as an argument to git, and then the easiest way is to create a local git server and commit the changes to it. But right now, we are not even there, as even simply building the current official head from the main lilypond repository, does not work. It hangs when trying to download from the standard url: $ make -f lilypond.make lilypond-installers python bin/gub --platform=linux-64 'git://git.sv.gnu.org/lilypond.git?branch=master' mingw::'git://git.sv.gnu.org/lilypond.git?branch=master' calculating dependencies cd: 1: can't cd to /home/boris/work/lilypond/gub/gub/downloads/lilypond/git read_pipe failed: cd /home/boris/work/lilypond/gub/gub/downloads/lilypond/git git show git.sv.gnu.org/lilypond.git/master:VERSION cd: 1: can't cd to /home/boris/work/lilypond/gub/gub/downloads/lilypond/git read_pipe failed: cd /home/boris/work/lilypond/gub/gub/downloads/lilypond/git git show git.sv.gnu.org/lilypond.git/master:VERSION cd: 1: can't cd to /home/boris/work/lilypond/gub/gub/downloads/lilypond/git read_pipe failed: cd /home/boris/work/lilypond/gub/gub/downloads/lilypond/git git show git.sv.gnu.org/lilypond.git/master:VERSION ^C Tail of log/gub.log Running read_pipe ('cd /home/boris/work/lilypond/gub/gub/downloads/lilypond/git git show git.sv.gnu.org/lilypond.git/master:VERSION',) {'ignore_errors': False, 'env': {'PATH': '/home/boris/work/lilypond/gub/gub/target/tools/root/usr/bin:/home/boris/work/lilypond/gub/gub/target/tools/root/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/cuda/bin:/usr/jdk1.6.0_10/bin:/usr/local/cuda/bin:/usr/jdk1.6.0_10/bin', 'LD_LIBRARY_PATH': '/home/boris/work/lilypond/gub/gub/target/tools/root/usr/lib'}} invoking cd . git clone --depth 10 --bare git://git.sv.gnu.org/lilypond.git /home/boris/work/lilypond/gub/gub/downloads/lilypond/git Tail of log/gub.log Traceback (most recent call last): File bin/gub, line 233, in exceptional_build build (settings, options, files) File bin/gub, line 199, in build specs[name].download () File bin/../gub/build.py, line 242, in download logging.default_logger.write_log (self.stage_message ('download'), File bin/../gub/build.py, line 108, in stage_message env=locals ()) File bin/../gub/context.py, line 179, in expand d = self.get_substitution_dict (env) File bin/../gub/target.py, line 182, in get_substitution_dict d = build.AutoBuild.get_substitution_dict (self, dict).copy () File bin/../gub/build.py, line 232, in get_substitution_dict d = context.RunnableContext.get_substitution_dict (self, dict).copy () File bin/../gub/context.py, line 146, in get_substitution_dict self._substitution_dict = self.get_constant_substitution_dict () File bin/../gub/context.py, line 125, in get_constant_substitution_dict val = method () File bin/../gub/build.py, line 260, in source_checksum return self.source.checksum () File bin/../gub/repository.py, line 657, in checksum self.download () File bin/../gub/repository.py, line 639, in download self.git ('clone --depth 10 --bare %(source)s %(dir)s' % locals (), dir='.') File bin/../gub/repository.py, line 605, in git ignore_errors=ignore_errors, env=self.get_env ()) File bin/../gub/repository.py, line 213, in logged return loggedos_func (self.logger, *args, **kwargs) File bin/../gub/loggedos.py, line 80, in system line = proc.stdout.readline () KeyboardInterrupt make: *** [packages] Error 1 ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: GUB buiding from a local source tree?
On Thu, Jan 14, 2010 at 2:49 PM, Boris Shingarov b...@shingarov.com wrote: That's the very first thing I found, but that's NOT what you were talking about in the first e-mail. It is LILYPOND_REPO, which is a separate variable. And I said I was guessing. You see, I read both the head revision and 2.11.64-1, and they both contain LILYPOND_REPO_URL. But 2.11.64-1 contains LILYPOND_REPO as well as LILYPOND_REPO_URL, and it is LILYPOND_REPO that got removed. Ok. No clue why. Take a look at the commit messages; they might suggest something. Or they might not. *shrug* Now, my real question is, does LILYPOND_REPO_URL help, i.e. did it absorb the functionality which used to be achieved via LILYPOND_REPO. No clue. Try reading the source, try running it a few times, try adding extra print commands to the python, try running it again. I'm not trying to be unhelpful here. The fact is that GUB is extremely complicated (almost 20,000 lines of python!), and not really understood by most people. A few lilypond developers have tried running GUB, and they all failed. I'm the only lilypond developer other than Han-Wen and Jan that's gotten this to work, and I have spent literally over 100 hours in the past few months on this task. But right now, we are not even there, as even simply building the current official head from the main lilypond repository, does not work. Ok. Then let's stop thinking about changing the repo, and get this to work. It hangs when trying to download from the standard url: $ make -f lilypond.make lilypond-installers Try doing make lilypond first. Yes, lilypond-installers should probably depend on building lilypond, but I'm not at all certain that it does,. cd: 1: can't cd to /home/boris/work/lilypond/gub/gub/downloads/lilypond/git Ok. If make lilypond doesn't work, then try creating this directory manually. I'm completely serious. My GUB tree is *filled* with ugly hacks like this. It would be nice if they weren't needed, but it'll probably take 20-50 more hours of work until this is the case. As I said earlier, GUB is extremely complicated and not for the faint of heart. If you're frustrated already, then I honestly think you should give up now, because it will only get worse from now on. If you feel like cursing me and Jan for not fixing obvious problems, then I also think it would be best if you gave up now, because it will only get worse from now on. I wish I could be more encouraging, but I can't. I can't even promise that I'll respond promptly to other problems you have, because there's a lot of jobs I need to do, and this isn't the most critical. On the other hand, if you keep careful notes of problems and how to solve them, and ideally also create patches to fix them, then it'll help the *next* person who tries to use GUB. Good luck, - Graham ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: GUB buiding from a local source tree?
By the way, do you have a good reason to build using GUB anyway? If you just want to build and install LilyPond on your own machine, it's by far much easier to just build LilyPond directly. I did actually manage to use GUB some year ago, when I wanted to try some patches on the Windows installer, but there have been probably been tons of changes to GUB since then. /Mats Graham Percival wrote: On Thu, Jan 14, 2010 at 2:49 PM, Boris Shingarov b...@shingarov.com wrote: That's the very first thing I found, but that's NOT what you were talking about in the first e-mail. It is LILYPOND_REPO, which is a separate variable. And I said I was guessing. You see, I read both the head revision and 2.11.64-1, and they both contain LILYPOND_REPO_URL. But 2.11.64-1 contains LILYPOND_REPO as well as LILYPOND_REPO_URL, and it is LILYPOND_REPO that got removed. Ok. No clue why. Take a look at the commit messages; they might suggest something. Or they might not. *shrug* Now, my real question is, does LILYPOND_REPO_URL help, i.e. did it absorb the functionality which used to be achieved via LILYPOND_REPO. No clue. Try reading the source, try running it a few times, try adding extra print commands to the python, try running it again. I'm not trying to be unhelpful here. The fact is that GUB is extremely complicated (almost 20,000 lines of python!), and not really understood by most people. A few lilypond developers have tried running GUB, and they all failed. I'm the only lilypond developer other than Han-Wen and Jan that's gotten this to work, and I have spent literally over 100 hours in the past few months on this task. But right now, we are not even there, as even simply building the current official head from the main lilypond repository, does not work. Ok. Then let's stop thinking about changing the repo, and get this to work. It hangs when trying to download from the standard url: $ make -f lilypond.make lilypond-installers Try doing make lilypond first. Yes, lilypond-installers should probably depend on building lilypond, but I'm not at all certain that it does,. cd: 1: can't cd to /home/boris/work/lilypond/gub/gub/downloads/lilypond/git Ok. If make lilypond doesn't work, then try creating this directory manually. I'm completely serious. My GUB tree is *filled* with ugly hacks like this. It would be nice if they weren't needed, but it'll probably take 20-50 more hours of work until this is the case. As I said earlier, GUB is extremely complicated and not for the faint of heart. If you're frustrated already, then I honestly think you should give up now, because it will only get worse from now on. If you feel like cursing me and Jan for not fixing obvious problems, then I also think it would be best if you gave up now, because it will only get worse from now on. I wish I could be more encouraging, but I can't. I can't even promise that I'll respond promptly to other problems you have, because there's a lot of jobs I need to do, and this isn't the most critical. On the other hand, if you keep careful notes of problems and how to solve them, and ideally also create patches to fix them, then it'll help the *next* person who tries to use GUB. Good luck, - Graham ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel -- = Mats Bengtsson Signal Processing School of Electrical Engineering Royal Institute of Technology (KTH) SE-100 44 STOCKHOLM Sweden Phone: (+46) 8 790 8463 Fax: (+46) 8 790 7260 Email: mats.bengts...@ee.kth.se WWW: http://www.s3.kth.se/~mabe = ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: GUB buiding from a local source tree?
By the way, do you have a good reason to build using GUB anyway? Because I read on the maillist that it was not possible to do a native build of lilypond for win32. ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: GUB buiding from a local source tree?
On Thu, Jan 14, 2010 at 3:56 PM, Boris Shingarov b...@shingarov.com wrote: By the way, do you have a good reason to build using GUB anyway? Because I read on the maillist that it was not possible to do a native build of lilypond for win32. Umm. It would be *way*, ***way*** easier to download lilybuntu and do a normal compile in there. If that's not possible for whatever reason, then I would try it in cygwin next. You'll probably need to install a bunch of dependencies inside cygwin (manually compiling from source), but that's still easier. I really don't think you want to mess with GUB. Cheers, - Graham ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: GUB buiding from a local source tree?
Umm. It would be *way*, ***way*** easier to download lilybuntu and do a normal compile in there Then I probably had misunderstood the purpose of Lilybuntu -- I thought this was for people who did not have a real linux setup for doing lilypond development -- like, having all the prerequisites in place etc. For *development*, I am completely fine and happy. It's that I am now happy with the development results and need to deploy, and the ultimate users do not use linux. How does lilybuntu produce the win32 binary anyway? wouldn't it need to do the exact same crosscompile as what would happen in a physical ubuntu box? ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: GUB buiding from a local source tree?
On Thu, Jan 14, 2010 at 4:17 PM, Boris Shingarov b...@shingarov.com wrote: Umm. It would be *way*, ***way*** easier to download lilybuntu and do a normal compile in there Then I probably had misunderstood the purpose of Lilybuntu -- I thought this was for people who did not have a real linux setup for doing lilypond development -- like, having all the prerequisites in place etc. For *development*, I am completely fine and happy. It's that I am now happy with the development results and need to deploy, and the ultimate users do not use linux. How does lilybuntu produce the win32 binary anyway? wouldn't it need to do the exact same crosscompile as what would happen in a physical ubuntu box? I see. Well, if you are determined to build executables for win32, then GUB is the only way. I welcome more help with it, but my warnings still stand. My initial guess is that it will take 10 hours to build a win32 installer (called mingw in gub) using the standard method. To build from your own git tree, I estimate another 5 hours after the standard installer is working. The next step is to try make lilypond and see if/when it breaks. Good luck! - Graham ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: GUB buiding from a local source tree?
A few more thoughts: - you can build just the mingw installer by doing bin/gub mingw::lilypond-installer - you can also give it a different git repo, and presumably a file location(?), on the command-line, but I can't remember the syntax. - the release work chapter of the CG in git (*NOT* online) has some more hints about using GUB. IIRC it even has the different-git-url thingie. - that said, the bin/gub lilypond-installer command will currently *always* use the master branch from the default lilypond repo. I've sent a patch to Jan that fixes it, but I don't know when or if it'll be accepted. I think I sent it 1-3 days ago, and it was CC'd to -devel, so if you look at my emails during that period you should be able to find it and add it to your local gub git repo. Cheers, - Graham ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
GUB buiding from a local source tree?
Hi, How do I tell GUB to build Lilypond from a modified source tree which I have locally, instead of getting it from git? In general, where is the best place to start reading more on GUB, the info on the GUB page is very sketchy, and GUB-related messages on lilypond-devel seem far apart and browsing the list archive for a while, did not get me very far. My immediate need is to test out my patches on the mingw platform. ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: GUB buiding from a local source tree?
On Wed, Jan 13, 2010 at 02:51:47PM -0500, Boris Shingarov wrote: How do I tell GUB to build Lilypond from a modified source tree which I have locally, instead of getting it from git? Wow, you're brave! Look at lilypond.make; I believe you'll want something like make -f lilypond.make LILYPOND_REPO=/location/of/your/tree lilypond but I'm almost positive the command is slightly different. In general, where is the best place to start reading more on GUB, The source code. Sorry, but that's it. Well, there's the README file in the gub dir, but other than that, read the source. The most important makefiles are lilypond.make and gub.make. These tend to set up some variables, then call bin/gub ... to do stuff. bin/gub is a python program. Main python stuff is in gub/*.py. Individual programs are in gub/specs/*.py Oh, and make sure you're using the latest GUB; IIRC there are 2 or 3 different git repositories floating around. You want the one at github. Good luck! - Graham ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: GUB buiding from a local source tree?
Oh, and make sure you're using the latest GUB; IIRC there are 2 or 3 different git repositories floating around. You want the one at github. git://github.com/janneke/gub.git -- this one, right? I believe you'll want something like make -f lilypond.make LILYPOND_REPO=/location/of/your/tree lilypond Looks like LILYPOND_REPO was removed from recent revisions? I can see it being in lilypond.make as of 2.11.64-1: http://github.com/janneke/gub/blob/build/lilypond-gub/2.11.64-1/lilypond.make but simple 'git clone git://github.com/janneke/gub.git' ends up with a revision not having it. ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel