aMule Forum

Please login or register.

Login with username, password and session length
Advanced search  

News:

We're back! (IN POG FORM)

Pages: [1] 2

Author Topic: v2.3.1 compilation fails in uPnP Base on i386 Debian Testing  (Read 13231 times)

Corin

  • Newbie
  • Karma: 0
  • Offline Offline
  • Posts: 4

Builing of aMule v2.3.1 fails on i386 Debian Testing during compilation of  uPnP  Base module.


$PWD/configure --prefix=$X11_DIR  --enable-amule-daemon  --enable-webserver   --enable-amule-gui     --enable-geoip   --enable-mmap    --enable-optimize


checking for libupnp version >= 1.6.6... yes (version 1.8.0~svn20100401)


  **** aMule TextClient ****
  Should aMule Command Line Client be built?                 no

  **** aMule WebServer ****
  Should aMule WebServer be built?                           yes

  **** aMule ED2K Links Handler ****
  Should aMule ED2K Links Handler be built?                  yes

  **** aMuleLinkCreator ****
  Should aMuleLinkCreator GUI version (alc) be built?        no
  Should aMuleLinkCreator for console (alcc) be built?       no

  **** aMule Statistics ****
  Should C aMule Statistics (CAS) be built?                  no
  Should aMule GUI Statistics (wxCas) be built?              no
  Should xas XChat2 plugin be installed?                     no
  Should plasmaMule plasma-applet be build?                  no

  **** General Libraries and Tools ****
  Should ccache support be enabled?                          no
  Libraries aMule will use to build:
                             wxWidgets             2.8.12 (gtk2,shared)
                             crypto++              5.6.1 (installed, in /usr)
                             libupnp               1.8.0~svn20100401
                             libintl               system
                             libGeoIP              system
                             libpng                1.2.49
                             zlib                  1.2.6


