Alo Sarv
lead developer

Donate via
MoneyBookers

Latest Builds

version 0.3
tar.gz tar.bz2
Boost 1.33.1 Headers
MLDonkey Downloads Import Module Development
Payment completed
Development in progress.
Developer's Diary
irc.hydranode.com/#hydranode

Tuesday, April 19, 2005

64bit iostreams too much to ask? *doh* ...

I had been wondering for quite some time now why I had so much corruption recently. Some investigation showed that it appeared in >2gb downloads, post the 2gb margin, but reasons eluded me... until today, when I stumbled upon this little list post:
http://lists.debian.org/debian-gcc/2003/11/msg00110.html

Apparently, GCC 3.2 and 3.3 seem to have broken libstdc++ which does NOT implement 64bit file offsets. Since I initially tested large-file support using gcc 3.4, and only recently (and by accident) happened to compile/run hydranode regularly on 3.3-based system, I noticed it.

There aren't really any ways around it. It's fixed in 3.4, but it doesn't seem to be backported. And I cannot say "you need gcc 3.4 to compile hydranode" either, having gcc-3.2 required is already high enough. So, I simply had to go and rewrite all file IO code, using C functions instead. SharedFile and PartData now use new code, didn't get to update hasher code yet. And this definately broke win32 port, at least temporarely, since win32 has slightly different C function names for those calls. *doh*.

This will introduce a delay in the release, as much as I hate to say it, since I have to start testing all over again (and I lost 15gb partial downloads due to a typo while writing the new io code - backups are for wimps :P), so ... *doh* I'd say.

Other notes:
Madcat, ZzZz



Comments: Post a Comment



<< Home

This page is powered by Blogger. Isn't yours?