aMule Bug Tracker - aMule
View Issue Details
0001794aMuleMulti Platformpublic2018-10-31 19:402020-06-16 11:02
skolnick 
 
normalmajoralways
resolvedfixed 
LinuxFedora29
SVN 
2.3.3 
11011
Linux Fedora 29
0001794: aMule does not compile on Fedora 29
Trying to compile on Fedora 29 throws these errors and compilation stops:

...
UPnPBase.cpp: In constructor 'CUPnPControlPoint::CUPnPControlPoint(short unsigned int)':
UPnPBase.cpp:843:56: error: invalid static_cast from type 'int (*)(Upnp_EventType, void*, void*)' {aka 'int (*)(Upnp_EventType_e, void*, void*)'} to type 'Upnp_FunPtr' {aka 'int (*)(Upnp_EventType_e, const void*, void*)'}
   static_cast<Upnp_FunPtr>(&CUPnPControlPoint::Callback),
                                                        ^
UPnPBase.cpp: In static member function 'static int CUPnPControlPoint::Callback(Upnp_EventType, void*, void*)':
UPnPBase.cpp:1155:14: error: invalid use of incomplete type 'struct CUPnPControlPoint::Callback(Upnp_EventType, void*, void*)::Upnp_Discovery'
   if (d_event->ErrCode != UPNP_E_SUCCESS) {
              ^~
UPnPBase.cpp:1152:10: note: forward declaration of 'struct CUPnPControlPoint::Callback(Upnp_EventType, void*, void*)::Upnp_Discovery'
   struct Upnp_Discovery *d_event = (struct Upnp_Discovery *)Event;
          ^~~~~~~~~~~~~~
UPnPBase.cpp:1156:38: error: invalid use of incomplete type 'struct CUPnPControlPoint::Callback(Upnp_EventType, void*, void*)::Upnp_Discovery'
    msg << UpnpGetErrorMessage(d_event->ErrCode) << ".";
                                      ^~
UPnPBase.cpp:1152:10: note: forward declaration of 'struct CUPnPControlPoint::Callback(Upnp_EventType, void*, void*)::Upnp_Discovery'
   struct Upnp_Discovery *d_event = (struct Upnp_Discovery *)Event;
          ^~~~~~~~~~~~~~
UPnPBase.cpp:1160:35: error: invalid use of incomplete type 'struct CUPnPControlPoint::Callback(Upnp_EventType, void*, void*)::Upnp_Discovery'
   ret = UpnpDownloadXmlDoc(d_event->Location, &doc);
                                   ^~
UPnPBase.cpp:1152:10: note: forward declaration of 'struct CUPnPControlPoint::Callback(Upnp_EventType, void*, void*)::Upnp_Discovery'
   struct Upnp_Discovery *d_event = (struct Upnp_Discovery *)Event;
          ^~~~~~~~~~~~~~
UPnPBase.cpp:1163:12: error: invalid use of incomplete type 'struct CUPnPControlPoint::Callback(Upnp_EventType, void*, void*)::Upnp_Discovery'
     d_event->Location << ": " <<
            ^~
UPnPBase.cpp:1152:10: note: forward declaration of 'struct CUPnPControlPoint::Callback(Upnp_EventType, void*, void*)::Upnp_Discovery'
   struct Upnp_Discovery *d_event = (struct Upnp_Discovery *)Event;
          ^~~~~~~~~~~~~~
UPnPBase.cpp:1169:12: error: invalid use of incomplete type 'struct CUPnPControlPoint::Callback(Upnp_EventType, void*, void*)::Upnp_Discovery'
     d_event->Location << ".";
            ^~
UPnPBase.cpp:1152:10: note: forward declaration of 'struct CUPnPControlPoint::Callback(Upnp_EventType, void*, void*)::Upnp_Discovery'
   struct Upnp_Discovery *d_event = (struct Upnp_Discovery *)Event;
          ^~~~~~~~~~~~~~
UPnPBase.cpp:1198:13: error: invalid use of incomplete type 'struct CUPnPControlPoint::Callback(Upnp_EventType, void*, void*)::Upnp_Discovery'
      d_event->Location, d_event->Expires);
             ^~
UPnPBase.cpp:1152:10: note: forward declaration of 'struct CUPnPControlPoint::Callback(Upnp_EventType, void*, void*)::Upnp_Discovery'
   struct Upnp_Discovery *d_event = (struct Upnp_Discovery *)Event;
          ^~~~~~~~~~~~~~