Compiling UPnPBase.cpp
../../../src/UPnPBase.cpp: In constructor ‘CUPnPControlPoint::CUPnPControlPoint(short unsigned int)’:
../../../src/UPnPBase.cpp:871:37: error: invalid conversion from ‘const char*’ to ‘char*’ [-fpermissive]
../../../src/UPnPBase.cpp: In static member function ‘static int CUPnPControlPoint::Callback(Upnp_EventType, void*, void*)’:
../../../src/UPnPBase.cpp:1189:14: error: invalid use of incomplete type ‘struct CUPnPControlPoint::Callback(Upnp_EventType, void*, void*)::Upnp_Discovery’
../../../src/UPnPBase.cpp:1186:10: error: forward declaration of ‘struct CUPnPControlPoint::Callback(Upnp_EventType, void*, void*)::Upnp_Discovery’
../../../src/UPnPBase.cpp:1190:56: error: invalid use of incomplete type ‘struct CUPnPControlPoint::Callback(Upnp_EventType, void*, void*)::Upnp_Discovery’
../../../src/UPnPBase.cpp:1186:10: error: forward declaration of ‘struct CUPnPControlPoint::Callback(Upnp_EventType, void*, void*)::Upnp_Discovery’
../../../src/UPnPBase.cpp:1194:35: error: invalid use of incomplete type ‘struct CUPnPControlPoint::Callback(Upnp_EventType, void*, void*)::Upnp_Discovery’
../../../src/UPnPBase.cpp:1186:10: error: forward declaration of ‘struct CUPnPControlPoint::Callback(Upnp_EventType, void*, void*)::Upnp_Discovery’
../../../src/UPnPBase.cpp:1197:12: error: invalid use of incomplete type ‘struct CUPnPControlPoint::Callback(Upnp_EventType, void*, void*)::Upnp_Discovery’
../../../src/UPnPBase.cpp:1186:10: error: forward declaration of ‘struct CUPnPControlPoint::Callback(Upnp_EventType, void*, void*)::Upnp_Discovery’
../../../src/UPnPBase.cpp:1203:12: error: invalid use of incomplete type ‘struct CUPnPControlPoint::Callback(Upnp_EventType, void*, void*)::Upnp_Discovery’
../../../src/UPnPBase.cpp:1186:10: error: forward declaration of ‘struct CUPnPControlPoint::Callback(Upnp_EventType, void*, void*)::Upnp_Discovery’
../../../src/UPnPBase.cpp:1236:13: error: invalid use of incomplete type ‘struct CUPnPControlPoint::Callback(Upnp_EventType, void*, void*)::Upnp_Discovery’
../../../src/UPnPBase.cpp:1186:10: error: forward declaration of ‘struct CUPnPControlPoint::Callback(Upnp_EventType, void*, void*)::Upnp_Discovery’
../../../src/UPnPBase.cpp:1236:32: error: invalid use of incomplete type ‘struct CUPnPControlPoint::Callback(Upnp_EventType, void*, void*)::Upnp_Discovery’
../../../src/UPnPBase.cpp:1186:10: error: forward declaration of ‘struct CUPnPControlPoint::Callback(Upnp_EventType, void*, void*)::Upnp_Discovery’
../../../src/UPnPBase.cpp:1258:16: error: invalid use of incomplete type ‘struct CUPnPControlPoint::Callback(Upnp_EventType, void*, void*)::Upnp_Discovery’
../../../src/UPnPBase.cpp:1257:10: error: forward declaration of ‘struct CUPnPControlPoint::Callback(Upnp_EventType, void*, void*)::Upnp_Discovery’
../../../src/UPnPBase.cpp:1260:52: error: invalid use of incomplete type ‘struct CUPnPControlPoint::Callback(Upnp_EventType, void*, void*)::Upnp_Discovery’
../../../src/UPnPBase.cpp:1257:10: error: forward declaration of ‘struct CUPnPControlPoint::Callback(Upnp_EventType, void*, void*)::Upnp_Discovery’
../../../src/UPnPBase.cpp:1264:34: error: invalid use of incomplete type ‘struct CUPnPControlPoint::Callback(Upnp_EventType, void*, void*)::Upnp_Discovery’
../../../src/UPnPBase.cpp:1257:10: error: forward declaration of ‘struct CUPnPControlPoint::Callback(Upnp_EventType, void*, void*)::Upnp_Discovery’
../../../src/UPnPBase.cpp:1268:38: error: invalid use of incomplete type ‘struct CUPnPControlPoint::Callback(Upnp_EventType, void*, void*)::Upnp_Discovery’
../../../src/UPnPBase.cpp:1257:10: error: forward declaration of ‘struct CUPnPControlPoint::Callback(Upnp_EventType, void*, void*)::Upnp_Discovery’
../../../src/UPnPBase.cpp:1276:34: error: invalid use of incomplete type ‘struct CUPnPControlPoint::Callback(Upnp_EventType, void*, void*)::Upnp_Event’
../../../src/UPnPBase.cpp:1275:10: error: forward declaration of ‘struct CUPnPControlPoint::Callback(Upnp_EventType, void*, void*)::Upnp_Event’
../../../src/UPnPBase.cpp:1278:39: error: invalid use of incomplete type ‘struct CUPnPControlPoint::Callback(Upnp_EventType, void*, void*)::Upnp_Event’
../../../src/UPnPBase.cpp:1275:10: error: forward declaration of ‘struct CUPnPControlPoint::Callback(Upnp_EventType, void*, void*)::Upnp_Event’
../../../src/UPnPBase.cpp:1278:58: error: invalid use of incomplete type ‘struct CUPnPControlPoint::Callback(Upnp_EventType, void*, void*)::Upnp_Event’
../../../src/UPnPBase.cpp:1275:10: error: forward declaration of ‘struct CUPnPControlPoint::Callback(Upnp_EventType, void*, void*)::Upnp_Event’
../../../src/UPnPBase.cpp:1295:15: error: invalid use of incomplete type ‘struct CUPnPControlPoint::Callback(Upnp_EventType, void*, void*)::Upnp_Event_Subscribe’
../../../src/UPnPBase.cpp:1293:10: error: forward declaration of ‘struct CUPnPControlPoint::Callback(Upnp_EventType, void*, void*)::Upnp_Event_Subscribe’
../../../src/UPnPBase.cpp:1298:24: error: invalid use of incomplete type ‘struct CUPnPControlPoint::Callback(Upnp_EventType, void*, void*)::Upnp_Event_Subscribe’
../../../src/UPnPBase.cpp:1293:10: error: forward declaration of ‘struct CUPnPControlPoint::Callback(Upnp_EventType, void*, void*)::Upnp_Event_Subscribe’
../../../src/UPnPBase.cpp:1327:12: error: invalid use of incomplete type ‘struct CUPnPControlPoint::Callback(Upnp_EventType, void*, void*)::Upnp_Event_Subscribe’
../../../src/UPnPBase.cpp:1321:10: error: forward declaration of ‘struct CUPnPControlPoint::Callback(Upnp_EventType, void*, void*)::Upnp_Event_Subscribe’
../../../src/UPnPBase.cpp:1333:24: error: invalid use of incomplete type ‘struct CUPnPControlPoint::Callback(Upnp_EventType, void*, void*)::Upnp_Event_Subscribe’
../../../src/UPnPBase.cpp:1321:10: error: forward declaration of ‘struct CUPnPControlPoint::Callback(Upnp_EventType, void*, void*)::Upnp_Event_Subscribe’
../../../src/UPnPBase.cpp:1336:39: error: invalid use of incomplete type ‘struct CUPnPControlPoint::Callback(Upnp_EventType, void*, void*)::Upnp_Event_Subscribe’
../../../src/UPnPBase.cpp:1321:10: error: forward declaration of ‘struct CUPnPControlPoint::Callback(Upnp_EventType, void*, void*)::Upnp_Event_Subscribe’
../../../src/UPnPBase.cpp:1342:14: error: invalid use of incomplete type ‘struct CUPnPControlPoint::Callback(Upnp_EventType, void*, void*)::Upnp_Event_Subscribe’
../../../src/UPnPBase.cpp:1321:10: error: forward declaration of ‘struct CUPnPControlPoint::Callback(Upnp_EventType, void*, void*)::Upnp_Event_Subscribe’
../../../src/UPnPBase.cpp:1363:14: error: invalid use of incomplete type ‘struct CUPnPControlPoint::Callback(Upnp_EventType, void*, void*)::Upnp_Action_Complete’
../../../src/UPnPBase.cpp:1361:10: error: forward declaration of ‘struct CUPnPControlPoint::Callback(Upnp_EventType, void*, void*)::Upnp_Action_Complete’
../../../src/UPnPBase.cpp:1366:12: error: invalid use of incomplete type ‘struct CUPnPControlPoint::Callback(Upnp_EventType, void*, void*)::Upnp_Action_Complete’
../../../src/UPnPBase.cpp:1361:10: error: forward declaration of ‘struct CUPnPControlPoint::Callback(Upnp_EventType, void*, void*)::Upnp_Action_Complete’
../../../src/UPnPBase.cpp:1367:12: error: invalid use of incomplete type ‘struct CUPnPControlPoint::Callback(Upnp_EventType, void*, void*)::Upnp_Action_Complete’
../../../src/UPnPBase.cpp:1361:10: error: forward declaration of ‘struct CUPnPControlPoint::Callback(Upnp_EventType, void*, void*)::Upnp_Action_Complete’
../../../src/UPnPBase.cpp:1371:12: error: invalid use of incomplete type ‘struct CUPnPControlPoint::Callback(Upnp_EventType, void*, void*)::Upnp_Action_Complete’
../../../src/UPnPBase.cpp:1361:10: error: forward declaration of ‘struct CUPnPControlPoint::Callback(Upnp_EventType, void*, void*)::Upnp_Action_Complete’
../../../src/UPnPBase.cpp:1384:15: error: invalid use of incomplete type ‘struct CUPnPControlPoint::Callback(Upnp_EventType, void*, void*)::Upnp_State_Var_Complete’
../../../src/UPnPBase.cpp:1382:10: error: forward declaration of ‘struct CUPnPControlPoint::Callback(Upnp_EventType, void*, void*)::Upnp_State_Var_Complete’
../../../src/UPnPBase.cpp:1387:24: error: invalid use of incomplete type ‘struct CUPnPControlPoint::Callback(Upnp_EventType, void*, void*)::Upnp_State_Var_Complete’
../../../src/UPnPBase.cpp:1382:10: error: forward declaration of ‘struct CUPnPControlPoint::Callback(Upnp_EventType, void*, void*)::Upnp_State_Var_Complete’
make[4]: *** [amuleweb-UPnPBase.o] Error 1
make[3]: *** [all-recursive] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2


