robotology / whole-body-estimators

YARP devices that implement estimators for humanoid robots.
26 stars 12 forks source link

Compilation failure against YARP master #158

Closed traversaro closed 2 years ago

traversaro commented 2 years ago

See:

2022-09-16T12:50:48.2730287Z FAILED: devices/virtualAnalogClient/CMakeFiles/virtualAnalogClient.dir/yarp_plugin_virtualAnalogClient.cpp.o 
2022-09-16T12:50:48.2733690Z /usr/share/miniconda3/envs/test/bin/x86_64-conda-linux-gnu-c++ -D_USE_MATH_DEFINES -DvirtualAnalogClient_EXPORTS -I/home/runner/work/robotology-superbuild/robotology-superbuild/src/whole-body-estimators/devices/virtualAnalogClient -isystem /home/runner/work/robotology-superbuild/robotology-superbuild/build/install/include -fvisibility-inlines-hidden -std=c++17 -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem /usr/share/miniconda3/envs/test/include -O3 -DNDEBUG -fPIC -std=gnu++17 -MD -MT devices/virtualAnalogClient/CMakeFiles/virtualAnalogClient.dir/yarp_plugin_virtualAnalogClient.cpp.o -MF devices/virtualAnalogClient/CMakeFiles/virtualAnalogClient.dir/yarp_plugin_virtualAnalogClient.cpp.o.d -o devices/virtualAnalogClient/CMakeFiles/virtualAnalogClient.dir/yarp_plugin_virtualAnalogClient.cpp.o -c /home/runner/work/robotology-superbuild/robotology-superbuild/build/src/whole-body-estimators/devices/virtualAnalogClient/yarp_plugin_virtualAnalogClient.cpp
2022-09-16T12:50:48.2736378Z In file included from /home/runner/work/robotology-superbuild/robotology-superbuild/build/install/include/yarp/os/SharedLibraryFactory.h:12,
2022-09-16T12:50:48.2737231Z                  from /home/runner/work/robotology-superbuild/robotology-superbuild/build/install/include/yarp/os/SharedLibraryClassFactory.h:9,
2022-09-16T12:50:48.2738071Z                  from /home/runner/work/robotology-superbuild/robotology-superbuild/build/install/include/yarp/os/SharedLibraryClass.h:10,
2022-09-16T12:50:48.2739015Z                  from /home/runner/work/robotology-superbuild/robotology-superbuild/build/src/whole-body-estimators/devices/virtualAnalogClient/yarp_plugin_virtualAnalogClient.cpp:8:
2022-09-16T12:50:48.2740137Z /home/runner/work/robotology-superbuild/robotology-superbuild/build/src/whole-body-estimators/devices/virtualAnalogClient/yarp_plugin_virtualAnalogClient.cpp: In function 'void* virtualAnalogClient_create()':
2022-09-16T12:50:48.2741656Z /home/runner/work/robotology-superbuild/robotology-superbuild/build/src/whole-body-estimators/devices/virtualAnalogClient/yarp_plugin_virtualAnalogClient.cpp:30:61: error: invalid new-expression of abstract class type 'yarp::dev::VirtualAnalogClient'
2022-09-16T12:50:48.2742456Z    30 | YARP_DEFINE_SHARED_SUBCLASS(virtualAnalogClient, yarp::dev::VirtualAnalogClient, yarp::dev::DeviceDriver)
2022-09-16T12:50:48.2744100Z       |                                                             ^~~~~~~~~~~~~~~~~~~
2022-09-16T12:50:48.2744925Z In file included from /home/runner/work/robotology-superbuild/robotology-superbuild/build/src/whole-body-estimators/devices/virtualAnalogClient/yarp_plugin_virtualAnalogClient.cpp:10:
2022-09-16T12:50:48.2746267Z /home/runner/work/robotology-superbuild/robotology-superbuild/src/whole-body-estimators/devices/virtualAnalogClient/VirtualAnalogClient.h:56:7: note:   because the following virtual functions are pure within 'yarp::dev::VirtualAnalogClient':
2022-09-16T12:50:48.2746968Z    56 | class VirtualAnalogClient:    public DeviceDriver,
2022-09-16T12:50:48.2747266Z       |       ^~~~~~~~~~~~~~~~~~~
2022-09-16T12:50:48.2747923Z In file included from /home/runner/work/robotology-superbuild/robotology-superbuild/build/install/include/yarp/dev/ControlBoardInterfaces.h:36,
2022-09-16T12:50:48.2748851Z                  from /home/runner/work/robotology-superbuild/robotology-superbuild/src/whole-body-estimators/devices/virtualAnalogClient/VirtualAnalogClient.h:14,
2022-09-16T12:50:48.2749825Z                  from /home/runner/work/robotology-superbuild/robotology-superbuild/build/src/whole-body-estimators/devices/virtualAnalogClient/yarp_plugin_virtualAnalogClient.cpp:10:
2022-09-16T12:50:48.2750897Z /home/runner/work/robotology-superbuild/robotology-superbuild/build/install/include/yarp/dev/IAxisInfo.h:49:18: note:     'virtual bool yarp::dev::IAxisInfo::getAxes(int*)'
2022-09-16T12:50:48.2751412Z    49 |     virtual bool getAxes(int* ax) = 0;
2022-09-16T12:50:48.2751691Z       |                  ^~~~~~~
2022-09-16T12:50:48.2752148Z [30/39] Building CXX object devices/wholeBodyDynamics/CMakeFiles/wholeBodyDynamicsDevice.dir/yarp_plugin_wholebodydynamics.cpp.o
2022-09-16T12:50:48.2752818Z [31/39] Building CXX object devices/wholeBodyDynamics/CMakeFiles/wholeBodyDynamicsDevice.dir/WholeBodyDynamicsDevice.cpp.o
2022-09-16T12:50:48.2753427Z ninja: build stopped: subcommand failed.
traversaro commented 2 years ago

I guess it is due to https://github.com/robotology/yarp/pull/2873 .