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

Attachment: signature.asc
Description: PGP signature

Reply via email to