[Update package] gnunet 0.9.x

Bug #836348 reported by harrykar
14
This bug affects 3 people
Affects Status Importance Assigned to Milestone
GetDeb Software Portal
Won't Fix
Medium
Christoph Korn

Bug Description

I hope that here's the right place(almost as C Korn wrote to me in past) but i'm not sure so forgive me if i'm in the wrong place.

I guess http://en.wikipedia.org/wiki/Gnunet is a worthy anon FT platform. Actually maintain a low profile and is not knowing to the most. Anyway i look around and i can't found binaries for the new release (0.9.x) incompatible with 0.8.1 in Ubuntu repos. So i decide to build GN 0.9 from their svn repo myself. Was not so funny because of libgladeui-2 (part of Gnome3 not supported officially from Ubuntu team as you know)

You can find my build trip and working binaries(for amd64) at http://forum.ubuntu-it.org/index.php/topic,473202.0.html (in it_lang). I test it for more than a month and works fine. Thx also to dudes in freenodes #gnunet chan

Was better if you can build for the masses the GN 0.9 rel so more people can take confidence with that platform

Regards
Harry Kar

Revision history for this message
harrykar (harrykar) wrote :

I forget to say that 0.8.x is actually unsupported from GN dev team and all the resources are dedicated on 0.9 rel

Christoph Korn (c-korn)
summary: - gnunet 0.9.x build request
+ [Update package] gnunet 0.9.x
Revision history for this message
Christoph Korn (c-korn) wrote :

checking for EXTRACTOR_plugin_add_defaults in -lextractor... no
configure: error: GNUnet requires libextractor

Requires a more recent library.

Changed in getdeb.net:
status: New → Won't Fix
Revision history for this message
harrykar (harrykar) wrote :

Here are the steps I followed to build gnunet 0.9 from their svn:

1. sudo apt-get install build-essential subversion checkinstall texinfo libcurl4-openssl-dev libgmp3-dev autopoint autoconf libpoppler-dev libtool
1.1 sudo apt-get build-dep libmicrohttpd5 gnunet-server libextractor1c2a

2. download & install from svn Extractor
mkdir -p $HOME/code/gnunet && cd $HOME/code/gnunet
svn checkout https://gnunet.org/svn/Extractor/ && cd Extractor
./bootstrap && ./configure --prefix=/usr && make
sudo make install
make check (optionally)

3. download & install from svn libmicrohttpd
cd $HOME/code/gnunet
svn checkout https://gnunet.org/svn/libmicrohttpd/ && cd libmicrohttpd
./bootstrap && ./configure --prefix=/usr && make
sudo make install
make check (optionally): here i get errors because probably i have something binding against the port the test is using --Although trough a netstat -a i don't see the hard coded test port 42433 in use--

4. download & install from svn gnunet
cd $HOME/code/gnunet
svn co https://gnunet.org/svn/gnunet/ && cd gnunet*
./bootstrap && ./configure --prefix=/usr && make
sudo make install
make check (optionally): here got an error because didn't set GNUNET_PREFIX

Now we have a perfectly functioning gnunet platform (without gui) with textual(cli) interface

