Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Bug#659069: getting retroshare in Debian

56 views
Skip to first unread message

Antoine Beaupré

unread,
Nov 6, 2012, 8:50:01 PM11/6/12
to
[cc on bug #659069 in debian which follows up on the packaging effort]

Hi!

Retroshare doesn't seem to be in Debian, and maybe this is something we
can fix! I notice you maintain a PPA for the software, that's a great
start.

I am trying to figure out how to build this thing from scratch. The
source tarballs in the PPA do not seem to correspond to the .tar.gz
distributed on sourceforge... Which one is the real "upstream tarball"?

Also, I have tried to compile the source tarball from the PPA in Debian
Wheezy, and I get the following error:

g++ -c -m64 -pipe -Wall -D_FILE_OFFSET_BITS=64 -O2 -fPIC -DPQI_DISABLE_TUNNEL -DRS_USE_BITDHT -DUBUNTU -I/usr/share/qt4/mkspecs/linux-g++-64 -I../../../src/libretroshare -I../../../src/libretroshare -I../../../src/retroshare-gui -I../../../src/libretroshare -I../../libbitdht/src -I../../../src/libbitdht -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/lib/i386-linux-gnu/glib-2.0/include/ -I../../openpgpsdk/src -I../../../src/openpgpsdk -I../../../src/libretroshare -I/usr/include/openssl -I/usr/include/upnp -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I. -o temp/linux-g++-64/obj/UPnPBase.o ../../../src/libretroshare/upnp/UPnPBase.cpp
../../../src/libretroshare/upnp/UPnPBase.cpp: In static member function 'static int CUPnPControlPoint::Callback(Upnp_EventType, void*, void*)':
../../../src/libretroshare/upnp/UPnPBase.cpp:1486:10: error: cannot convert 'UpnpString* {aka s_UpnpString*}' to 'const char*' for argument '2' to 'int UpnpSubscribe(UpnpClient_Handle, const char*, int*, char*)'
../../../src/libretroshare/upnp/UPnPBase.cpp:1496:53: error: no matching function for call to 'std::map<const std::basic_string<char>, CUPnPService*, std::less<const std::basic_string<char> >, std::allocator<std::pair<const std::basic_string<char>, CUPnPService*> > >::find(UpnpString*&)'
../../../src/libretroshare/upnp/UPnPBase.cpp:1496:53: note: candidates are:
In file included from /usr/include/c++/4.7/map:61:0,
from ../../../src/libretroshare/upnp/UPnPBase.h:27,
from ../../../src/libretroshare/upnp/UPnPBase.cpp:29:
/usr/include/c++/4.7/bits/stl_map.h:748:7: note: std::map<_Key, _Tp, _Compare, _Alloc>::iterator std::map<_Key, _Tp, _Compare, _Alloc>::find(const key_type&) [with _Key = const std::basic_string<char>; _Tp = CUPnPService*; _Compare = std::less<const std::basic_string<char> >; _Alloc = std::allocator<std::pair<const std::basic_string<char>, CUPnPService*> >; std::map<_Key, _Tp, _Compare, _Alloc>::iterator = std::_Rb_tree_iterator<std::pair<const std::basic_string<char>, CUPnPService*> >; std::map<_Key, _Tp, _Compare, _Alloc>::key_type = const std::basic_string<char>]
/usr/include/c++/4.7/bits/stl_map.h:748:7: note: no known conversion for argument 1 from 'UpnpString* {aka s_UpnpString*}' to 'std::map<const std::basic_string<char>, CUPnPService*, std::less<const std::basic_string<char> >, std::allocator<std::pair<const std::basic_string<char>, CUPnPService*> > >::key_type& {aka const std::basic_string<char>&}'
/usr/include/c++/4.7/bits/stl_map.h:763:7: note: std::map<_Key, _Tp, _Compare, _Alloc>::const_iterator std::map<_Key, _Tp, _Compare, _Alloc>::find(const key_type&) const [with _Key = const std::basic_string<char>; _Tp = CUPnPService*; _Compare = std::less<const std::basic_string<char> >; _Alloc = std::allocator<std::pair<const std::basic_string<char>, CUPnPService*> >; std::map<_Key, _Tp, _Compare, _Alloc>::const_iterator = std::_Rb_tree_const_iterator<std::pair<const std::basic_string<char>, CUPnPService*> >; std::map<_Key, _Tp, _Compare, _Alloc>::key_type = const std::basic_string<char>]
/usr/include/c++/4.7/bits/stl_map.h:763:7: note: no known conversion for argument 1 from 'UpnpString* {aka s_UpnpString*}' to 'std::map<const std::basic_string<char>, CUPnPService*, std::less<const std::basic_string<char> >, std::allocator<std::pair<const std::basic_string<char>, CUPnPService*> > >::key_type& {aka const std::basic_string<char>&}'
make[3]: *** [temp/linux-g++-64/obj/UPnPBase.o] Error 1
make[3]: Leaving directory `/tmp/buildd/retroshare-0.5.4/builddir/src/libretroshare'
make[2]: *** [sub-libretroshare-make_default] Error 2
make[2]: Leaving directory `/tmp/buildd/retroshare-0.5.4/builddir/src'
make[1]: *** [sub-src-make_default] Error 2
make[1]: Leaving directory `/tmp/buildd/retroshare-0.5.4/builddir'
make: *** [build-stamp] Error 2

I assume this is because of an incompatible libupnp version?

I am utterly confused by the libupnp version numbers, actually. Debian
has both "libupnp-dev" and "libupnp4-dev", but libupnp-dev actually
provides the libupnp6 binary package, with version number 1.6, while
libupnp4 is 1.8. Yaaay... any idea what retroshare actually requires here?

For more details on this weird situation, see:

http://packages.debian.org/libupnp

So basically, I cannot compile retroshare in Debian wheezy or unstable:
the libupnp versions are incompatible. I have also tried with the
upstream tarball, no luck.

Any suggestions?

A.

Antoine Beaupré

unread,
Nov 8, 2012, 10:50:02 PM11/8/12
to
Another DD suggested the following patch to workaround the problem:

--- libretroshare/src/libretroshare.pro.orig 2012-11-07 10:10:37.323894907 -0500
+++ libretroshare/src/libretroshare.pro 2012-11-07 10:11:08.048213807 -0500
@@ -218,7 +218,7 @@

#CONFIG += version_detail_bash_script

- DEFINES *= UBUNTU
+ DEFINES *= UBUNTU DEBIAN
INCLUDEPATH += /usr/include/glib-2.0/ /usr/lib/glib-2.0/include
LIBS *= -lgnome-keyring
}

It allows the package to compile libupnp, but i got stuck later. I
eventually gave up on this.

A.

--
You Are What You Is
- Frank Zappa

Cyril Soler

unread,
Nov 9, 2012, 3:10:01 AM11/9/12
to

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi,

The problem on debian is that they're using a verison of libupnp that has version number v1.6.17 but has been patched to comply to function prototypes
of version 1.8 (I hope I'm ok with version numbers). So using an ifdef on the version number does not work on debian, that's why we added the "ifdef
DEBIAN". But defining this on ubuntu breaks the compilation, so we cannot include this patch in the released packages.

I've got no solution for now to sort this out cleanly.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://www.enigmail.net/

iEYEARECAAYFAlCcuJ0ACgkQ7vOohC2noX5TxACgsE9a5KUU5PBzCDqmoW1ZBHL5
njAAoMHRgK4oHDseR2jU+mFhxKno0LpO
=vWzd
-----END PGP SIGNATURE-----


--
To UNSUBSCRIBE, email to debian-bugs-...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listm...@lists.debian.org

Antoine Beaupré

unread,
Nov 11, 2012, 11:40:02 AM11/11/12
to
On 2012-11-08, Antoine Beaupré wrote:
> It allows the package to compile libupnp, but i got stuck later. I
> eventually gave up on this.

... and this is why I gave up:

g++ -c -m64 -pipe -Wall -O2 -D_REENTRANT -fPIC -DQT_WEBKIT -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -I/usr/share/qt4/mkspecs/linux-g++-64 -I../../../plugins/VOIP -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I../../../libretroshare/src -I../../../retroshare-gui/src -I../../retroshare-gui/src/temp/ui -I../../../libretroshare/src -I. -I. -I../../../plugins/VOIP -I. -o AudioInputConfig.o ../../../plugins/VOIP/gui/AudioInputConfig.cpp
In file included from ../../../plugins/VOIP/gui/AudioInputConfig.cpp:35:0:
../../../plugins/VOIP/gui/AudioInputConfig.h:34:23: fatal error: QAudioInput: Aucun fichier ou dossier de ce type
compilation terminated.
make[2]: *** [AudioInputConfig.o] Erreur 1
make[2]: quittant le répertoire « /home/anarcat/dist/retroshare-trunk/builddir/plugins/VOIP »
make[1]: *** [sub-VOIP-make_default] Erreur 2
make[1]: quittant le répertoire « /home/anarcat/dist/retroshare-trunk/builddir/plugins »
make: *** [sub-plugins-plugins-pro-make_default] Erreur 2

a.

--
Having failed to discover weapons of mass destruction, Washington
shifted its propaganda to "establishing democracy." That flatly refutes
their earlier claim that the "only question" was whether Saddam would
disarm. But with a sufficiently obedient intellectual class, and loyal
media, the farce can proceed untroubled.
- Noam Chomsky, in an interview about Irak

Antoine Beaupré

unread,
Nov 11, 2012, 11:40:02 AM11/11/12
to
On 2012-11-09, Cyril Soler wrote:
> Hi,
>
> The problem on debian is that they're using a verison of libupnp that has version number v1.6.17 but has been patched to comply to function prototypes
> of version 1.8 (I hope I'm ok with version numbers). So using an ifdef on the version number does not work on debian, that's why we added the "ifdef
> DEBIAN". But defining this on ubuntu breaks the compilation, so we cannot include this patch in the released packages.
>
> I've got no solution for now to sort this out cleanly.

We could include this patch on the Debian package, just not the Ubuntu
package... That would be part of the Debian package work here...

A.
--
La démocratie réelle se définit d'abord et avant tout par la
participation massive des citoyens à la gestion des affaires de la cité.
Elle est directe et participative. Elle trouve son expression la plus
authentique dans l'assemblée populaire et le dialogue permanent sur
l'organisation de la vie en commun. - De la servitude moderne

Cyril Soler

unread,
Nov 11, 2012, 12:40:02 PM11/11/12
to

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

ah. You don't need to compile this. It's just the VOIP plugin.

If you want to, you need to install the qt mobility library. On ubuntu it's qtmobility-dev

For the patch, yes of course you can include it in the DEBIAN package.

Thanks!


On 11/11/2012 05:35 PM, Antoine Beaupré wrote:
> On 2012-11-08, Antoine Beaupré wrote:
>> It allows the package to compile libupnp, but i got stuck later. I
>> eventually gave up on this.
>
> ... and this is why I gave up:
>
> g++ -c -m64 -pipe -Wall -O2 -D_REENTRANT -fPIC -DQT_WEBKIT -DQT_NO_DEBUG -DQT_GUI_LIB
-DQT_CORE_LIB -I/usr/share/qt4/mkspecs/linux-g++-64 -I../../../plugins/VOIP
-I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I../../../libretroshare/src
-I../../../retroshare-gui/src -I../../retroshare-gui/src/temp/ui -I../../../libretroshare/src -I.
-I. -I../../../plugins/VOIP -I. -o AudioInputConfig.o ../../../plugins/VOIP/gui/AudioInputConfig.cpp
> In file included from ../../../plugins/VOIP/gui/AudioInputConfig.cpp:35:0:
> ../../../plugins/VOIP/gui/AudioInputConfig.h:34:23: fatal error: QAudioInput: Aucun fichier ou
dossier de ce type
> compilation terminated.
> make[2]: *** [AudioInputConfig.o] Erreur 1
> make[2]: quittant le répertoire « /home/anarcat/dist/retroshare-trunk/builddir/plugins/VOIP »
> make[1]: *** [sub-VOIP-make_default] Erreur 2
> make[1]: quittant le répertoire « /home/anarcat/dist/retroshare-trunk/builddir/plugins »
> make: *** [sub-plugins-plugins-pro-make_default] Erreur 2
>
> a.
>

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://www.enigmail.net/

iEYEARECAAYFAlCf4WEACgkQ7vOohC2noX6JVQCeJmJpLdn/IjZFtpL+9erYZq5O
cMgAnRAZPBsdXIKdTHbmNXK/NzDhv/Wx
=T5XS

Antoine Beaupré

unread,
Nov 11, 2012, 10:40:01 PM11/11/12
to
On 2012-11-11, Cyril Soler wrote:
> ah. You don't need to compile this. It's just the VOIP plugin.

How do I disable its compilation?

> If you want to, you need to install the qt mobility library. On ubuntu it's qtmobility-dev

I have this package installed yet it still fails to compile.. Something
wrong with the search path I guess?

> For the patch, yes of course you can include it in the DEBIAN package.

Alright, will do.

--
That's one of the remarkable things about life: it's never so bad that
it can't get worse.
- Calvin

Cyril Soler

unread,
Nov 12, 2012, 2:00:02 AM11/12/12
to
To disable it, remove the entry plugins in the .pro file of the src/ directory.

I'm surprised you can't find the correct package name. I know that on the different ubuntu systems it's a different name as well. The plugin compiles on debian SID if I remember correcly.

What debian version are you using? I can ask users around in my own network. Many of them are using debian.

Antoine Beaupré

unread,
Nov 12, 2012, 10:10:02 AM11/12/12
to
On 2012-11-12, Cyril Soler wrote:
> To disable it, remove the entry plugins in the .pro file of the src/ directory.

Alright.

> I'm surprised you can't find the correct package name. I know that on the different ubuntu systems
> it's a different name as well. The plugin compiles on debian SID if I remember correcly.

The package is there, but somehow the compile process doesn't file the header.

> What debian version are you using? I can ask users around in my own network. Many of them are using
> debian.

This is Debian Testing / Wheezy.

A.

--
In god we trust, others pay cash.
- Richard Desjardins, Miami

Cyril Soler

unread,
Nov 13, 2012, 4:50:01 AM11/13/12
to

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

BTW, for packaging on ubuntu I use the scripts in trunk/build_scripts/Ubuntu_src/. They get the svn and make debian source packages from it, patching
.pro files to match the structure of the deb src packages. Start with "./makeSourcePackage.sh". The rest of it are various scripts called by this one.

There's also scripts in build_scripts/Debian that seem to be pretty much up to date although they make binary packages only.

Hope it's useful.

On 11/12/2012 04:05 PM, Antoine Beaupr� wrote:
> On 2012-11-12, Cyril Soler wrote:
>> To disable it, remove the entry plugins in the .pro file of the src/ directory.
>
> Alright.
>
>> I'm surprised you can't find the correct package name. I know that on the different ubuntu systems
>> it's a different name as well. The plugin compiles on debian SID if I remember correcly.
>
> The package is there, but somehow the compile process doesn't file the header.
>
>> What debian version are you using? I can ask users around in my own network. Many of them are using
>> debian.
>
> This is Debian Testing / Wheezy.
>
> A.
>

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://www.enigmail.net/

iEYEARECAAYFAlCiDjYACgkQ7vOohC2noX7KNQCgzO4NT5Uex+vJz9LlA9CZchM0
8g8An1uQCOEBJ5zEnYJf9PbCF3voQZbp
=VSQH

Cyril Soler

unread,
Nov 15, 2012, 9:50:02 AM11/15/12
to

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Just to mention that we just fixed the issues with libUPnP. We added a test in libretroshare.pro so that we cna use the correct
#define that makes UpNPBase.cc compile on all system.

It should work on DEBIAN as well.

Best regards
Cyril


On 11/12/2012 04:05 PM, Antoine Beaupré wrote:
> On 2012-11-12, Cyril Soler wrote:
>> To disable it, remove the entry plugins in the .pro file of the src/ directory.
>
> Alright.
>
>> I'm surprised you can't find the correct package name. I know that on the different ubuntu systems
>> it's a different name as well. The plugin compiles on debian SID if I remember correcly.
>
> The package is there, but somehow the compile process doesn't file the header.
>
>> What debian version are you using? I can ask users around in my own network. Many of them are using
>> debian.
>
> This is Debian Testing / Wheezy.
>
> A.
>

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://www.enigmail.net/

iEYEARECAAYFAlCk/8cACgkQ7vOohC2noX4oogCdGsrpxZ5a1+C0WvX8ipf0ZoaV
1G8AnjYeSuo/Vq5EsVsB8KsohOtm7/7Y
=swfo
0 new messages