This failure on the amd64 platform has been reported as Debian Bug #670962

<http://bugs.debian.ORG/cgi-bin/bugreport.cgi?bug=670962>
Logged

Corin

  • Newbie
  • Karma: 0
  • Offline Offline
  • Posts: 4
Re: v2.3.1 compilation fails in uPnP Base on i386 Debian Testing
« Reply #1 on: May 01, 2012, 01:44:42 AM »


Newer version of libupnp is required.

<http://forum.amule.ORG/index.php?topic=19000.0>
Logged

x_x_kamikaze_x_x

  • Jr. Member
  • **
  • Karma: 18
  • Offline Offline
  • Posts: 83
Re: v2.3.1 compilation fails in uPnP Base on i386 Debian Testing
« Reply #2 on: May 01, 2012, 01:56:10 AM »

You have to use:
libupnp 1.6.6

Other version don't work.
Logged

Corin

  • Newbie
  • Karma: 0
  • Offline Offline
  • Posts: 4
Re: v2.3.1 compilation fails in uPnP Base on i386 Debian Testing
« Reply #3 on: May 01, 2012, 02:00:17 AM »

You have to use:
libupnp 1.6.6

Other version don't work.

Sorry,  I should have written older version, not newer --

 apt-get install libupnp3 libupnp3-dev