Notes:
regard step 4. When i build it in Natty (as guest in virtualbox) --in Lucid i had no problems-- in ./configure phase i get the error:
/bin/sed: can't read /lib/x86_64-linux-gnu/libgcrypt.la: No such file or directory
libtool: link: `/lib/x86_64-linux-gnu/libgcrypt.la' is not a valid libtool archive

That's because libgcrypt.la site in /usr/lib/x86_64-linux-gnu/ in Natty and not in /lib/x86_64-linux-gnu/ where gnunet hope found it. I correlate natty's with lucid's gnunet installation and i do a symlink in natty:

sudo ln -sf /usr/lib/x86_64-linux-gnu/libgcrypt.la /lib/x86_64-linux-gnu/libgcrypt.la

next i redo ./bootstrap && ./configure --prefix=/usr && make and get the error :
gcc: /lib/x86_64-linux-gnu/libgcrypt.so: No such file or directory

I correlate natty's with lucid's gnunet installation and i do a symlink in natty:
sudo ln -sf /lib/x86_64-linux-gnu/libgcrypt.so.11.6.0 /lib/x86_64-linux-gnu/libgcrypt.so

After that make work as intended :-)

Regards
Harry Kar

Revision history for this message
harrykar (harrykar) wrote :
Download full text (4.2 KiB)

Regard post #3 i forget the last janitor step
Don't forget before run gnunet server uninstall libextractor 0.5.23, libmicrohttpd-dev, libmicrohttpd5 4.4.1
because otherwise when you publish a file/directory you get errors from extractor:

gnunet-publish -m "title:Hacking The Art of Exploitation 2nd Feb.2008.chm" -m "mimetype:application/x-chm" -m "author:Jon Erickson" -k hack Hacking_The_Art_of_Exploitation_2nd_Feb.2008.chm

Unknown metadata type in metadata option `author:Jon Erickson'. Using metadata type `unknown' instead.
Resolving symbol `EXTRACTOR_oo_extract' failed, so I tried `_EXTRACTOR_oo_extract', but that failed also. Errors are: `/usr/lib/libextractor/libextractor_oo.so: undefined symbol: EXTRACTOR_oo_extract' and `/usr/lib/libextractor/libextractor_oo.so: undefined symbol: _EXTRACTOR_oo_extract'.
Resolving `extract' method of plugin `oo' failed: (null)
Plugin `oo' failed to load!
Resolving symbol `EXTRACTOR_printable_fi_extract' failed, so I tried `_EXTRACTOR_printable_fi_extract', but that failed also. Errors are: `/usr/lib/libextractor/libextractor_printable_fi.so: undefined symbol: EXTRACTOR_printable_fi_extract' and `/usr/lib/libextractor/libextractor_printable_fi.so: undefined symbol: _EXTRACTOR_printable_fi_extract'.
Resolving `extract' method of plugin `printable_fi' failed: (null)
Plugin `printable_fi' failed to load!

(test) Use: Start-stop-search-publish-stats

Before start the server we create a empty(The default configuration in /usr/share/gnunet/defaults.conf must be ok for now) config file
mkdir $HOME/.gnunet/ && touch $HOME/.gnunet/gnunet.conf

Start(as normal user)
$ gnunet-arm -s

Stop
$ gnunet-arm -e

search(without -tn option --number of seconds-- you must type Ctrl-C to get back the prompt)
here's their test file (GPL)
$ gnunet-search -t6 GPL

I too publish 2 file for testing (you can find & download them if my Gnunet server is on)

for the first file
$ gnunet-search "Hacking The Art of Exploitation 2nd Feb.2008.chm"

or trough the keywords extracted automatically from libextractor
$ gnunet-search hacking
or
$ gnunet-search exploit
or
$ gnunet-search application/x-chm
or
$ gnunet-search Jon Erickson

for the 2nd file
harrykar@harrysas:~$ gnunet-search application/pdf
#0:
gnunet-download -o "Gray Hat Hacking Second Edition.pdf" gnunet://fs/chk/FOD1NDAC56PI4J0SF638BM85P07BN2DD9IPDAT8S2Q96M6V816CEUASM99UAUKBHSS71K5VR5VCJD1E3NH316A5QEOM82TKA49JLTK8.5E3PAB8USRH7C8B4I065M44MQ63SDJALSF6G5267KS1N6SIHC41V2MPKAOLR35UVLRES2E0EPVAMN6TUENO57KVBRDMQC5OIV7O4200.13163167

#1:
gnunet-download -o "remote_BOF_explanation.pdf" gnunet://fs/chk/E5P5JN0RLU3480EPSNEABGV069F8V08N1LRNE8KNMNB45K6VKFQ7DSIBP41360PL4SPTI6HGIDN6CLFO9F413O2D1B23U0A8GP1F8MO.ADO4MVCO84JDLF29PRTT4SIJP6SU5EUPLSKEDN48FOCREELCHUIPLN7F8PV03TU1BBS1V546B5ITP8EFHI9D6DGD7AK1QRSB1R2FE90.203354

#2:
gnunet-download -o "You And Your Research.pdf" gnunet://fs/chk/BKO1NJO06EPR7L5LA0KHOR4U8UTVC5ACRABR08H1FTE1PS9D57I6CUQR7DFTO3KF9JGKB8M7APO5M7M7U7U10A8INV5A67EB0O72SU8.VTM4RGSO7EL6502DQ4HHD7PKHTJMOREM1GOP5KGVP07DQI2B899JMH3SE910LRUAJMP4CSHC6CAABI0C2R9M07END989MM3H1DO5MB0.96313

download
$ gnunet-download -o "gpl-3.0.txt" gnunet://fs/chk/PC0M19QMQC0BPSHR6BGA228PP6...

Read more...

Christoph Korn (c-korn)
Changed in getdeb.net:
assignee: nobody → Christoph Korn (c-korn)
importance: Undecided → Medium
status: Won't Fix → In Progress
Revision history for this message
harrykar (harrykar) wrote :

Build the Guis (gnunet-gtk, gnunet-setup)

Ok that's a bit more problematic than buil gnunet's cli interface because of libgladeui-2.0 dependency.
Gnome 2(Natty too) has libgladeui-1.9 and libgladeui-1-dev. Instead libgladeui-2.0 is a Gnome3 component and Natty introduce Unity and Gnome3 is found only in PPA(moreover with a incomplete uninstall procedure). I have a Lucid host and prefer build in VitrualBox with a Natty+Gnome3 guest.
If you try to build without Gnome3 you get:

checking for Glade core... /usr/include/libgladeui-1.0
checking gladeui/glade.h usability... no
checking gladeui/glade.h presence... no
checking for gladeui/glade.h... no
configure: error: gnunet-gtk requires Glade3 (library and headers)

So Gnome3 is the key to build gnunet guis. After installed Gnome3 install libgladeui-2.0:
sudo apt-get install libgladeui-2.0

Step1. Build gnunet-gtk
cd $HOME/code/gnunet
svn co https://gnunet.org/svn/gnunet-gtk/ && cd gnunet-gtk
./bootstrap && ./configure --prefix=/usr --with-extractor=/usr --with-gnunet=/usr && make
sudo make install
make check(i haven't the output because after Gnome3 uninstall the guest was corrupted --i could not login anymore so i redo a clean Natty guest to probe Unity but i don't install Gnome3--)

Step2. Build gnunet-setup (that's an essential setup. The complete setup is doing trough $HOME/.gnunet/gnunet.conf )
cd $HOME/code/gnunet
svn co https://gnunet.org/svn/gnunet-setup/ && cd gnunet-setup
./bootstrap && ./configure --prefix=/usr --with-gnunet=/usr && make
sudo make install
make check

Note:
If after install gnunet-setup not work go to https://gnunet.org/svn/gnunet-setup/contrib/ download gnunet-setup.glade and copy it in /usr/share/gnunet-setup/ replace the old one. That's because trough build something changes in gnunet-setup.glade. gnunet-setup.glade is made using a glade interface builder application. Version of the glade application used to create a .glade file influences its contents. The one in the svn repository was made with glade-3.10

Now you have the gnunet guis perfectly functioning

PS: don't forget the janitor step posted in #4

Revision history for this message
harrykar (harrykar) wrote :

the gnunet ports --must be open in host and router firewalls-- are 2086TCP&UDP (and optionally 1080TCP for HTTP)
https://gnunet.org/node/12

Revision history for this message
harrykar (harrykar) wrote :

After my last build the server gnunet-arm put out the following errors:

Sep 02 01:46:52-657266 transport-7174 ERROR Assertion failed at gnunet-service-transport.c:1618.
Sep 02 01:46:52-662676 arm-5954 WARNING Service `transport' terminated with status signal/6, will try to restart it!

