-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
Ahoj,
I am trying to build release version 0.2.1 of cppbtl on Artix GNU/Linux (rolling release), using this recipe.
Build fails for me with main.cpp:83:27: error: no matching function for call to 'createProxy' and subsequent errors (full build output below).
My GCC version is 14.2.1, sdbus-cpp version is 2.1.0.
Build output of
cmake -DCMAKE_INSTALL_PREFIX=/usr
make -j1
-- The C compiler identification is Clang 18.1.8
-- The CXX compiler identification is Clang 18.1.8
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/clang - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/clang++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring done (0.5s)
-- Generating done (0.0s)
-- Build files have been written to: /var/cache/makepkg/build/cppbtbl/src/build
[ 25%] Building CXX object CMakeFiles/cppbtbl.dir/src/config.cpp.o
[ 50%] Building CXX object CMakeFiles/cppbtbl.dir/src/main.cpp.o
/var/cache/makepkg/build/cppbtbl/src/cppbtbl-0.2.1/src/main.cpp:83:27: error: no matching function for call to 'createProxy'
83 | auto device_obj = sdbus::createProxy(UPOWER_IFACE, device);
| ^~~~~~~~~~~~~~~~~~
/usr/include/sdbus-c++/IProxy.h:936:50: note: candidate function not viable: no known conversion from 'const char[23]' to 'ServiceName' (aka 'sdbus::BusName') for 1st argument
936 | [[nodiscard]] std::unique_ptr<sdbus::IProxy> createProxy( ServiceName destination
| ^ ~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/sdbus-c++/IProxy.h:861:50: note: candidate function not viable: requires 3 arguments, but 2 were provided
861 | [[nodiscard]] std::unique_ptr<sdbus::IProxy> createProxy( sdbus::IConnection& connection
| ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
862 | , ServiceName destination
| ~~~~~~~~~~~~~~~~~~~~~~~~~
863 | , ObjectPath objectPath );
| ~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/sdbus-c++/IProxy.h:887:50: note: candidate function not viable: requires 3 arguments, but 2 were provided
887 | [[nodiscard]] std::unique_ptr<sdbus::IProxy> createProxy( std::unique_ptr<sdbus::IConnection>&& connection
| ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
888 | , ServiceName destination
| ~~~~~~~~~~~~~~~~~~~~~~~~~
889 | , ObjectPath objectPath );
| ~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/sdbus-c++/IProxy.h:957:50: note: candidate function not viable: requires 3 arguments, but 2 were provided
957 | [[nodiscard]] std::unique_ptr<sdbus::IProxy> createProxy( ServiceName destination
| ^ ~~~~~~~~~~~~~~~~~~~~~~~
958 | , ObjectPath objectPath
| ~~~~~~~~~~~~~~~~~~~~~~~
959 | , dont_run_event_loop_thread_t );
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/sdbus-c++/IProxy.h:914:50: note: candidate function not viable: requires 4 arguments, but 2 were provided
914 | [[nodiscard]] std::unique_ptr<sdbus::IProxy> createProxy( std::unique_ptr<sdbus::IConnection>&& connection
| ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
915 | , ServiceName destination
| ~~~~~~~~~~~~~~~~~~~~~~~~~
916 | , ObjectPath objectPath
| ~~~~~~~~~~~~~~~~~~~~~~~
917 | , dont_run_event_loop_thread_t );
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/var/cache/makepkg/build/cppbtbl/src/cppbtbl-0.2.1/src/main.cpp:121:26: error: no matching function for call to 'createProxy'
121 | auto device_object = sdbus::createProxy(UPOWER_IFACE, path);
| ^~~~~~~~~~~~~~~~~~
/usr/include/sdbus-c++/IProxy.h:936:50: note: candidate function not viable: no known conversion from 'const char[23]' to 'ServiceName' (aka 'sdbus::BusName') for 1st argument
936 | [[nodiscard]] std::unique_ptr<sdbus::IProxy> createProxy( ServiceName destination
| ^ ~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/sdbus-c++/IProxy.h:861:50: note: candidate function not viable: requires 3 arguments, but 2 were provided
861 | [[nodiscard]] std::unique_ptr<sdbus::IProxy> createProxy( sdbus::IConnection& connection
| ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
862 | , ServiceName destination
| ~~~~~~~~~~~~~~~~~~~~~~~~~
863 | , ObjectPath objectPath );
| ~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/sdbus-c++/IProxy.h:887:50: note: candidate function not viable: requires 3 arguments, but 2 were provided
887 | [[nodiscard]] std::unique_ptr<sdbus::IProxy> createProxy( std::unique_ptr<sdbus::IConnection>&& connection
| ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
888 | , ServiceName destination
| ~~~~~~~~~~~~~~~~~~~~~~~~~
889 | , ObjectPath objectPath );
| ~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/sdbus-c++/IProxy.h:957:50: note: candidate function not viable: requires 3 arguments, but 2 were provided
957 | [[nodiscard]] std::unique_ptr<sdbus::IProxy> createProxy( ServiceName destination
| ^ ~~~~~~~~~~~~~~~~~~~~~~~
958 | , ObjectPath objectPath
| ~~~~~~~~~~~~~~~~~~~~~~~
959 | , dont_run_event_loop_thread_t );
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/sdbus-c++/IProxy.h:914:50: note: candidate function not viable: requires 4 arguments, but 2 were provided
914 | [[nodiscard]] std::unique_ptr<sdbus::IProxy> createProxy( std::unique_ptr<sdbus::IConnection>&& connection
| ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
915 | , ServiceName destination
| ~~~~~~~~~~~~~~~~~~~~~~~~~
916 | , ObjectPath objectPath
| ~~~~~~~~~~~~~~~~~~~~~~~
917 | , dont_run_event_loop_thread_t );
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/var/cache/makepkg/build/cppbtbl/src/cppbtbl-0.2.1/src/main.cpp:168:44: error: no matching function for call to 'createProxy'
168 | std::unique_ptr<sdbus::IProxy> proxy = sdbus::createProxy(UPOWER_IFACE, UPOWER_PATH);
| ^~~~~~~~~~~~~~~~~~
/usr/include/sdbus-c++/IProxy.h:936:50: note: candidate function not viable: no known conversion from 'const char[23]' to 'ServiceName' (aka 'sdbus::BusName') for 1st argument
936 | [[nodiscard]] std::unique_ptr<sdbus::IProxy> createProxy( ServiceName destination
| ^ ~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/sdbus-c++/IProxy.h:861:50: note: candidate function not viable: requires 3 arguments, but 2 were provided
861 | [[nodiscard]] std::unique_ptr<sdbus::IProxy> createProxy( sdbus::IConnection& connection
| ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
862 | , ServiceName destination
| ~~~~~~~~~~~~~~~~~~~~~~~~~
863 | , ObjectPath objectPath );
| ~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/sdbus-c++/IProxy.h:887:50: note: candidate function not viable: requires 3 arguments, but 2 were provided
887 | [[nodiscard]] std::unique_ptr<sdbus::IProxy> createProxy( std::unique_ptr<sdbus::IConnection>&& connection
| ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
888 | , ServiceName destination
| ~~~~~~~~~~~~~~~~~~~~~~~~~
889 | , ObjectPath objectPath );
| ~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/sdbus-c++/IProxy.h:957:50: note: candidate function not viable: requires 3 arguments, but 2 were provided
957 | [[nodiscard]] std::unique_ptr<sdbus::IProxy> createProxy( ServiceName destination
| ^ ~~~~~~~~~~~~~~~~~~~~~~~
958 | , ObjectPath objectPath
| ~~~~~~~~~~~~~~~~~~~~~~~
959 | , dont_run_event_loop_thread_t );
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/sdbus-c++/IProxy.h:914:50: note: candidate function not viable: requires 4 arguments, but 2 were provided
914 | [[nodiscard]] std::unique_ptr<sdbus::IProxy> createProxy( std::unique_ptr<sdbus::IConnection>&& connection
| ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
915 | , ServiceName destination
| ~~~~~~~~~~~~~~~~~~~~~~~~~
916 | , ObjectPath objectPath
| ~~~~~~~~~~~~~~~~~~~~~~~
917 | , dont_run_event_loop_thread_t );
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/var/cache/makepkg/build/cppbtbl/src/cppbtbl-0.2.1/src/main.cpp:169:39: error: 'createMethodCall' is a protected member of 'sdbus::IProxy'
169 | sdbus::MethodCall method = proxy->createMethodCall(UPOWER_IFACE, "EnumerateDevices");
| ~~~~~~~^~~~~~~~~~~~~~~~
/usr/include/sdbus-c++/IProxy.h:655:42: note: declared protected here
655 | [[nodiscard]] virtual MethodCall createMethodCall(const char* interfaceName, const char* methodName) const = 0;
| ^
/var/cache/makepkg/build/cppbtbl/src/cppbtbl-0.2.1/src/main.cpp:186:12: error: no matching member function for call to 'registerSignalHandler'
186 | proxy->registerSignalHandler(UPOWER_IFACE, "DeviceAdded", &_device_added_signal);
| ~~~~~~~^~~~~~~~~~~~~~~~~~~~~
/usr/include/sdbus-c++/IProxy.h:656:22: note: candidate function not viable: no known conversion from 'void (*)(sdbus::Signal &)' to 'signal_handler' (aka 'function<void (Signal)>') for 3rd argument
656 | virtual void registerSignalHandler( const char* interfaceName
| ^
657 | , const char* signalName
658 | , signal_handler signalHandler ) = 0;
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/sdbus-c++/IProxy.h:625:22: note: candidate function not viable: no known conversion from 'const char[23]' to 'const InterfaceName' for 1st argument
625 | virtual void registerSignalHandler( const InterfaceName& interfaceName
| ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/sdbus-c++/IProxy.h:645:36: note: candidate function not viable: requires 4 arguments, but 3 were provided
645 | [[nodiscard]] virtual Slot registerSignalHandler( const InterfaceName& interfaceName
| ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
646 | , const SignalName& signalName
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
647 | , signal_handler signalHandler
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
648 | , return_slot_t ) = 0;
| ~~~~~~~~~~~~~~~
/usr/include/sdbus-c++/IProxy.h:659:36: note: candidate function not viable: requires 4 arguments, but 3 were provided
659 | [[nodiscard]] virtual Slot registerSignalHandler( const char* interfaceName
| ^ ~~~~~~~~~~~~~~~~~~~~~~~~~
660 | , const char* signalName
| ~~~~~~~~~~~~~~~~~~~~~~~~
661 | , signal_handler signalHandler
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
662 | , return_slot_t ) = 0;
| ~~~~~~~~~~~~~~~
/var/cache/makepkg/build/cppbtbl/src/cppbtbl-0.2.1/src/main.cpp:187:12: error: no matching member function for call to 'registerSignalHandler'
187 | proxy->registerSignalHandler(UPOWER_IFACE, "DeviceRemoved", &_device_removed_signal);
| ~~~~~~~^~~~~~~~~~~~~~~~~~~~~
/usr/include/sdbus-c++/IProxy.h:656:22: note: candidate function not viable: no known conversion from 'void (*)(sdbus::Signal &)' to 'signal_handler' (aka 'function<void (Signal)>') for 3rd argument
656 | virtual void registerSignalHandler( const char* interfaceName
| ^
657 | , const char* signalName
658 | , signal_handler signalHandler ) = 0;
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/sdbus-c++/IProxy.h:625:22: note: candidate function not viable: no known conversion from 'const char[23]' to 'const InterfaceName' for 1st argument
625 | virtual void registerSignalHandler( const InterfaceName& interfaceName
| ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/sdbus-c++/IProxy.h:645:36: note: candidate function not viable: requires 4 arguments, but 3 were provided
645 | [[nodiscard]] virtual Slot registerSignalHandler( const InterfaceName& interfaceName
| ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
646 | , const SignalName& signalName
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
647 | , signal_handler signalHandler
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
648 | , return_slot_t ) = 0;
| ~~~~~~~~~~~~~~~
/usr/include/sdbus-c++/IProxy.h:659:36: note: candidate function not viable: requires 4 arguments, but 3 were provided
659 | [[nodiscard]] virtual Slot registerSignalHandler( const char* interfaceName
| ^ ~~~~~~~~~~~~~~~~~~~~~~~~~
660 | , const char* signalName
| ~~~~~~~~~~~~~~~~~~~~~~~~
661 | , signal_handler signalHandler
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
662 | , return_slot_t ) = 0;
| ~~~~~~~~~~~~~~~
/var/cache/makepkg/build/cppbtbl/src/cppbtbl-0.2.1/src/main.cpp:188:12: error: no member named 'finishRegistration' in 'sdbus::IProxy'
188 | proxy->finishRegistration();
| ~~~~~~~^
7 errors generated.
make[2]: *** [CMakeFiles/cppbtbl.dir/build.make:93: CMakeFiles/cppbtbl.dir/src/main.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:87: CMakeFiles/cppbtbl.dir/all] Error 2
make: *** [Makefile:136: all] Error 2
Regards!
Metadata
Metadata
Assignees
Labels
No labels