The following packages will be REMOVED:
  libupnp4-dev


I thought this was a new issue when I did the web search and found the bug just reported on April 30th, 2012, but I should have searched more thoroughly here first before posting.
Logged

Corin

  • Newbie
  • Karma: 0
  • Offline Offline
  • Posts: 4
Re: v2.3.1 compilation fails in uPnP Base on i386 Debian Testing
« Reply #4 on: May 01, 2012, 02:10:23 AM »

Incidentally, Debian are in the process of upgrading from libunp3 to libupn6 (sid then testing) so if amule is not going to move forward from libupnp3 at some time, this could mean that amule will no longer be available to Debian users unless they install the old libupn3 library and compile that and amule from source.

From  <http://bugs.debian.ORG/cgi-bin/bugreport.cgi?bug=655912>

Quote

Sat, 14 Jan 2012 18:28:08 +0000

Upstream for libupnp has changed the soname for the stable branch from
libupnp3 to libupnp6, as a result of the ABI changes in version 1.6 over
the last few years.

As the maintainer of libupnp3 in Debian I am planning to follow this
transition.


Thus the question is, are the aMule developers preparing for a transition to  libupn6?
Logged

morph

  • Full Member
  • ***
  • Karma: 2
  • Offline Offline
  • Posts: 213
    • http://matrixhasu.altervista.org/
Re: v2.3.1 compilation fails in uPnP Base on i386 Debian Testing
« Reply #5 on: May 01, 2012, 06:47:49 PM »

Hello, i'm the Debian maintainer for amule - as already pointed out by Corin, the upcoming Debian release will ship libupnp6 (where 6 is the SONAME of the library) but amule is unable to build with it (as it's already been reported on the Debian BTS: http://bugs.debian.org/670962).

Are there any plan to update amule to the new libupnp ? Please also note that the debian archive freeze (so where only bigfixes will be accepted for the release) will start in 1-2 months. The only solutions I can see if amule can't cope with libupnp6 are: 1. remove amule from Debian release; 2. disable upnp. Both would be a shame for debian users.
Logged

x_x_kamikaze_x_x

  • Jr. Member
  • **
  • Karma: 18
  • Offline Offline
  • Posts: 83
Re: v2.3.1 compilation fails in uPnP Base on i386 Debian Testing
« Reply #6 on: May 02, 2012, 11:08:02 AM »

Don't worry, I think Stu Redman or Kry
would find a nice solution.  8)

But they need PERSONAL TIME, in order
to spend it on this project (so you have to wait).  ;)

See you soon!  :)
Logged

morph

  • Full Member
  • ***
  • Karma: 2
  • Offline Offline
  • Posts: 213
    • http://matrixhasu.altervista.org/
Re: v2.3.1 compilation fails in uPnP Base on i386 Debian Testing
« Reply #7 on: May 03, 2012, 09:01:44 AM »

We got luck! A nice fellow Debian developer kindly prepared a patch to migrate amule to libupnp6: you can find it here: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=670962#17 - it would be nice if you'd give it a look, I'll be play with it this evening in order to see if it's ok-ish
Logged

morph

  • Full Member
  • ***
  • Karma: 2
  • Offline Offline
  • Posts: 213
    • http://matrixhasu.altervista.org/