UPnPBase.cpp:1198:32: error: invalid use of incomplete type 'struct CUPnPControlPoint::Callback(Upnp_EventType, void*, void*)::Upnp_Discovery'
      d_event->Location, d_event->Expires);
                                ^~
UPnPBase.cpp:1152:10: note: forward declaration of 'struct CUPnPControlPoint::Callback(Upnp_EventType, void*, void*)::Upnp_Discovery'
   struct Upnp_Discovery *d_event = (struct Upnp_Discovery *)Event;
          ^~~~~~~~~~~~~~
UPnPBase.cpp:1220:16: error: invalid use of incomplete type 'struct CUPnPControlPoint::Callback(Upnp_EventType, void*, void*)::Upnp_Discovery'
   if (dab_event->ErrCode != UPNP_E_SUCCESS) {
                ^~
UPnPBase.cpp:1219:10: note: forward declaration of 'struct CUPnPControlPoint::Callback(Upnp_EventType, void*, void*)::Upnp_Discovery'
   struct Upnp_Discovery *dab_event = (struct Upnp_Discovery *)Event;
          ^~~~~~~~~~~~~~
UPnPBase.cpp:1222:34: error: invalid use of incomplete type 'struct CUPnPControlPoint::Callback(Upnp_EventType, void*, void*)::Upnp_Discovery'
     UpnpGetErrorMessage(dab_event->ErrCode) <<
                                  ^~
UPnPBase.cpp:1219:10: note: forward declaration of 'struct CUPnPControlPoint::Callback(Upnp_EventType, void*, void*)::Upnp_Discovery'
   struct Upnp_Discovery *dab_event = (struct Upnp_Discovery *)Event;
          ^~~~~~~~~~~~~~
UPnPBase.cpp:1226:34: error: invalid use of incomplete type 'struct CUPnPControlPoint::Callback(Upnp_EventType, void*, void*)::Upnp_Discovery'
   std::string devType = dab_event->DeviceType;
                                  ^~
UPnPBase.cpp:1219:10: note: forward declaration of 'struct CUPnPControlPoint::Callback(Upnp_EventType, void*, void*)::Upnp_Discovery'
   struct Upnp_Discovery *dab_event = (struct Upnp_Discovery *)Event;
          ^~~~~~~~~~~~~~
UPnPBase.cpp:1230:38: error: invalid use of incomplete type 'struct CUPnPControlPoint::Callback(Upnp_EventType, void*, void*)::Upnp_Discovery'
    upnpCP->RemoveRootDevice(dab_event->DeviceId);
                                      ^~
UPnPBase.cpp:1219:10: note: forward declaration of 'struct CUPnPControlPoint::Callback(Upnp_EventType, void*, void*)::Upnp_Discovery'
   struct Upnp_Discovery *dab_event = (struct Upnp_Discovery *)Event;
          ^~~~~~~~~~~~~~
UPnPBase.cpp:1238:34: error: invalid use of incomplete type 'struct CUPnPControlPoint::Callback(Upnp_EventType, void*, void*)::Upnp_Event'
   const std::string Sid = e_event->Sid;
                                  ^~
UPnPBase.cpp:1237:10: note: forward declaration of 'struct CUPnPControlPoint::Callback(Upnp_EventType, void*, void*)::Upnp_Event'
   struct Upnp_Event *e_event = (struct Upnp_Event *)Event;
          ^~~~~~~~~~
UPnPBase.cpp:1240:39: error: invalid use of incomplete type 'struct CUPnPControlPoint::Callback(Upnp_EventType, void*, void*)::Upnp_Event'
   upnpCP->OnEventReceived(Sid, e_event->EventKey, e_event->ChangedVariables);
                                       ^~
UPnPBase.cpp:1237:10: note: forward declaration of 'struct CUPnPControlPoint::Callback(Upnp_EventType, void*, void*)::Upnp_Event'
   struct Upnp_Event *e_event = (struct Upnp_Event *)Event;
          ^~~~~~~~~~
UPnPBase.cpp:1240:58: error: invalid use of incomplete type 'struct CUPnPControlPoint::Callback(Upnp_EventType, void*, void*)::Upnp_Event'
   upnpCP->OnEventReceived(Sid, e_event->EventKey, e_event->ChangedVariables);
                                                          ^~
UPnPBase.cpp:1237:10: note: forward declaration of 'struct CUPnPControlPoint::Callback(Upnp_EventType, void*, void*)::Upnp_Event'
   struct Upnp_Event *e_event = (struct Upnp_Event *)Event;
          ^~~~~~~~~~
UPnPBase.cpp:1257:15: error: invalid use of incomplete type 'struct CUPnPControlPoint::Callback(Upnp_EventType, void*, void*)::Upnp_Event_Subscribe'
   if (es_event->ErrCode != UPNP_E_SUCCESS) {
               ^~
UPnPBase.cpp:1255:10: note: forward declaration of 'struct CUPnPControlPoint::Callback(Upnp_EventType, void*, void*)::Upnp_Event_Subscribe'
   struct Upnp_Event_Subscribe *es_event =
          ^~~~~~~~~~~~~~~~~~~~
UPnPBase.cpp:1260:24: error: invalid use of incomplete type 'struct CUPnPControlPoint::Callback(Upnp_EventType, void*, void*)::Upnp_Event_Subscribe'
     msg.str(), es_event->ErrCode, NULL, NULL);
                        ^~
UPnPBase.cpp:1255:10: note: forward declaration of 'struct CUPnPControlPoint::Callback(Upnp_EventType, void*, void*)::Upnp_Event_Subscribe'
   struct Upnp_Event_Subscribe *es_event =
          ^~~~~~~~~~~~~~~~~~~~
UPnPBase.cpp:1290:28: error: invalid use of incomplete type 'struct CUPnPControlPoint::Callback(Upnp_EventType, void*, void*)::Upnp_Event_Subscribe'
    GET_UPNP_STRING(es_event->PublisherUrl),
                            ^~
UPnPBase.cpp:43:52: note: in definition of macro 'GET_UPNP_STRING'
   #define GET_UPNP_STRING(a) UpnpString_get_String(a)
                                                    ^
UPnPBase.cpp:1283:10: note: forward declaration of 'struct CUPnPControlPoint::Callback(Upnp_EventType, void*, void*)::Upnp_Event_Subscribe'
   struct Upnp_Event_Subscribe *es_event =
          ^~~~~~~~~~~~~~~~~~~~
UPnPBase.cpp:1296:24: error: invalid use of incomplete type 'struct CUPnPControlPoint::Callback(Upnp_EventType, void*, void*)::Upnp_Event_Subscribe'
     msg.str(), es_event->ErrCode, NULL, NULL);
                        ^~
