Menu

#1310 Undefine reference to soap_traverse_xsd__dateTime

v1.0 (example)
closed
None
5
2023-03-22
2023-03-17
swire
No

These output errors are generated when I compile code using gsoap library.

And i didn't find the definition of soap_traverse_xsd__dateTime in the "custom" directory any source file, like "custom/struct_timeval.c" file.

/usr/bin/ld: ../lib/libonvif_server.a(soapC.c.o): in function `soap_traverse_PointerToxsd__dateTime':
soapC.c:(.text+0x4b2ad8): undefined reference to `soap_traverse_xsd__dateTime'
/usr/bin/ld: ../lib/libonvif_server.a(soapC.c.o): in function `soap_traverse_wsrfr__ResourceUnavailableFaultType':
soapC.c:(.text+0xfc184): undefined reference to `soap_traverse_xsd__dateTime'
/usr/bin/ld: ../lib/libonvif_server.a(soapC.c.o): in function `soap_traverse_wsrfr__ResourceUnknownFaultType':
soapC.c:(.text+0xfe05d): undefined reference to `soap_traverse_xsd__dateTime'
/usr/bin/ld: ../lib/libonvif_server.a(soapC.c.o): in function `soap_traverse_wsnt__ResumeFailedFaultType':
soapC.c:(.text+0xfff36): undefined reference to `soap_traverse_xsd__dateTime'
/usr/bin/ld: ../lib/libonvif_server.a(soapC.c.o): in function `soap_traverse_wsnt__PauseFailedFaultType':
soapC.c:(.text+0x101e0f): undefined reference to `soap_traverse_xsd__dateTime'
/usr/bin/ld: ../lib/libonvif_server.a(soapC.c.o): in function `soap_traverse_wsnt__UnableToDestroySubscriptionFaultType':
soapC.c:(.text+0x103ce8): undefined reference to `soap_traverse_xsd__dateTime'
/usr/bin/ld: ../lib/libonvif_server.a(soapC.c.o):soapC.c:(.text+0x105c2e): more undefined references to `soap_traverse_xsd__dateTime' follow

Discussion

  • Robert van Engelen

    The problem is not clear. What options are used? What are the build steps? What is the part of the .h interface header file for soapcpp2 that contains the custom type?

     

    Last edit: Robert van Engelen 2023-03-21
  • Robert van Engelen

    Adding traverse functions for custom types is meant to be done by the user, because soapcpp2 cannot "see" the internals of the custom serializable type definition. For example, if it is a struct with members like struct timeval, then the members are not visible to soapcpp2. It can only treat custom serializable types as if they are "primitive" types with no structure. If so, it's easy for soapcpp2 to generate traversal functions for these. Otherwise the user has to provide traversal functions, which is currently expected.

    To make this foolproof, the upcoming update 2.8.127 will assume that all custom types are simply dumb primitive types to generate a traversal function for those. This may not always be what the user may wanted if the custom type is actually structural.

     
  • Robert van Engelen

    • status: open --> closed
    • assigned_to: Robert van Engelen
     

Log in to post a comment.