Re: v2.3.1 compilation fails in uPnP Base on i386 Debian Testing
« Reply #8 on: May 03, 2012, 07:39:07 PM »

Even better, the Debian maintainer for libupnp has provided a patch himself, you can look at here: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=670962#29
Logged

morph

  • Full Member
  • ***
  • Karma: 2
  • Offline Offline
  • Posts: 213
    • http://matrixhasu.altervista.org/
Re: v2.3.1 compilation fails in uPnP Base on i386 Debian Testing
« Reply #9 on: May 03, 2012, 09:47:24 PM »

I've applied the last patch to amule debian package and it built fine and it's running since 1h (using upnp on the router).
Logged

Stu Redman

  • Administrator
  • Hero Member
  • *****
  • Karma: 214
  • Offline Offline
  • Posts: 3739
  • Engines screaming
Re: v2.3.1 compilation fails in uPnP Base on i386 Debian Testing
« Reply #10 on: May 03, 2012, 09:56:50 PM »

libuPnP was developed and integrated in aMule by Phoenix. Maybe he can comment on the issue.
I can't apply the patch to our source since it breaks compilation with libupnp3.
Why would you not keep the libupnp3 package?

You can of course apply the patch to your version of aMule. Just call it something else than 2.3.1 if you patch it, and mind that we (or at least I) do not support binaries built from modified sources.
Logged
The image of mother goddess, lying dormant in the eyes of the dead, the sheaf of the corn is broken, end the harvest, throw the dead on the pyre -- Iron Maiden, Isle of Avalon

morph

  • Full Member
  • ***
  • Karma: 2
  • Offline Offline
  • Posts: 213
    • http://matrixhasu.altervista.org/
Re: v2.3.1 compilation fails in uPnP Base on i386 Debian Testing
« Reply #11 on: May 03, 2012, 09:59:04 PM »

I can see your point, but from a distribution point of view, it's not possible to maintain multiple versions of the same library.
Logged

Stu Redman

  • Administrator
  • Hero Member
  • *****
  • Karma: 214
  • Offline Offline
  • Posts: 3739
  • Engines screaming
Re: v2.3.1 compilation fails in uPnP Base on i386 Debian Testing
« Reply #12 on: May 03, 2012, 10:13:59 PM »

I believe Ubuntu provides both libupnp3 and libupnp4 so it should be possible.
You could also patch libupnp6 with something like
Code: [Select]
class UpnpString {
  operator const char * () const { return UpnpString_get_String(this); }
to keep it backwards compatible.
(Mind, "something like". I didn't try it or even look at the source.)
Logged
The image of mother goddess, lying dormant in the eyes of the dead, the sheaf of the corn is broken, end the harvest, throw the dead on the pyre -- Iron Maiden, Isle of Avalon

Vollstrecker

  • Administrator
  • Hero Member
  • *****
  • Karma: 67
  • Offline Offline
  • Posts: 1546
  • Unofficial Debian Packager
    • http://vollstreckernet.de
Re: v2.3.1 compilation fails in uPnP Base on i386 Debian Testing
« Reply #13 on: May 03, 2012, 10:17:21 PM »

Brealing compilation shouldn't be a problem, we solved this issue already for crypto++ where the new version needed an additional define. I'm out of time till at least 14th of May, but a version-check and ifdef should be implementable by some other guy, too. I know that at least Gonosztopi is able to do it right.
Logged
Homefucking is killing prostitution

Stu Redman

  • Administrator
  • Hero Member
  • *****
  • Karma: 214
  • Offline Offline
  • Posts: 3739
  • Engines screaming
Re: v2.3.1 compilation fails in uPnP Base on i386 Debian Testing
« Reply #14 on: May 04, 2012, 12:01:19 AM »

Since we won't have a new version of aMule out until the Debian freeze and you won't and shouldn't ship an SVN version your patch will be the only solution anyway. Then we can find a way to support both libupnp versions (3 and 6) at leisure.

The important thing is not compilation, but rather if 6 works of course. If you have verified that I see no problem supporting it if there is some UPnP version define.

Still I'd like to see a comment by Phoenix on the subject since UPnP is his realm really. He is pretty much retired (like most devs, sigh), but I have contacted him.
Logged
The image of mother goddess, lying dormant in the eyes of the dead, the sheaf of the corn is broken, end the harvest, throw the dead on the pyre -- Iron Maiden, Isle of Avalon
Pages: [1] 2