[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#749560: transition: miniupnpc



On 05/28/2014 02:55 PM, Emilio Pozuelo Monfort wrote:
> On 28/05/14 06:40, Thomas Goirand wrote:
>> Note that I would like this transition to happen ASAP, because of #748913.
> 
> That seems fixed in 1.6-4 now, so should be fine? We can wait until that migrates.

Yes, I uploaded a patched version (trivial because one line change). It
has migrated already (and Stable isn't affected).

> That would also let libenet and 0ad migrate.

Both libnet and 0ad have also migrated to Testing. By the way, what's
the relation between miniupnpc and libnet? I'm not sure I get it.

> In the meantime, please upload to experimental so that it goes through NEW.

This was done.

I also took time to review all reverse dependency rebuild. Here's the
result, and it doesn't look good. :( The one who builds fine first:

- bitcoin
- sushi
- transmission

Though there's FTBFS issues seemingly related to the new version of
miniupnpc with these:

- 0ad: see [1] below
- megaglest: see [2] below
- warzone2100: see [3] below

And then these seem to have unrelated FTBFS in Sid:

- eiskaltdcpp: FTBFS (in eiskaltdcpp-qt/src/ChatEdit.cpp which doesn't
have UPNP stuff)
- litecoin: FTBFS (but package not in Testing anyway)

What's the next step? Should I ask maintainers of 0ad, megaglest and
warzone2100 to build and upload in experimental against the new version
of miniupnpc first? Advices welcome!

Cheers,

Thomas Goirand (zigo)

[1]

../../../source/network/NetServer.cpp: In static member function ‘static
void* CNetServerWorker::SetupUPnP(void*)’:
../../../source/network/NetServer.cpp:279:36: error: too few arguments
to function ‘int UPNP_GetSpecificPortMappingEntry(const char*, const
char*, const char*, const char*, const char*, char*, char*, char*,
char*, char*)’
           NULL/*enabled*/, duration);
                                    ^
In file included from ../../../source/network/NetServer.cpp:38:0:
/usr/include/miniupnpc/upnpcommands.h:182:1: note: declared here
 UPNP_GetSpecificPortMappingEntry(const char * controlURL,
 ^
network.make:166: recipe for target 'obj/network_Release/NetServer.o' failed
make[3]: *** [obj/network_Release/NetServer.o] Error 1

I had a quick look. What it's missing is the (new) parameter "const char
* remoteHost". At a glance, it was not obvious where to get the
information in the upstream source code.


[2]

/home/zigo/sources/miniupnp/miniupnpc/rebuild/megaglest/megaglest-3.7.1/source/shared_lib/sources/platform/posix/socket.cpp:
In static member function ‘static int
Shared::Platform::UPNP_Tools::upnp_init(void*)’:
/home/zigo/sources/miniupnp/miniupnpc/rebuild/megaglest/megaglest-3.7.1/source/shared_lib/sources/platform/posix/socket.cpp:2481:115:
error: too few arguments to function ‘void* miniwget_getaddr(const
char*, int*, char*, int, unsigned int)’
     descXML = (char *)miniwget_getaddr(dev->descURL, &descXMLsize,
lanaddr, (sizeof(lanaddr) / sizeof(lanaddr[0])));

                                           ^
In file included from
/home/zigo/sources/miniupnp/miniupnpc/rebuild/megaglest/megaglest-3.7.1/source/shared_lib/sources/platform/posix/socket.cpp:56:0:
/usr/include/miniupnpc/miniwget.h:21:16: note: declared here
 LIBSPEC void * miniwget_getaddr(const char *, int *, char *, int,
unsigned int);
                ^
/home/zigo/sources/miniupnp/miniupnpc/rebuild/megaglest/megaglest-3.7.1/source/shared_lib/sources/platform/posix/socket.cpp:2487:45:
error: too few arguments to function ‘void GetUPNPUrls(UPNPUrls*,
IGDdatas*, const char*, unsigned int)’
      GetUPNPUrls (&urls, &data, dev->descURL);
                                             ^
In file included from
/home/zigo/sources/miniupnp/miniupnpc/rebuild/megaglest/megaglest-3.7.1/source/shared_lib/sources/platform/posix/socket.cpp:57:0:
/usr/include/miniupnpc/miniupnpc.h:115:1: note: declared here
 GetUPNPUrls(struct UPNPUrls *, struct IGDdatas *,
 ^
source/shared_lib/CMakeFiles/libmegaglest.dir/build.make:2035: recipe
for target
'source/shared_lib/CMakeFiles/libmegaglest.dir/sources/platform/posix/socket.cpp.o'
failed


[3]

netplay.cpp: In function ‘int upnp_init(void*)’:
netplay.cpp:947:91: error: too few arguments to function ‘void*
miniwget_getaddr(const char*, int*, char*, int, unsigned int)’
    descXML = (char *)miniwget_getaddr(dev->descURL, &descXMLsize,
lanaddr, sizeof(lanaddr));

                   ^
In file included from netplay.cpp:44:0:
/usr/include/miniupnpc/miniwget.h:21:16: note: declared here
 LIBSPEC void * miniwget_getaddr(const char *, int *, char *, int,
unsigned int);
                ^
netplay.cpp:953:44: error: too few arguments to function ‘void
GetUPNPUrls(UPNPUrls*, IGDdatas*, const char*, unsigned int)’
     GetUPNPUrls (&urls, &data, dev->descURL);
                                            ^
In file included from netplay.cpp:45:0:
/usr/include/miniupnpc/miniupnpc.h:115:1: note: declared here
 GetUPNPUrls(struct UPNPUrls *, struct IGDdatas *,
 ^
Makefile:453: recipe for target 'netplay.o' failed

"too few arguments to function" sounds like another API change in
Miniupnpc (I didn't investigate that one much).


Reply to: