Alo Sarv
lead developer

Donate via

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

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:

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?