UPnPBase.cpp:1283:10: note: forward declaration of 'struct CUPnPControlPoint::Callback(Upnp_EventType, void*, void*)::Upnp_Event_Subscribe'
   struct Upnp_Event_Subscribe *es_event =
          ^~~~~~~~~~~~~~~~~~~~
UPnPBase.cpp:1299:55: error: invalid use of incomplete type 'struct CUPnPControlPoint::Callback(Upnp_EventType, void*, void*)::Upnp_Event_Subscribe'
     upnpCP->m_ServiceMap.find(GET_UPNP_STRING(es_event->PublisherUrl));
                                                       ^~
UPnPBase.cpp:43:52: note: in definition of macro 'GET_UPNP_STRING'
   #define GET_UPNP_STRING(a) UpnpString_get_String(a)
                                                    ^
UPnPBase.cpp:1283:10: note: forward declaration of 'struct CUPnPControlPoint::Callback(Upnp_EventType, void*, void*)::Upnp_Event_Subscribe'
   struct Upnp_Event_Subscribe *es_event =
          ^~~~~~~~~~~~~~~~~~~~
UPnPBase.cpp:1305:30: error: invalid use of incomplete type 'struct CUPnPControlPoint::Callback(Upnp_EventType, void*, void*)::Upnp_Event_Subscribe'
      GET_UPNP_STRING(es_event->PublisherUrl) <<
                              ^~
UPnPBase.cpp:43:52: note: in definition of macro 'GET_UPNP_STRING'
   #define GET_UPNP_STRING(a) UpnpString_get_String(a)
                                                    ^
UPnPBase.cpp:1283:10: note: forward declaration of 'struct CUPnPControlPoint::Callback(Upnp_EventType, void*, void*)::Upnp_Event_Subscribe'
   struct Upnp_Event_Subscribe *es_event =
          ^~~~~~~~~~~~~~~~~~~~
