Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 92683 - net-p2p/hydranode - a modular, plugin-driven peer-to-peer client framework which is designed with true multi-network downloads in mind
Summary: net-p2p/hydranode - a modular, plugin-driven peer-to-peer client framework wh...
Status: CONFIRMED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Default Assignee for New Packages
URL: http://hydranode.com/
Whiteboard: sunrise suggested
Keywords: EBUILD
Depends on:
Blocks:
 
Reported: 2005-05-15 03:22 UTC by Gerator
Modified: 2018-06-07 18:25 UTC (History)
8 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
net-p2p/hydranode-0.1.1.ebuild (hydranode-0.1.1.ebuild,570 bytes, text/plain)
2005-05-26 03:38 UTC, Laurento Frittella (mrfree)
Details
net-p2p/hydranode-0.1.1-r1.ebuild (hydranode-0.1.1-r1.ebuild,797 bytes, text/plain)
2005-05-29 09:33 UTC, Laurento Frittella (mrfree)
Details
hydranode-0.1.2 (hydranode-0.1.2.ebuild,2.28 KB, text/plain)
2005-08-12 09:32 UTC, Tobias Ussing
Details
qt4.jam-patch for hn 0.1.2 (qt4.jam-patch,163 bytes, patch)
2005-08-12 09:36 UTC, Tobias Ussing
Details | Diff
project-root.jam-patch for hn 0.1.2 (project-root.jam-patch,96 bytes, patch)
2005-08-12 09:38 UTC, Tobias Ussing
Details | Diff
initial 0.3 ebuild - very buggy (hydranode.tar.bz2,3.38 KB, application/octet-stream)
2006-06-24 08:59 UTC, Marcin Kowalski
Details
hydranode-0.3 - a bit better. it builds and seems to work. (hydranode-0.3.tar.bz2,4.33 KB, application/octet-stream)
2006-07-01 12:16 UTC, Marcin Kowalski
Details
Ebuild with check of bjam boost flag (hydranode-0.3.ebuild,3.05 KB, text/plain)
2007-03-06 07:33 UTC, Yakov Suraev
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Gerator 2005-05-15 03:22:48 UTC
Hydranode is a P2P multinetwork framework. It is evolving fast and recently reached v0.1

At the moment only ed2k is supported but development on other modules is in progress.

Reproducible: Always
Steps to Reproduce:
1.
2.
3.
Comment 1 Laurento Frittella (mrfree) 2005-05-26 03:38:05 UTC
Created attachment 59862 [details]
net-p2p/hydranode-0.1.1.ebuild

This is my first hydranode ebuild, I've some problem with boost (I think)...
the emerge die with:

if g++ -DHAVE_CONFIG_H -I. -I. -I..  -I ../include -D_LARGE_FILES
-D_FILE_OFFSET_BITS=64 -O3 -I/usr/include/boost/ -pthread  -W -Wall
-Wno-return-type -Wno-long-long -Wpointer-arith -pedantic -DNDEBUG -DNTRACE -MT
workthread.o -MD -MP -MF ".deps/workthread.Tpo" -c -o workthread.o
workthread.cpp; \
then mv -f ".deps/workthread.Tpo" ".deps/workthread.Po"; else rm -f
".deps/workthread.Tpo"; exit 1; fi
make[3]: *** No rule to make target
`/usr/include/boost//libs/thread/src/xtime.cpp', needed by `xtime.o'.  Stop.
make[3]: Leaving directory `/root/hydranode-0.1.1/src'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/root/hydranode-0.1.1/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/root/hydranode-0.1.1'
make: *** [all] Error 2

The file '/usr/include/boost//libs/thread/src/xtime.cpp' doesn't exist (all the
dir /usr/include/boost/libs doesn't exist) but it is in the boost sources
tarball :?
Comment 2 Alo Sarv 2005-05-26 19:57:34 UTC
Hydranode configure script attempts to find a usable configuration of Boost
libraries installed on system, and falls back to built-in boost library sources
(which it looks for in --with-boost=PATH location) if no system-wide Boost
libraries are found. This behaviour is done to allow building Hydranode from
source without installing any libraries system-wide.

Hydranode ebuild should depend on Boost libraries, including multi-threaded
configurations of boost_thread, boost_program_options, boost_filesystem,
boost_date_time and boost_signals. If any of those isn't present (or they are
not multi-thread-enabled versions - SuSE 9.3, for example, ships most of them in
single-threaded configuration), the configure script refuses to use them.

Madcat.
Comment 3 Laurento Frittella (mrfree) 2005-05-29 09:33:46 UTC
Created attachment 60102 [details]
net-p2p/hydranode-0.1.1-r1.ebuild

Ok for now I don't use system wide boost-libs...

The new ebuild works, but probably we need a patch for a best cflags, ccflags,
etc. management, actually I simple use --disable-optimization (enabling this
simple add a -O3 to my flags) but seems that the configure script filter some
flags like -O2; I need to investigate...

When devs will release the first gui, we probably need a pair init.d/conf.d for
start hydranode as daemon ;)
Comment 4 Tobias Ussing 2005-08-12 09:32:49 UTC
Created attachment 65770 [details]
hydranode-0.1.2

The ebuild.
Comment 5 Tobias Ussing 2005-08-12 09:36:56 UTC
Created attachment 65771 [details, diff]
qt4.jam-patch for hn 0.1.2

This patch is used by 
65770: hydranode-0.1.2
Strictly speaking, it isn't needed right now.
But if you want to edit the ebuild and uncomment a few lines to enable QT. Then
they are needed.
Comment 6 Tobias Ussing 2005-08-12 09:38:19 UTC
Created attachment 65772 [details, diff]
project-root.jam-patch for hn 0.1.2

as with the other patch.. needed for QT4, which is currently disabled
Comment 7 Diego Elio Pettenò (RETIRED) gentoo-dev 2006-02-02 04:26:45 UTC
The ebuild in the current state will never get into portage. Please refer to http://dev.gentoo.org/~ciaranm/docs/mw-faq/ for information about how to write proper ebuilds.
Comment 8 Tobias Ussing 2006-05-06 05:06:25 UTC
Sorry, didn't check back here till now. i've added myself to the CC now.

Before wednesday i'll make an ebuild for 0.3 which supports use flag for QT(with gui).

After i have it posted here i'll see if i can find out how to do it properly so it can get into portage.

Comment 9 Simon 2006-05-06 05:18:45 UTC
id love to see hydranode in the official portage tree
Comment 10 Marcin Kowalski 2006-06-24 04:29:52 UTC
i made an ebuild for 0.3-r2998 (current release from homepage, maybe i made a typo in -r part somewhere)

my ebuild has one serious issue now - when building core and qt4 gui the gui part fails due to file permissions. but when building qt4 gui only - everything goes fine...? so i made the ebuild to use two USE flags "core" and "qt4" for building gui and core respectively.

i'll post it here in a couple of hours, right now i'm still looking for this weird error...also the install part needs some work.

just wanted to let you know that there is someone working on it :D
Comment 11 Marcin Kowalski 2006-06-24 08:59:52 UTC
Created attachment 90037 [details]
initial 0.3 ebuild - very buggy

it builds and installs, however still needs refining. 

e.g. it does not patch two bjam makefiles but copies them over. (i was lazy)

gcc4 patch is included, but applying it breaks gcc3 most probably (i didn't implement a gcc-check in the ebuild, which difnitely should be done)

when installed it cannot find its libraries which are installed in /opt/hydranode/lib. some of them collide with boost libraries (same names). 

then again, it finds its plugins in /opt/hydranode/plugins without problems ... ?

also running qt4 gui crashes the core, after a few seconds. that's probably an issue with this snapshot :/
Comment 12 Marcin Kowalski 2006-07-01 12:14:28 UTC
okay, a better version. issues with libs are resolved via LD_LIBRARY_PATH variable, and everything works. i even made some initscripts, based on those from amuled. 

still TODO:
1. gcc4 check in an ebuild. 
gcc3 probably does not support -ffriend-injector flag, which is required to build hydranode with gcc4. (in project-root.jam file, at the end). so if gcc4 is not being used - -ffriend-injector flag should not be added to project-root.jam

2. initscript needs a lot of tweaking. most importantly, core does not always start, and it has to be adjusted to use /home/p2p as its base dir.

3. gui crashes if no core is running. running core first with -b (fork to bg) parameter fixes the problem. normally gui should spawn its own core process. the pre-built version does. the compiled one does not.

4. debug version of the gui requires qt4 to be build with "debug" USE flag. i don't know how to implement it in ebuild yet.

5. project-root.jam and Jamrules files are overwritten instead of being patched.

6. source package filename is somewhat hardcoded into the ebuild

7. maybe some more.
Comment 13 Marcin Kowalski 2006-07-01 12:16:02 UTC
Created attachment 90634 [details]
hydranode-0.3 - a bit better. it builds and seems to work.
Comment 14 Jon Hood (RETIRED) gentoo-dev 2006-07-06 15:45:54 UTC
please attach the files in plain text.
Comment 15 Luca Merolla 2006-08-01 02:09:23 UTC
hydranode fails...

"g++"   -Wall -ftemplate-depth-100 -ffriend-injection -O3 -finline-functions
 -Wno-inline -fPIC -Wno-long-long -pedantic -pthread  -DBOOST_ALL_DYN_LINK=1 -DB
OOST_ALL_NO_LIB -DNDEBUG -D_CRT_SECURE_NO_DEPRECATE -D_FILE_OFFSET_BITS=64 -D_IN
TEGRAL_MAX_BITS=64 -D_LARGE_FILES -D_SCL_SECURE_NO_DEPRECATE -D__HTTP_IMPORTS__ 
 -I"." -I"/var/tmp/portage/hydranode-0.3/homedir/boost_1_33_1"  -c -o "bin/hncor
e/http/gcc/release/threading-multi/httpget.o"  "hncore/http/httpget.cpp"  

...failed gcc.compile.c++ bin/hncore/http/gcc/release/threading-multi/httpget.o.
..
...skipped <prelease>httpget for lack of <pbin/hncore/http/gcc/release/threading
-multi>httpget.o...
gcc.compile.c++ bin/hncore/gcc/release/threading-multi/main.o
cc1plus: error: unrecognized command line option "-ffriend-injection"

    "g++"   -Wall -ftemplate-depth-100 -ffriend-injection -O3 -finline-functions
 -Wno-inline -fPIC -Wno-long-long -pedantic -pthread  -DBOOST_ALL_DYN_LINK=1 -DB
OOST_ALL_NO_LIB -DNDEBUG -D_CRT_SECURE_NO_DEPRECATE -D_FILE_OFFSET_BITS=64 -D_IN
TEGRAL_MAX_BITS=64 -D_LARGE_FILES -D_SCL_SECURE_NO_DEPRECATE  -I"." -I"/var/tmp/
portage/hydranode-0.3/homedir/boost_1_33_1"  -c -o "bin/hncore/gcc/release/threa
ding-multi/main.o"  "hncore/main.cpp"  

...failed gcc.compile.c++ bin/hncore/gcc/release/threading-multi/main.o...
...skipped <prelease>hydranode for lack of <pbin/hncore/gcc/release/threading-mu
lti>main.o...
...failed updating 136 targets...
...skipped 33 targets...
...updated 63 targets...

!!! ERROR: net-p2p/hydranode-0.3 failed.
Call stack:
  ebuild.sh, line 1539:   Called dyn_compile
  ebuild.sh, line 939:   Called src_compile
  hydranode-0.3.ebuild, line 45:   Called die
Comment 16 Laurento Frittella (mrfree) 2006-08-01 03:18:00 UTC
(In reply to comment #15)
> "g++"   -Wall -ftemplate-depth-100 -ffriend-injection -O3 -finline-functions
>  -Wno-inline -fPIC -Wno-long-long -pedantic -pthread  
...
> gcc.compile.c++ bin/hncore/gcc/release/threading-multi/main.o
> cc1plus: error: unrecognized command line option "-ffriend-injection"

Check your CFLAGS!
Comment 17 Laurento Frittella (mrfree) 2006-08-01 03:20:12 UTC
Ops... sorry my mistake ;)

Check TODO list (Comment#12)...

1. gcc4 check in an ebuild. 
gcc3 probably does not support -ffriend-injector flag, which is required to
build hydranode with gcc4. (in project-root.jam file, at the end). so if gcc4
is not being used - -ffriend-injector flag should not be added to
project-root.jam

Probably this is the problem...
Comment 18 Yakov Suraev 2007-03-06 07:33:57 UTC
Created attachment 112252 [details]
Ebuild with check of bjam boost flag

Compile failed if boost compiled without bjam flag.
Check added in this ebuild.
Comment 19 Jeremy Olexa (darkside) (RETIRED) archtester gentoo-dev Security 2009-01-21 15:03:11 UTC
(this is an automated message based on filtering criteria that matched this bug)
'EBUILD' is in the KEYWORDS which should mean that there is a ebuild attached 
to this bug.
This bug is assigned to maintainer-wanted which means that it is not in the 
main tree.

Hello, The Gentoo Team would like to firstly thank you for your ebuild 
submission. We also apologize for not being able to accommodate you in a timely
manner. There are simply too many new packages.

Allow me to use this opportunity to introduce you to Gentoo Sunrise. The 
sunrise overlay[1] is a overlay for Gentoo which we allow trusted users to 
commit to and all users can have ebuilds reviewed by Gentoo devs for entry 
into the overlay. So, the sunrise team is suggesting that you look into this 
and submit your ebuild to the overlay where even *you* can commit to. =)

Because this is a mass message, we are also asking you to be patient with us. 
We anticipate a large number of requests in a short time. 

Thanks,
On behalf of the Gentoo Sunrise Team,
Jeremy.

[1]: http://www.gentoo.org/proj/en/sunrise/
[2]: http://overlays.gentoo.org/proj/sunrise/wiki/SunriseFaq