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, 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/hncmd.sh 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.



Comments:
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 "http://lists.debian.org/debian-gcc/2003/11/msg00110.html" test.
 
Hint: If you want to remove debug info from a binaries try the "strip".
 
The test found at lists.debian.org 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:
http://hydranode.com/0/testlfs.cpp

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

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



<< Home

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