Subject: Gem builder cannot handle gemspec larger than 64K
WHAT HAPPENED
My gem has a LOT of files. (All of SproutCore). The generated gemspec is normally 96K or so. I am attaching it here. When I try to submit this gem for building, I get an error like this:
The gem build system failed with the following error:
No such file or directory - spec/bui
So I edit the gemspec to remove some files, try again, and I get:
The gem build system failed with the following error:
No such file or directory - spec/buildtasks/man
So I edit the gemspec again to remove more files and try again and I get:
The gem build system failed with the following error:
No such file or directory - vendor/jsdoc/a
Hm. Looks like the gem builder on GitHub is just chopping off my gemspec after a certain amount. Checked my gemspecs and - sure enough - it looks like these errors all happen around 64K bytes into the gemspec.
So I edit my gemspec again. This time removing all of my unit tests and a bunch of other files that really should be in the gem but I can make do for the moment. I get it down to 60K bytes and submit again. And guess what? This time it works.
I think the Github gem builder can't handle gemspecs over a certain size (I'm guessing 64K). Maybe it's because you pass the gemspec through to your backend gem generator service, but that that's just a guess. I can't reproduce it on my machine.
- sproutcore-abbot.gemspec 94.1 KB
Comments are currently closed for this discussion. You can start a new one.
Support Staff 2 Posted by defunkt on 28 Jul, 2009 03:53 AM
Thanks for the thorough bug report, we're looking into it.
Chris
3 Posted by charles on 17 Sep, 2009 04:43 AM
Hey guys,
The Sproutcore buildfile is over 64K again. I can't trim out any more files without breaking something. Any chance you could fix this bug soon? Right now sproutcore gems on github are busted. :(
Thanks,
-Charles
Support Staff 4 Posted by Tekkub on 19 Sep, 2009 07:48 AM
The gem builder has been being a bit difficult as of late, we're going to work on it a bit after the move to Rackspace.