Hi On 2017-12-18 09:48:57, Tobias Frost wrote: > Am 12. Dezember 2017 22:08:24 MEZ schrieb Sebastian Ramacher > <sramac...@debian.org>: > >Source: gmrender-resurrect > >Version: 0.0.7~git20170910+repack-1 > >Severity: important > >Tags: sid buster > > > >gmrender-resurrect FTBFS against upnp 1.8 (available in experimental): > >| gcc -DHAVE_CONFIG_H -I. -I.. -pthread -I/usr/include/glib-2.0 > >-I/usr/lib/x86_64-linux-gnu/glib-2.0/include -pthread > >-I/usr/include/gstreamer-1.0 -I/usr/include/glib-2.0 > >-I/usr/lib/x86_64-linux-gnu/glib-2.0/include -pthread > >-I/usr/include/upnp -DPKG_DATADIR=\"/usr/share/gmediarender\" > >-Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 > >-fdebug-prefix-map=/<<BUILDDIR>>/gmrender-resurrect-0.0.7~git20170910+repack=. > >-fstack-protector-strong -Wformat -Werror=format-security -Wall > >-Wpointer-arith -Wmissing-prototypes -Wmissing-declarations > >-Wwrite-strings -c -o logging.o logging.c > >| upnp_device.c: In function 'upnp_add_response': > >| upnp_device.c:75:46: error: dereferencing pointer to incomplete type > >'struct Upnp_Action_Request' > >| rc = UpnpAddToActionResponse(&event->request->ActionResult,
In 1.8 you'll need to use functions to get access to those values now. 1.6.24 introduced some compat macros for an easier transition: https://sources.debian.org/src/libupnp/1:1.6.24-2/upnp/inc/upnp.h/#L618 To prepare for 1.8 I'd B-D >= 1.6.24 and simply use the new functions. > >| ^~ > >| upnp_device.c: At top level: > >| upnp_device.c:156:47: warning: 'struct Upnp_Subscription_Request' > >declared inside parameter list will not be visible outside of this > >definition or declaration > >| struct > >Upnp_Subscription_Request > >| > >^~~~~~~~~~~~~~~~~~~~~~~~~ This is now UpnpSubscriptionRequest. 1.6.24 has compat typedefs. > >| upnp_device.c: In function 'handle_subscription_request': > >| upnp_device.c:165:12: error: dereferencing pointer to incomplete type > >'struct Upnp_Subscription_Request' > >| sr_event->ServiceId, sr_event->UDN); > >| ^~ > >| upnp_device.c: At top level: > >| upnp_device.c:243:17: warning: 'struct Upnp_State_Var_Request' > >declared inside parameter list will not be visible outside of this > >definition or declaration > >| struct Upnp_State_Var_Request *var_event) { > >| ^~~~~~~~~~~~~~~~~~~~~~ > >| upnp_device.c: In function 'handle_var_request': > >| upnp_device.c:245:18: error: dereferencing pointer to incomplete type > >'struct Upnp_State_Var_Request' > >| var_event->ServiceID); > >| ^~ > >| upnp_device.c: In function 'initialize_device': > >| upnp_device.c:433:7: error: too few arguments to function > >'UpnpAddVirtualDir' > >| rc = UpnpAddVirtualDir("/upnp"); Uwe, James, can you help with that? > >| ^~~~~~~~~~~~~~~~~ > >| In file included from upnp_device.c:41:0: > >| /usr/include/upnp/upnp.h:2741:17: note: declared here > >| EXPORT_SPEC int UpnpAddVirtualDir( > >| ^~~~~~~~~~~~~~~~~ > >| upnp_device.c:443:10: warning: passing argument 5 of > >'UpnpRegisterRootDevice2' from incompatible pointer type > >[-Wincompatible-pointer-types] > >| &event_handler, result_device, > >| ^ > >| In file included from upnp_device.c:41:0: > >| /usr/include/upnp/upnp.h:800:17: note: expected 'Upnp_FunPtr {aka int > >(*)(enum Upnp_EventType_e, const void *, void *)}' but argument is of > >type 'int (*)(Upnp_EventType, void *, void *) {aka int (*)(enum > >Upnp_EventType_e, void *, void *)}' > >| EXPORT_SPEC int UpnpRegisterRootDevice2( > >| ^~~~~~~~~~~~~~~~~~~~~~~ > >| Makefile:396: recipe for target 'upnp_device.o' failed > >| make[3]: *** [upnp_device.o] Error 1 > >| make[3]: *** Waiting for unfinished jobs.... > >| webserver.c:145:60: warning: 'struct File_Info' declared inside > >parameter list will not be visible outside of this definition or > >declaration > >| static int webserver_get_info(const char *filename, struct File_Info > >*info) > >| ^~~~~~~~~ > >| webserver.c: In function 'webserver_get_info': > >| webserver.c:151:8: error: dereferencing pointer to incomplete type > >'struct File_Info' > >| info->file_length = virtfile->len; > >| ^~ > >| webserver.c: In function 'webserver_register_callbacks': > >| webserver.c:292:41: warning: passing argument 1 of > >'UpnpVirtualDir_set_GetInfoCallback' from incompatible pointer type > >[-Wincompatible-pointer-types] > >| (UpnpVirtualDir_set_GetInfoCallback(webserver_get_info) == > >UPNP_E_SUCCESS > >| ^~~~~~~~~~~~~~~~~~ > >| In file included from webserver.c:38:0: > >| /usr/include/upnp/upnp.h:2590:17: note: expected 'VDCallback_GetInfo > >{aka int (*)(const char *, struct s_UpnpFileInfo *, const void *)}' but > >argument is of type 'int (*)(const char *, struct File_Info *)' > >| EXPORT_SPEC int > >UpnpVirtualDir_set_GetInfoCallback(VDCallback_GetInfo callback); > >| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > >| webserver.c:293:41: warning: passing argument 1 of > >'UpnpVirtualDir_set_OpenCallback' from incompatible pointer type > >[-Wincompatible-pointer-types] > >| && UpnpVirtualDir_set_OpenCallback(webserver_open) == > >UPNP_E_SUCCESS > >| ^~~~~~~~~~~~~~ > >| In file included from webserver.c:38:0: > >| /usr/include/upnp/upnp.h:2612:17: note: expected 'VDCallback_Open > >{aka void * (*)(const char *, enum UpnpOpenFileMode, const void *)}' > >but argument is of type 'void * (*)(const char *, enum > >UpnpOpenFileMode)' > >| EXPORT_SPEC int UpnpVirtualDir_set_OpenCallback(VDCallback_Open > >callback); > >| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > >| webserver.c:294:41: warning: passing argument 1 of > >'UpnpVirtualDir_set_ReadCallback' from incompatible pointer type > >[-Wincompatible-pointer-types] > >| && UpnpVirtualDir_set_ReadCallback(webserver_read) == > >UPNP_E_SUCCESS > >| ^~~~~~~~~~~~~~ > >| In file included from webserver.c:38:0: > >| /usr/include/upnp/upnp.h:2635:17: note: expected 'VDCallback_Read > >{aka int (*)(void *, char *, long unsigned int, const void *)}' but > >argument is of type 'int (*)(void *, char *, size_t) {aka int (*)(void > >*, char *, long unsigned int)}' > >| EXPORT_SPEC int UpnpVirtualDir_set_ReadCallback(VDCallback_Read > >callback); > >| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > >| webserver.c:295:42: warning: passing argument 1 of > >'UpnpVirtualDir_set_WriteCallback' from incompatible pointer type > >[-Wincompatible-pointer-types] > >| && UpnpVirtualDir_set_WriteCallback(webserver_write) == > >UPNP_E_SUCCESS > >| ^~~~~~~~~~~~~~~ > >| In file included from webserver.c:38:0: > >| /usr/include/upnp/upnp.h:2658:17: note: expected 'VDCallback_Write > >{aka int (*)(void *, char *, long unsigned int, const void *)}' but > >argument is of type 'int (*)(void *, char *, size_t) {aka int (*)(void > >*, char *, long unsigned int)}' > >| EXPORT_SPEC int UpnpVirtualDir_set_WriteCallback(VDCallback_Write > >callback); > >| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > >| webserver.c:296:41: warning: passing argument 1 of > >'UpnpVirtualDir_set_SeekCallback' from incompatible pointer type > >[-Wincompatible-pointer-types] > >| && UpnpVirtualDir_set_SeekCallback(webserver_seek) == > >UPNP_E_SUCCESS > >| ^~~~~~~~~~~~~~ > >| In file included from webserver.c:38:0: > >| /usr/include/upnp/upnp.h:2686:17: note: expected 'VDCallback_Seek > >{aka int (*)(void *, long int, int, const void *)}' but argument is > >of type 'int (*)(void *, off_t, int) {aka int (*)(void *, long int, > >int)}' > >| EXPORT_SPEC int UpnpVirtualDir_set_SeekCallback(VDCallback_Seek > >callback); > >| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > >| webserver.c:297:42: warning: passing argument 1 of > >'UpnpVirtualDir_set_CloseCallback' from incompatible pointer type > >[-Wincompatible-pointer-types] > >| && UpnpVirtualDir_set_CloseCallback(webserver_close) == > >UPNP_E_SUCCESS); > >| ^~~~~~~~~~~~~~~ > >| In file included from webserver.c:38:0: > >| /usr/include/upnp/upnp.h:2705:17: note: expected 'VDCallback_Close > >{aka int (*)(void *, const void *)}' but argument is of type 'int > >(*)(void *)' > >| EXPORT_SPEC int UpnpVirtualDir_set_CloseCallback(VDCallback_Close > >callback); > >| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > >| Makefile:396: recipe for target 'webserver.o' failed > > > >Full log at > >https://people.debian.org/~sramacher/logs/upnp/gmrender-resurrect_amd64-2017-12-12T20:38:16Z.log > > > >Cheers > > Hallo Sebastian, > > Is there a porting guide / how-to? -- Sebastian Ramacher
signature.asc
Description: PGP signature