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, May 03, 2005

Static binary available; hasher fixes

Well, you asked for it, here it is - static binaries are now available for x86-linux:
hydranode-02-05-05-linux-x86.tar.bz2 (1.5mb packed, 4.2mb unpacked)
hydranode-02-05-05.tar.gz (1002kb, source code)

Special thanks to bisley for providing additional hosting space; while eventually we'll be using SF for releases, it's useful to have additional mirrors and keep load off the main server. So, thanks :)

The static binary has ed2k and hnsh modules built-in. Additionally, it is impossible to load additional dynamic modules into a static binary (not that there are any other workable modules ready yet, but just so you know).

So, those that haven't tested hydranode yet due to compile times and/or other reasons, there - now you can test it :). While the binary doesn't contain any debugging information (static binary with full debugging info is 97MB), it should (usually) print out automatic stack trace on it's own on crashes.


On other news, I rewrote IO handling in hasher, which now also uses C library calls for reading files (as you might recall, we discovered a while ago that GCC versions 3.4 lacked 64bit support in iostreams library). Hashing, sharing, and downloading of files >2gb should now work flawlessly when compiling with older gcc versions (e.g. 3.2 and 3.3 - anything below 3.2 can't compile hydranode anyway).

Madcat, ZzZz

PS: Tweaked hnshell code slightly, which now allows piping commands to it via "netcat" (or similar) utilities. Example usage can be seen in utils/ script, which sends it's arguments to hydranode shell (prepending it with "download" command). This one-liner can be used to implement, say, ed2k:// links assoc in browser, by passing them to that script. This means you can now write bash scripts to send commands to hnshell. Enjoy :)
PPS: No, this last change (hnsh stuff) is not included in the binaries uploaded earlier.

My "g++ (GCC) 3.3.4 (pre 3.3.5 20040809)" from SuSE Linux 9.2 has 64-bit IO support! I tested it by "" test.
Hint: If you want to remove debug info from a binaries try the "strip".
The test found at is not proper/conclusive. The issue is std::streamoff type, which must be able to hold 64bits, but is declared as 32-bit variable on GCC 3.3 (and possibly 3.2) series. A proper test is available here:

Compile this with -D _FILE_OFFSET_BITS=64. Compile-time error is generated if large-file support isn't enabled properly.

Meant 32bit TYPE, not variable in previous post ofcourse.
Post a Comment

<< Home

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