facebook / fb303

fb303 is a core set of thrift functions that provide a common mechanism for querying stats and other information from a service.
Apache License 2.0
75 stars 48 forks source link

Undefined symbols: "__ZTHN6apache6thrift15ServerInterface14requestParams_E" #30

Closed barracuda156 closed 2 months ago

barracuda156 commented 2 years ago

I have been updating folly and others in Macports (to 2022.08.08), and the last port remaining is fb303, which fails for me on:

Undefined symbols:
  "__ZTHN6apache6thrift15ServerInterface14requestParams_E", referenced from:
      __ZN6apache6thrift6detail2si11AsyncTmPrepC4EPNS0_15ServerInterfaceEPNS0_19HandlerCallbackBaseE in BaseService.cpp.o
      __ZN6apache6thrift6detail2si11AsyncTmPrepC4EPNS0_15ServerInterfaceEPNS0_19HandlerCallbackBaseE in BaseService.cpp.o
      __ZN6apache6thrift6detail2si11AsyncTmPrepC4EPNS0_15ServerInterfaceEPNS0_19HandlerCallbackBaseE in BaseService.cpp.o
      __ZN6apache6thrift6detail2si11AsyncTmPrepD1Ev in BaseService.cpp.o
      __ZN8facebook5fb3034cpp225BaseServiceAsyncProcessor24executeRequest_setOptionIN6apache6thrift20BinaryProtocolReaderENS5_20BinaryProtocolWriterEEEvONS5_13ServerRequestE in BaseService.cpp.o
      __ZN8facebook5fb3034cpp225BaseServiceAsyncProcessor24executeRequest_getOptionIN6apache6thrift20BinaryProtocolReaderENS5_20BinaryProtocolWriterEEEvONS5_13ServerRequestE in BaseService.cpp.o
      __ZN8facebook5fb3034cpp225BaseServiceAsyncProcessor31executeRequest_getExportedValueIN6apache6thrift20BinaryProtocolReaderENS5_20BinaryProtocolWriterEEEvONS5_13ServerRequestE in BaseService.cpp.o
      __ZN8facebook5fb3034cpp225BaseServiceAsyncProcessor37executeRequest_getRegexExportedValuesIN6apache6thrift20BinaryProtocolReaderENS5_20BinaryProtocolWriterEEEvONS5_13ServerRequestE in BaseService.cpp.o
      __ZN8facebook5fb3034cpp225BaseServiceAsyncProcessor25executeRequest_getCounterIN6apache6thrift20BinaryProtocolReaderENS5_20BinaryProtocolWriterEEEvONS5_13ServerRequestE in BaseService.cpp.o
      __ZN8facebook5fb3034cpp225BaseServiceAsyncProcessor31executeRequest_getRegexCountersIN6apache6thrift20BinaryProtocolReaderENS5_20BinaryProtocolWriterEEEvONS5_13ServerRequestE in BaseService.cpp.o
      __ZN8facebook5fb3034cpp225BaseServiceAsyncProcessor24executeRequest_getStatusIN6apache6thrift20BinaryProtocolReaderENS5_20BinaryProtocolWriterEEEvONS5_13ServerRequestE in BaseService.cpp.o
      __ZN8facebook5fb3034cpp225BaseServiceAsyncProcessor22executeRequest_getNameIN6apache6thrift20BinaryProtocolReaderENS5_20BinaryProtocolWriterEEEvONS5_13ServerRequestE in BaseService.cpp.o
      __ZN8facebook5fb3034cpp225BaseServiceAsyncProcessor25executeRequest_getVersionIN6apache6thrift20BinaryProtocolReaderENS5_20BinaryProtocolWriterEEEvONS5_13ServerRequestE in BaseService.cpp.o
      __ZN8facebook5fb3034cpp225BaseServiceAsyncProcessor31executeRequest_getStatusDetailsIN6apache6thrift20BinaryProtocolReaderENS5_20BinaryProtocolWriterEEEvONS5_13ServerRequestE in BaseService.cpp.o
      __ZN8facebook5fb3034cpp225BaseServiceAsyncProcessor26executeRequest_getCountersIN6apache6thrift20BinaryProtocolReaderENS5_20BinaryProtocolWriterEEEvONS5_13ServerRequestE in BaseService.cpp.o
      __ZN8facebook5fb3034cpp225BaseServiceAsyncProcessor32executeRequest_getExportedValuesIN6apache6thrift20BinaryProtocolReaderENS5_20BinaryProtocolWriterEEEvONS5_13ServerRequestE in BaseService.cpp.o
      __ZN8facebook5fb3034cpp225BaseServiceAsyncProcessor25executeRequest_getOptionsIN6apache6thrift20BinaryProtocolReaderENS5_20BinaryProtocolWriterEEEvONS5_13ServerRequestE in BaseService.cpp.o
      __ZN8facebook5fb3034cpp225BaseServiceAsyncProcessor25executeRequest_aliveSinceIN6apache6thrift20BinaryProtocolReaderENS5_20BinaryProtocolWriterEEEvONS5_13ServerRequestE in BaseService.cpp.o
      __ZN8facebook5fb3034cpp225BaseServiceAsyncProcessor25executeRequest_aliveSinceIN6apache6thrift21CompactProtocolReaderENS5_21CompactProtocolWriterEEEvONS5_13ServerRequestE in BaseService.cpp.o
      __ZN8facebook5fb3034cpp225BaseServiceAsyncProcessor25executeRequest_getOptionsIN6apache6thrift21CompactProtocolReaderENS5_21CompactProtocolWriterEEEvONS5_13ServerRequestE in BaseService.cpp.o
      __ZN8facebook5fb3034cpp225BaseServiceAsyncProcessor24executeRequest_getOptionIN6apache6thrift21CompactProtocolReaderENS5_21CompactProtocolWriterEEEvONS5_13ServerRequestE in BaseService.cpp.o
      __ZN8facebook5fb3034cpp225BaseServiceAsyncProcessor24executeRequest_setOptionIN6apache6thrift21CompactProtocolReaderENS5_21CompactProtocolWriterEEEvONS5_13ServerRequestE in BaseService.cpp.o
      __ZN8facebook5fb3034cpp225BaseServiceAsyncProcessor31executeRequest_getExportedValueIN6apache6thrift21CompactProtocolReaderENS5_21CompactProtocolWriterEEEvONS5_13ServerRequestE in BaseService.cpp.o
      __ZN8facebook5fb3034cpp225BaseServiceAsyncProcessor37executeRequest_getRegexExportedValuesIN6apache6thrift21CompactProtocolReaderENS5_21CompactProtocolWriterEEEvONS5_13ServerRequestE in BaseService.cpp.o
      __ZN8facebook5fb3034cpp225BaseServiceAsyncProcessor32executeRequest_getExportedValuesIN6apache6thrift21CompactProtocolReaderENS5_21CompactProtocolWriterEEEvONS5_13ServerRequestE in BaseService.cpp.o
      __ZN8facebook5fb3034cpp225BaseServiceAsyncProcessor25executeRequest_getCounterIN6apache6thrift21CompactProtocolReaderENS5_21CompactProtocolWriterEEEvONS5_13ServerRequestE in BaseService.cpp.o
      __ZN8facebook5fb3034cpp225BaseServiceAsyncProcessor31executeRequest_getRegexCountersIN6apache6thrift21CompactProtocolReaderENS5_21CompactProtocolWriterEEEvONS5_13ServerRequestE in BaseService.cpp.o
      __ZN8facebook5fb3034cpp225BaseServiceAsyncProcessor26executeRequest_getCountersIN6apache6thrift21CompactProtocolReaderENS5_21CompactProtocolWriterEEEvONS5_13ServerRequestE in BaseService.cpp.o
      __ZN8facebook5fb3034cpp225BaseServiceAsyncProcessor31executeRequest_getStatusDetailsIN6apache6thrift21CompactProtocolReaderENS5_21CompactProtocolWriterEEEvONS5_13ServerRequestE in BaseService.cpp.o
      __ZN8facebook5fb3034cpp225BaseServiceAsyncProcessor25executeRequest_getVersionIN6apache6thrift21CompactProtocolReaderENS5_21CompactProtocolWriterEEEvONS5_13ServerRequestE in BaseService.cpp.o
      __ZN8facebook5fb3034cpp225BaseServiceAsyncProcessor22executeRequest_getNameIN6apache6thrift21CompactProtocolReaderENS5_21CompactProtocolWriterEEEvONS5_13ServerRequestE in BaseService.cpp.o
      __ZN8facebook5fb3034cpp225BaseServiceAsyncProcessor24executeRequest_getStatusIN6apache6thrift21CompactProtocolReaderENS5_21CompactProtocolWriterEEEvONS5_13ServerRequestE in BaseService.cpp.o
      __ZN8facebook5fb3034cpp225BaseServiceAsyncProcessor40executeRequest_getSelectedExportedValuesIN6apache6thrift20BinaryProtocolReaderENS5_20BinaryProtocolWriterEEEvONS5_13ServerRequestE in BaseService.cpp.o
      __ZN8facebook5fb3034cpp225BaseServiceAsyncProcessor34executeRequest_getSelectedCountersIN6apache6thrift20BinaryProtocolReaderENS5_20BinaryProtocolWriterEEEvONS5_13ServerRequestE in BaseService.cpp.o
      __ZN8facebook5fb3034cpp225BaseServiceAsyncProcessor40executeRequest_getSelectedExportedValuesIN6apache6thrift21CompactProtocolReaderENS5_21CompactProtocolWriterEEEvONS5_13ServerRequestE in BaseService.cpp.o
      __ZN8facebook5fb3034cpp225BaseServiceAsyncProcessor34executeRequest_getSelectedCountersIN6apache6thrift21CompactProtocolReaderENS5_21CompactProtocolWriterEEEvONS5_13ServerRequestE in BaseService.cpp.o
      __ZTHN6apache6thrift15ServerInterface14requestParams_E$non_lazy_ptr in BaseService.cpp.o
     (maybe you meant: __ZTHN6apache6thrift15ServerInterface14requestParams_E$non_lazy_ptr)
ld: symbol(s) not found
collect2: error: ld returned 1 exit status
make[2]: *** [fb303/thrift/libfb303_thrift_cpp.1.0.0.dylib] Error 1
make[2]: Leaving directory `/opt/local/var/macports/build/_opt_PPCRosettaPorts_devel_fb303/fb303/work/build'
make[1]: *** [fb303/thrift/CMakeFiles/fb303_thrift_cpp.dir/all] Error 2

Any suggestion what can be going wrong?

I know old systems are not supported, so I do not expect a fix, just suggestions what to try. My build is on 10.6.8 for ppc32 using GCC 12.2.0 and Cmake 3.24.1.

barracuda156 commented 2 years ago

Looks like the issue arises from autogenerated files in thrift/gen-cpp2, and it is not quite clear where they come from or why this particular symbol is missing.

yfeldblum commented 2 months ago

Usually this would mean a source file is missing from the cmake source declarations.