dirs rev 16696 (the last one) solves these errors
srev 16147 for extractor/ 2011-07-23T09:09:05.041555Z grothoff (extractor rarely updates)
rev 16660 for gnunet/ 2011-08-31T15:45:07.940150Z wachs
rev 16595 for libmicrohttpd/ 2011-08-18T09:10:07.181280Z grothoff

Revision history for this message
harrykar (harrykar) wrote :

Sometimes could happen, the only one (for now) hostlist server(act like a tracker in a bittorent net) go down and we --although have just installed gnunet, create conf file and open ports-- are not able to connect to other peers in gnunet because of a missed peerlist (peer bootstrap fail). That's valid only for our very first connection. In that case:

I get only myself in gnunet-peerinfo
$ gnunet-peerinfo
Peer `ABSCRTYUIQKMJHA9U4TRVQF2LPSA929P51S60HUP10GDE509KMC9SUSEEODJGJH3IV4963467LG0EDS5BQ3KA60NGBK1E0FGHTYU'
simone:2086
simone.homenet.telecomitalia.it:2086
simone:2086

and search not find the test file GPL
$ gnunet-search -t10 GPL

The only way to entry(bootstrap) in GN net is wait for the hostlist server go up or
we can request from a friend in GN his ~./gnunet/data/hosts/ directory
and copy it in ~./gnunet/data/hosts/ in our home dir.

PS:
Chris how goes packaging process?

Revision history for this message
harrykar (harrykar) wrote :

<harrykar> *** glibc detected *** gnunet-service-transport: double free or corruption (!prev): 0x0000000001841260 *** here's the whole output http://pastebin.com/ZhJRUp26

<grothoff-office> harrykar: we just yesterday replaced gnunet-service-transport with entirely different code -- the crash you got looks like what we had in the old version. Updating should help...

I do the checkout but is convenient wait a bit before build for getdeb. Time to "consolidate" the new code.

Revision history for this message
harrykar (harrykar) wrote :

i guess time is mature to build 0.9.0 release(released some day ago)

Revision history for this message
Stefan (stefan13) wrote :

Thanks for the excellent instructions.
I'm stuck here: svn co https://gnunet.org/svn/gnunet-setup/ && cd gnunet-setup as the location does not exist any more.
Is there a new location (I could not find one) or a new procedure?
Thanks for any update you may have.

Revision history for this message
harrykar (harrykar) wrote :

Glad to hear that was "excellent instructions" Stefan ;-)
You're right in the meantime gnunet grew and change (i must update the post). Lastly gnunet's guys worked on the gui and gnunet-setup is conglomerated in gnunet-gtk(was a natural step to do in time). So is enough you co gnunet-gtk.

Gnunet's Windows porter @LRN talk to me that now gnunet-gtk can build without gnome3 dependencies. Till now i was interested in the core interface (bash) because of Ubuntu's no support in gnome3. Anyway when i have enough time i try to build the gui and report here and update my post on ubuntu-it

Have a nice day

Revision history for this message
harrykar (harrykar) wrote :

FYI I have just builded gnunet-gtk and yes it's true gnome's3 libgladeui-2.0 is not required but the sw is under heavy development not ready right now for use

Revision history for this message
Stefan (stefan13) wrote :

So gnunet 0.9 itself cannot be used at the moment?

Revision history for this message
harrykar (harrykar) wrote :

Sorry Stefan my sentence "not ready right now for use" was wrong. The short response is : Yes you can use right now gnunet(cli and gui) for anonymous File transfer.
In more detail we can say still lack some "minor" points(as any software under 1.0.0 release i guess).

The gui(gnunet-gtk package) now consist of 4 binaries(Earlier was only a binary gnunet-gtk)
/usr/bin/gnunet-fs-gtk : for searching and downloading content
/usr/bin/gnunet-peerinfo-gtk : In out bandwidth from our peers
/usr/bin/gnunet-setup : basic setting --apart configure trough .conf files--
/usr/bin/gnunet-statistics-gtk : various stats

I hope now is clearer ;-)

PS:
As say one of gnunet's main devs @grothoff : daily SVN HEAD is obviously the luck of the draw. Distributions should stick to real releases(in our case 0.9.0 is a real release. SVN HEAD is not. )

Gnunet is(would be in the near future) not only a File sharing software but something larger :a platform (https://gnunet.org/project-overview)

Revision history for this message
Christoph Korn (c-korn) wrote :

gnunet 0.9.3 depends on libextractor-dev (>=1:0.6.3) but precise has 1:0.5.23+dfsg-7.1build2 .

Changed in getdeb.net:
status: In Progress → Won't Fix
Revision history for this message
David (lofidevops) wrote :

Quantal has 1:0.6.3-5ubuntu2 according to https://launchpad.net/ubuntu/quantal/i386/libextractor-dev - although I don't know if the dependencies have changed for 0.9.5a - see https://gnunet.org/gnunet095a

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.