UPnPBase.cpp:1326:14: error: invalid use of incomplete type 'struct CUPnPControlPoint::Callback(Upnp_EventType, void*, void*)::Upnp_Action_Complete'
   if (a_event->ErrCode != UPNP_E_SUCCESS) {
              ^~
UPnPBase.cpp:1324:10: note: forward declaration of 'struct CUPnPControlPoint::Callback(Upnp_EventType, void*, void*)::Upnp_Action_Complete'
   struct Upnp_Action_Complete *a_event =
          ^~~~~~~~~~~~~~~~~~~~
UPnPBase.cpp:1329:12: error: invalid use of incomplete type 'struct CUPnPControlPoint::Callback(Upnp_EventType, void*, void*)::Upnp_Action_Complete'
     a_event->ErrCode, NULL,
            ^~
UPnPBase.cpp:1324:10: note: forward declaration of 'struct CUPnPControlPoint::Callback(Upnp_EventType, void*, void*)::Upnp_Action_Complete'
   struct Upnp_Action_Complete *a_event =
          ^~~~~~~~~~~~~~~~~~~~
UPnPBase.cpp:1330:12: error: invalid use of incomplete type 'struct CUPnPControlPoint::Callback(Upnp_EventType, void*, void*)::Upnp_Action_Complete'
     a_event->ActionResult);
            ^~
UPnPBase.cpp:1324:10: note: forward declaration of 'struct CUPnPControlPoint::Callback(Upnp_EventType, void*, void*)::Upnp_Action_Complete'
   struct Upnp_Action_Complete *a_event =
          ^~~~~~~~~~~~~~~~~~~~
UPnPBase.cpp:1334:12: error: invalid use of incomplete type 'struct CUPnPControlPoint::Callback(Upnp_EventType, void*, void*)::Upnp_Action_Complete'
     a_event->ActionResult,
            ^~
UPnPBase.cpp:1324:10: note: forward declaration of 'struct CUPnPControlPoint::Callback(Upnp_EventType, void*, void*)::Upnp_Action_Complete'
   struct Upnp_Action_Complete *a_event =
          ^~~~~~~~~~~~~~~~~~~~
UPnPBase.cpp:1347:15: error: invalid use of incomplete type 'struct CUPnPControlPoint::Callback(Upnp_EventType, void*, void*)::Upnp_State_Var_Complete'
   if (sv_event->ErrCode != UPNP_E_SUCCESS) {
               ^~
UPnPBase.cpp:1345:10: note: forward declaration of 'struct CUPnPControlPoint::Callback(Upnp_EventType, void*, void*)::Upnp_State_Var_Complete'
   struct Upnp_State_Var_Complete *sv_event =
          ^~~~~~~~~~~~~~~~~~~~~~~
UPnPBase.cpp:1350:24: error: invalid use of incomplete type 'struct CUPnPControlPoint::Callback(Upnp_EventType, void*, void*)::Upnp_State_Var_Complete'
     msg.str(), sv_event->ErrCode, NULL, NULL);
                        ^~
UPnPBase.cpp:1345:10: note: forward declaration of 'struct CUPnPControlPoint::Callback(Upnp_EventType, void*, void*)::Upnp_State_Var_Complete'
   struct Upnp_State_Var_Complete *sv_event =
          ^~~~~~~~~~~~~~~~~~~~~~~
make[3]: *** [Makefile:1968: libmuleappcore_a-UPnPBase.o] Error 1
make[2]: *** [Makefile:4952: all-recursive] Error 1
make[1]: *** [Makefile:633: all-recursive] Error 1
make: *** [Makefile:527: all] Error 2
./configure --enable-amule-daemon \
        --enable-amulecmd \
        --enable-webserver \
        --enable-amule-gui \
        --enable-cas \
        --enable-wxcas \
        --enable-alc \
        --enable-alcc \
        --enable-xas \
        --enable-geoip \
        --enable-optimize \
        --disable-debug \
        --disable-rpath \
        --enable-ccache \
        --enable-nls \
        --with-denoise-level=0

make
It compiles fine on Fedora 28, no clue what happened between the two Fedora releases.
No tags attached.
Issue History
2018-10-31 19:40skolnickNew Issue
2018-11-21 10:13GonoszTopiNote Added: 0003714
2020-06-16 11:02GonoszTopiFixed in Revision => 11011
2020-06-16 11:02GonoszTopiStatusnew => resolved
2020-06-16 11:02GonoszTopiResolutionopen => fixed
2020-06-16 11:02GonoszTopiFixed in Version => 2.3.3

Notes
(0003714)
GonoszTopi   
2018-11-21 10:13   
See https://github.com/amule-project/amule/pull/135 [^]