B0 Remote API V2 compile problem

Typically: "How do I... ", "How can I... " questions
Post Reply
mthsousa
Posts: 2
Joined: 14 May 2020, 00:19

B0 Remote API V2 compile problem

Post by mthsousa »

Hello there, I'm trying to use the B0 remote API, and a lot of errors appeared in the compilation. I installed the libraries ZeroMQ v4.1+, and Boost v1.54+. I'm using the last versions of coppelia and the B0 repository according to the instructions on README.


The errors are listed below. Who can I fix it?

~/coppeliaSim/programming/bluezero/build$ make
Scanning dependencies of target b0_gui_process_manager_automoc
[ 0%] Automatic moc and uic for target b0_gui_process_manager
Generating main.moc
Generating ui_mainwindow.h
Generating ui_mainwindow.h
Generating ui_startnodedialog.h
Generating moc_b0node.cpp
Generating moc_mainwindow.cpp
Generating moc_nodesview.cpp
Generating moc_startnodedialog.cpp
[ 0%] Built target b0_gui_process_manager_automoc
Scanning dependencies of target b0_automoc
[ 0%] Automatic moc and uic for target b0
[ 0%] Built target b0_automoc
Scanning dependencies of target b0
[ 1%] Building CXX object CMakeFiles/b0.dir/src/b0/b0.cpp.o
[ 1%] Building CXX object CMakeFiles/b0.dir/src/b0/node_state.cpp.o
[ 1%] Building CXX object CMakeFiles/b0.dir/src/b0/node.cpp.o
[ 2%] Building CXX object CMakeFiles/b0.dir/src/b0/socket.cpp.o
[ 2%] Building CXX object CMakeFiles/b0.dir/src/b0/publisher.cpp.o
[ 2%] Building CXX object CMakeFiles/b0.dir/src/b0/subscriber.cpp.o
[ 3%] Building CXX object CMakeFiles/b0.dir/src/b0/service_client.cpp.o
[ 3%] Building CXX object CMakeFiles/b0.dir/src/b0/service_server.cpp.o
[ 3%] Building CXX object CMakeFiles/b0.dir/src/b0/bindings/c.cpp.o
[ 4%] Building CXX object CMakeFiles/b0.dir/src/b0/compress/compress.cpp.o
[ 4%] Building CXX object CMakeFiles/b0.dir/src/b0/compress/lz4.cpp.o
[ 4%] Building CXX object CMakeFiles/b0.dir/src/b0/compress/zlib.cpp.o
[ 5%] Building CXX object CMakeFiles/b0.dir/src/b0/exception/exception.cpp.o
[ 5%] Building CXX object CMakeFiles/b0.dir/src/b0/exception/argument_error.cpp.o
[ 5%] Building CXX object CMakeFiles/b0.dir/src/b0/exception/invalid_state_transition.cpp.o
[ 6%] Building CXX object CMakeFiles/b0.dir/src/b0/exception/message_pack_error.cpp.o
[ 6%] Building CXX object CMakeFiles/b0.dir/src/b0/exception/message_unpack_error.cpp.o
[ 6%] Building CXX object CMakeFiles/b0.dir/src/b0/exception/name_resolution_error.cpp.o
[ 7%] Building CXX object CMakeFiles/b0.dir/src/b0/exception/unsupported_compression_algorithm.cpp.o
[ 7%] Building CXX object CMakeFiles/b0.dir/src/b0/message/message_envelope.cpp.o
[ 7%] Building CXX object CMakeFiles/b0.dir/src/b0/message/message.cpp.o
[ 8%] Building CXX object CMakeFiles/b0.dir/src/b0/logger/logger.cpp.o
[ 8%] Building CXX object CMakeFiles/b0.dir/src/b0/logger/level.cpp.o
[ 8%] Building CXX object CMakeFiles/b0.dir/src/b0/resolver/client.cpp.o
[ 9%] Building CXX object CMakeFiles/b0.dir/src/b0/resolver/resolver.cpp.o
[ 9%] Building CXX object CMakeFiles/b0.dir/src/b0/utils/env.cpp.o
[ 9%] Building CXX object CMakeFiles/b0.dir/src/b0/utils/thread_name.cpp.o
[ 10%] Building CXX object CMakeFiles/b0.dir/src/b0/utils/time_sync.cpp.o
[ 10%] Building CXX object CMakeFiles/b0.dir/src/b0/utils/graphviz.cpp.o
[ 10%] Building CXX object CMakeFiles/b0.dir/include/double-conversion/double-conversion/bignum-dtoa.cc.o
[ 11%] Building CXX object CMakeFiles/b0.dir/include/double-conversion/double-conversion/bignum.cc.o
[ 11%] Building CXX object CMakeFiles/b0.dir/include/double-conversion/double-conversion/cached-powers.cc.o
[ 11%] Building CXX object CMakeFiles/b0.dir/include/double-conversion/double-conversion/diy-fp.cc.o
[ 11%] Building CXX object CMakeFiles/b0.dir/include/double-conversion/double-conversion/double-conversion.cc.o
[ 12%] Building CXX object CMakeFiles/b0.dir/include/double-conversion/double-conversion/fast-dtoa.cc.o
[ 12%] Building CXX object CMakeFiles/b0.dir/include/double-conversion/double-conversion/fixed-dtoa.cc.o
[ 12%] Building CXX object CMakeFiles/b0.dir/include/double-conversion/double-conversion/strtod.cc.o
[ 13%] Building CXX object CMakeFiles/b0.dir/include/spotify-json/src/detail/encode_integer.cpp.o
[ 13%] Building CXX object CMakeFiles/b0.dir/include/spotify-json/src/detail/escape.cpp.o
[ 13%] Building CXX object CMakeFiles/b0.dir/include/spotify-json/src/detail/escape_sse42.cpp.o
[ 14%] Building CXX object CMakeFiles/b0.dir/include/spotify-json/src/detail/skip_chars.cpp.o
[ 14%] Building CXX object CMakeFiles/b0.dir/include/spotify-json/src/detail/skip_chars_sse42.cpp.o
[ 14%] Building CXX object CMakeFiles/b0.dir/include/spotify-json/src/detail/skip_value.cpp.o
[ 15%] Building CXX object CMakeFiles/b0.dir/b0_automoc.cpp.o
[ 15%] Linking CXX shared library libb0.so
[ 15%] Built target b0
Scanning dependencies of target b0_gui_process_manager
[ 16%] Building CXX object CMakeFiles/b0_gui_process_manager.dir/src/b0_gui_process_manager/main.cpp.o
[ 16%] Building CXX object CMakeFiles/b0_gui_process_manager.dir/src/b0_gui_process_manager/b0node.cpp.o
[ 16%] Building CXX object CMakeFiles/b0_gui_process_manager.dir/src/b0_gui_process_manager/nodesview.cpp.o
/home/matheus/coppeliaSim/programming/bluezero/src/b0_gui_process_manager/nodesview.cpp: In constructor ‘NodesView::NodesView(QWidget*)’:
/home/matheus/coppeliaSim/programming/bluezero/src/b0_gui_process_manager/nodesview.cpp:247:102: error: no matching function for call to ‘QMenu::addAction(const char [18], NodesView*, void (NodesView::*)())’
ontextMenu_->addAction("Start new node...", this, &NodesView::onMenuStartNode);
^
In file included from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QMenu:1:0,
from /home/matheus/coppeliaSim/programming/bluezero/src/b0_gui_process_manager/nodesview.h:9,
from /home/matheus/coppeliaSim/programming/bluezero/src/b0_gui_process_manager/nodesview.cpp:1:
/usr/include/x86_64-linux-gnu/qt5/QtWidgets/qmenu.h:76:14: note: candidate: QAction* QMenu::addAction(const QString&)
QAction *addAction(const QString &text);
^
/usr/include/x86_64-linux-gnu/qt5/QtWidgets/qmenu.h:76:14: note: candidate expects 1 argument, 3 provided
/usr/include/x86_64-linux-gnu/qt5/QtWidgets/qmenu.h:77:14: note: candidate: QAction* QMenu::addAction(const QIcon&, const QString&)
QAction *addAction(const QIcon &icon, const QString &text);
^
/usr/include/x86_64-linux-gnu/qt5/QtWidgets/qmenu.h:77:14: note: candidate expects 2 arguments, 3 provided
/usr/include/x86_64-linux-gnu/qt5/QtWidgets/qmenu.h:78:14: note: candidate: QAction* QMenu::addAction(const QString&, const QObject*, const char*, const QKeySequence&)
QAction *addAction(const QString &text, const QObject *receiver, const char
^
/usr/include/x86_64-linux-gnu/qt5/QtWidgets/qmenu.h:78:14: note: no known conversion for argument 3 from ‘void (NodesView::*)()’ to ‘const char*’
/usr/include/x86_64-linux-gnu/qt5/QtWidgets/qmenu.h:79:14: note: candidate: QAction* QMenu::addAction(const QIcon&, const QString&, const QObject*, const char*, const QKeySequence&)
QAction *addAction(const QIcon &icon, const QString &text, const QObject *r
^
/usr/include/x86_64-linux-gnu/qt5/QtWidgets/qmenu.h:79:14: note: candidate expects 5 arguments, 3 provided
In file included from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QWidget:1:0,
from /home/matheus/coppeliaSim/programming/bluezero/src/b0_gui_process_manager/nodesview.h:5,
from /home/matheus/coppeliaSim/programming/bluezero/src/b0_gui_process_manager/nodesview.cpp:1:
/usr/include/x86_64-linux-gnu/qt5/QtWidgets/qwidget.h:538:10: note: candidate: void QWidget::addAction(QAction*)
void addAction(QAction *action);
^
/usr/include/x86_64-linux-gnu/qt5/QtWidgets/qwidget.h:538:10: note: candidate expects 1 argument, 3 provided
/home/matheus/coppeliaSim/programming/bluezero/src/b0_gui_process_manager/nodesview.cpp:248:101: error: no matching function for call to ‘QMenu::addAction(const char [19], NodesView*, void (NodesView::*)())’
ontextMenu_->addAction("Stop selected node", this, &NodesView::onMenuStopNode);
^
In file included from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QMenu:1:0,
from /home/matheus/coppeliaSim/programming/bluezero/src/b0_gui_process_manager/nodesview.h:9,
from /home/matheus/coppeliaSim/programming/bluezero/src/b0_gui_process_manager/nodesview.cpp:1:
/usr/include/x86_64-linux-gnu/qt5/QtWidgets/qmenu.h:76:14: note: candidate: QAction* QMenu::addAction(const QString&)
QAction *addAction(const QString &text);
^
/usr/include/x86_64-linux-gnu/qt5/QtWidgets/qmenu.h:76:14: note: candidate expects 1 argument, 3 provided
/usr/include/x86_64-linux-gnu/qt5/QtWidgets/qmenu.h:77:14: note: candidate: QAction* QMenu::addAction(const QIcon&, const QString&)
QAction *addAction(const QIcon &icon, const QString &text);
^
/usr/include/x86_64-linux-gnu/qt5/QtWidgets/qmenu.h:77:14: note: candidate expects 2 arguments, 3 provided
/usr/include/x86_64-linux-gnu/qt5/QtWidgets/qmenu.h:78:14: note: candidate: QAction* QMenu::addAction(const QString&, const QObject*, const char*, const QKeySequence&)
QAction *addAction(const QString &text, const QObject *receiver, const char
^
/usr/include/x86_64-linux-gnu/qt5/QtWidgets/qmenu.h:78:14: note: no known conversion for argument 3 from ‘void (NodesView::*)()’ to ‘const char*’
/usr/include/x86_64-linux-gnu/qt5/QtWidgets/qmenu.h:79:14: note: candidate: QAction* QMenu::addAction(const QIcon&, const QString&, const QObject*, const char*, const QKeySequence&)
QAction *addAction(const QIcon &icon, const QString &text, const QObject *r
^
/usr/include/x86_64-linux-gnu/qt5/QtWidgets/qmenu.h:79:14: note: candidate expects 5 arguments, 3 provided
In file included from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QWidget:1:0,
from /home/matheus/coppeliaSim/programming/bluezero/src/b0_gui_process_manager/nodesview.h:5,
from /home/matheus/coppeliaSim/programming/bluezero/src/b0_gui_process_manager/nodesview.cpp:1:
/usr/include/x86_64-linux-gnu/qt5/QtWidgets/qwidget.h:538:10: note: candidate: void QWidget::addAction(QAction*)
void addAction(QAction *action);
^
/usr/include/x86_64-linux-gnu/qt5/QtWidgets/qwidget.h:538:10: note: candidate expects 1 argument, 3 provided
/home/matheus/coppeliaSim/programming/bluezero/src/b0_gui_process_manager/nodesview.cpp:255:82: error: no matching function for call to ‘QMenu::addAction(const char [14], NodesView*, void (NodesView::*)())’
contextMenu_->addAction("Arrange items", this, &NodesView::onMenuArrangeItems);
^
In file included from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QMenu:1:0,
from /home/matheus/coppeliaSim/programming/bluezero/src/b0_gui_process_manager/nodesview.h:9,
from /home/matheus/coppeliaSim/programming/bluezero/src/b0_gui_process_manager/nodesview.cpp:1:
/usr/include/x86_64-linux-gnu/qt5/QtWidgets/qmenu.h:76:14: note: candidate: QAction* QMenu::addAction(const QString&)
QAction *addAction(const QString &text);
^
/usr/include/x86_64-linux-gnu/qt5/QtWidgets/qmenu.h:76:14: note: candidate expects 1 argument, 3 provided
/usr/include/x86_64-linux-gnu/qt5/QtWidgets/qmenu.h:77:14: note: candidate: QAction* QMenu::addAction(const QIcon&, const QString&)
QAction *addAction(const QIcon &icon, const QString &text);
^
/usr/include/x86_64-linux-gnu/qt5/QtWidgets/qmenu.h:77:14: note: candidate expects 2 arguments, 3 provided
/usr/include/x86_64-linux-gnu/qt5/QtWidgets/qmenu.h:78:14: note: candidate: QAction* QMenu::addAction(const QString&, const QObject*, const char*, const QKeySequence&)
QAction *addAction(const QString &text, const QObject *receiver, const char
^
/usr/include/x86_64-linux-gnu/qt5/QtWidgets/qmenu.h:78:14: note: no known conversion for argument 3 from ‘void (NodesView::*)()’ to ‘const char*’
/usr/include/x86_64-linux-gnu/qt5/QtWidgets/qmenu.h:79:14: note: candidate: QAction* QMenu::addAction(const QIcon&, const QString&, const QObject*, const char*, const QKeySequence&)
QAction *addAction(const QIcon &icon, const QString &text, const QObject *r
^
/usr/include/x86_64-linux-gnu/qt5/QtWidgets/qmenu.h:79:14: note: candidate expects 5 arguments, 3 provided
In file included from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QWidget:1:0,
from /home/matheus/coppeliaSim/programming/bluezero/src/b0_gui_process_manager/nodesview.h:5,
from /home/matheus/coppeliaSim/programming/bluezero/src/b0_gui_process_manager/nodesview.cpp:1:
/usr/include/x86_64-linux-gnu/qt5/QtWidgets/qwidget.h:538:10: note: candidate: void QWidget::addAction(QAction*)
void addAction(QAction *action);
^
/usr/include/x86_64-linux-gnu/qt5/QtWidgets/qwidget.h:538:10: note: candidate expects 1 argument, 3 provided
CMakeFiles/b0_gui_process_manager.dir/build.make:110: recipe for target 'CMakeFiles/b0_gui_process_manager.dir/src/b0_gui_process_manager/nodesview.cpp.o' failed
make[2]: *** [CMakeFiles/b0_gui_process_manager.dir/src/b0_gui_process_manager/nodesview.cpp.o] Error 1
CMakeFiles/Makefile2:68: recipe for target 'CMakeFiles/b0_gui_process_manager.dir/all' failed
make[1]: *** [CMakeFiles/b0_gui_process_manager.dir/all] Error 2
Makefile:94: recipe for target 'all' failed
make: *** [all] Error 2

coppelia
Site Admin
Posts: 10339
Joined: 14 Dec 2012, 00:25

Re: B0 Remote API V2 compile problem

Post by coppelia »

Hello,

to use the B0-based remote API, you normally do not have to compile everything yourself. You can find all required precompiled binaries in the CoppeliaSim folder.
To check if BlueZero and its CoppeliaPlugin work, open demo scene blueZeroDemo1.ttt and run it. Does it work without error? (normally it should start the B0 resolver automatically)
To check if the B0-based remote API works, open demo scene synchronousImageTransmissionViaRemoteApi.ttt (do not run it) and run b0remoteApiBindings/python/synchronousImageTransmission.py (you may have to copy everything into the CoppeliaSim folder and run it from there)

Cheers

Post Reply