Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

catkin_make 0.7a - lock_guard #74

Closed
TSC21 opened this issue Aug 1, 2014 · 5 comments
Closed

catkin_make 0.7a - lock_guard #74

TSC21 opened this issue Aug 1, 2014 · 5 comments
Labels
Milestone

Comments

@TSC21
Copy link
Member

TSC21 commented Aug 1, 2014

Hi @vooon,

I'm trying to compile your last version of the code (since you return to asio) but I get the following:
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_udp.cpp:36:7: error: expected nested-name-specifier before ‘lock_guard’
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_udp.cpp:36:7: error: ‘lock_guard’ has not been declared
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_udp.cpp:36:18: error: expected ‘;’ before ‘=’ token
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_udp.cpp:36:18: error: expected unqualified-id before ‘=’ token
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_serial.cpp:36:7: error: expected nested-name-specifier before ‘lock_guard’
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_serial.cpp:36:7: error: ‘lock_guard’ has not been declared
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_serial.cpp:36:18: error: expected ‘;’ before ‘=’ token
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_serial.cpp:36:18: error: expected unqualified-id before ‘=’ token
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_serial.cpp: In member function ‘virtual void mavconn::MAVConnSerial::close()’:
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_serial.cpp:76:2: error: ‘lock_guard’ was not declared in this scope
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_serial.cpp:76:2: note: suggested alternatives:
/usr/include/c++/4.6/mutex:439:11: note: ‘std::lock_guard’
/usr/include/boost/thread/locks.hpp:246:11: note: ‘boost::lock_guard’
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_serial.cpp:76:13: error: expected ‘;’ before ‘lock’
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_serial.cpp: In member function ‘virtual void mavconn::MAVConnSerial::send_bytes(const uint8_t_, size_t)’:
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_serial.cpp:98:3: error: ‘lock_guard’ was not declared in this scope
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_serial.cpp:98:3: note: suggested alternatives:
/usr/include/c++/4.6/mutex:439:11: note: ‘std::lock_guard’
/usr/include/boost/thread/locks.hpp:246:11: note: ‘boost::lock_guard’
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_serial.cpp:98:14: error: expected ‘;’ before ‘lock’
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_udp.cpp: In member function ‘virtual void mavconn::MAVConnUDP::close()’:
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_udp.cpp:109:2: error: ‘lock_guard’ was not declared in this scope
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_udp.cpp:109:2: note: suggested alternatives:
/usr/include/c++/4.6/mutex:439:11: note: ‘std::lock_guard’
/usr/include/boost/thread/locks.hpp:246:11: note: ‘boost::lock_guard’
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_udp.cpp:109:13: error: expected ‘;’ before ‘lock’
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_udp.cpp: In member function ‘virtual void mavconn::MAVConnUDP::send_bytes(const uint8_t_, size_t)’:
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_udp.cpp:137:3: error: ‘lock_guard’ was not declared in this scope
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_udp.cpp:137:3: note: suggested alternatives:
/usr/include/c++/4.6/mutex:439:11: note: ‘std::lock_guard’
/usr/include/boost/thread/locks.hpp:246:11: note: ‘boost::lock_guard’
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_udp.cpp:137:14: error: expected ‘;’ before ‘lock’
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_serial.cpp: In member function ‘virtual void mavconn::MAVConnSerial::send_message(const mavlink_message_t_, uint8_t, uint8_t)’:
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_serial.cpp:129:3: error: ‘lock_guard’ was not declared in this scope
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_serial.cpp:129:3: note: suggested alternatives:
/usr/include/c++/4.6/mutex:439:11: note: ‘std::lock_guard’
/usr/include/boost/thread/locks.hpp:246:11: note: ‘boost::lock_guard’
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_serial.cpp:129:14: error: expected ‘;’ before ‘lock’
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_tcp.cpp:36:7: error: expected nested-name-specifier before ‘lock_guard’
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_tcp.cpp:36:7: error: ‘lock_guard’ has not been declared
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_tcp.cpp:36:18: error: expected ‘;’ before ‘=’ token
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_tcp.cpp:36:18: error: expected unqualified-id before ‘=’ token
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_udp.cpp: In member function ‘virtual void mavconn::MAVConnUDP::send_message(const mavlink_message_t_, uint8_t, uint8_t)’:
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_udp.cpp:174:3: error: ‘lock_guard’ was not declared in this scope
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_udp.cpp:174:3: note: suggested alternatives:
/usr/include/c++/4.6/mutex:439:11: note: ‘std::lock_guard’
/usr/include/boost/thread/locks.hpp:246:11: note: ‘boost::lock_guard’
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_udp.cpp:174:14: error: expected ‘;’ before ‘lock’
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_serial.cpp: In member function ‘void mavconn::MAVConnSerial::do_write(bool)’:
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_serial.cpp:173:2: error: ‘lock_guard’ was not declared in this scope
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_serial.cpp:173:2: note: suggested alternatives:
/usr/include/c++/4.6/mutex:439:11: note: ‘std::lock_guard’
/usr/include/boost/thread/locks.hpp:246:11: note: ‘boost::lock_guard’
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_serial.cpp:173:13: error: expected ‘;’ before ‘lock’
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_serial.cpp: In member function ‘void mavconn::MAVConnSerial::async_write_end(boost::system::error_code, size_t)’:
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_serial.cpp:194:2: error: ‘lock_guard’ was not declared in this scope
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_serial.cpp:194:2: note: suggested alternatives:
/usr/include/c++/4.6/mutex:439:11: note: ‘std::lock_guard’
/usr/include/boost/thread/locks.hpp:246:11: note: ‘boost::lock_guard’
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_serial.cpp:194:13: error: expected ‘;’ before ‘lock’
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_udp.cpp: In member function ‘void mavconn::MAVConnUDP::do_sendto(bool)’:
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_udp.cpp:225:2: error: ‘lock_guard’ was not declared in this scope
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_udp.cpp:225:2: note: suggested alternatives:
/usr/include/c++/4.6/mutex:439:11: note: ‘std::lock_guard’
/usr/include/boost/thread/locks.hpp:246:11: note: ‘boost::lock_guard’
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_udp.cpp:225:13: error: expected ‘;’ before ‘lock’
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_udp.cpp: In member function ‘void mavconn::MAVConnUDP::async_sendto_end(boost::system::error_code, size_t)’:
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_udp.cpp:247:2: error: ‘lock_guard’ was not declared in this scope
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_udp.cpp:247:2: note: suggested alternatives:
/usr/include/c++/4.6/mutex:439:11: note: ‘std::lock_guard’
/usr/include/boost/thread/locks.hpp:246:11: note: ‘boost::lock_guard’
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_udp.cpp:247:13: error: expected ‘;’ before ‘lock’
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_tcp.cpp: In constructor ‘mavconn::MAVConnTCPClient::MAVConnTCPClient(uint8_t, uint8_t, boost::asio::io_service&, int, boost::asio::ip::tcp::socket&, boost::asio::ip::tcp::endpoint&)’:
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_tcp.cpp:100:32: error: use of deleted function ‘boost::asio::basic_stream_socketboost::asio::ip::tcp::basic_stream_socket(const boost::asio::basic_stream_socketboost::asio::ip::tcp&)’
In file included from /usr/include/boost/asio.hpp:28:0,
from /home/vision/vision_ros_ws/src/mavros/include/mavros/mavconn_tcp.h:31,
from /home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_tcp.cpp:27:
/usr/include/boost/asio/basic_stream_socket.hpp:44:7: error: ‘boost::asio::basic_stream_socketboost::asio::ip::tcp::basic_stream_socket(const boost::asio::basic_stream_socketboost::asio::ip::tcp&)’ is implicitly deleted because the default definition would be ill-formed:
/usr/include/boost/asio/basic_stream_socket.hpp:44:7: error: use of deleted function ‘boost::asio::basic_socket<boost::asio::ip::tcp, boost::asio::stream_socket_serviceboost::asio::ip::tcp >::basic_socket(const boost::asio::basic_socket<boost::asio::ip::tcp, boost::asio::stream_socket_serviceboost::asio::ip::tcp >&)’
In file included from /usr/include/boost/asio/basic_datagram_socket.hpp:20:0,
from /usr/include/boost/asio.hpp:20,
from /home/vision/vision_ros_ws/src/mavros/include/mavros/mavconn_tcp.h:31,
from /home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_tcp.cpp:27:
/usr/include/boost/asio/basic_socket.hpp:39:7: error: ‘boost::asio::basic_socket<boost::asio::ip::tcp, boost::asio::stream_socket_serviceboost::asio::ip::tcp >::basic_socket(const boost::asio::basic_socket<boost::asio::ip::tcp, boost::asio::stream_socket_serviceboost::asio::ip::tcp >&)’ is implicitly deleted because the default definition would be ill-formed:
/usr/include/boost/asio/basic_socket.hpp:39:7: error: use of deleted function ‘boost::asio::basic_io_objectboost::asio::stream_socket_service<boost::asio::ip::tcp >::basic_io_object(const boost::asio::basic_io_objectboost::asio::stream_socket_service<boost::asio::ip::tcp >&)’
In file included from /usr/include/boost/asio/basic_socket.hpp:19:0,
from /usr/include/boost/asio/basic_datagram_socket.hpp:20,
from /usr/include/boost/asio.hpp:20,
from /home/vision/vision_ros_ws/src/mavros/include/mavros/mavconn_tcp.h:31,
from /home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_tcp.cpp:27:
/usr/include/boost/asio/basic_io_object.hpp:29:7: error: ‘boost::asio::basic_io_objectboost::asio::stream_socket_service<boost::asio::ip::tcp >::basic_io_object(const boost::asio::basic_io_objectboost::asio::stream_socket_service<boost::asio::ip::tcp >&)’ is implicitly deleted because the default definition would be ill-formed:
/usr/include/boost/noncopyable.hpp:27:7: error: ‘boost::noncopyable_::noncopyable::noncopyable(const boost::noncopyable_::noncopyable&)’ is private
/usr/include/boost/asio/basic_io_object.hpp:29:7: error: within this context
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_tcp.cpp: In member function ‘virtual void mavconn::MAVConnTCPClient::close()’:
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_tcp.cpp:115:2: error: ‘lock_guard’ was not declared in this scope
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_tcp.cpp:115:2: note: suggested alternatives:
/usr/include/c++/4.6/mutex:439:11: note: ‘std::lock_guard’
/usr/include/boost/thread/locks.hpp:246:11: note: ‘boost::lock_guard’
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_tcp.cpp:115:13: error: expected ‘;’ before ‘lock’
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_tcp.cpp: In member function ‘virtual void mavconn::MAVConnTCPClient::send_bytes(const uint8_t_, size_t)’:
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_tcp.cpp:138:3: error: ‘lock_guard’ was not declared in this scope
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_tcp.cpp:138:3: note: suggested alternatives:
/usr/include/c++/4.6/mutex:439:11: note: ‘std::lock_guard’
/usr/include/boost/thread/locks.hpp:246:11: note: ‘boost::lock_guard’
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_tcp.cpp:138:14: error: expected ‘;’ before ‘lock’
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_tcp.cpp: In member function ‘virtual void mavconn::MAVConnTCPClient::send_message(const mavlink_message_t_, uint8_t, uint8_t)’:
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_tcp.cpp:170:3: error: ‘lock_guard’ was not declared in this scope
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_tcp.cpp:170:3: note: suggested alternatives:
/usr/include/c++/4.6/mutex:439:11: note: ‘std::lock_guard’
/usr/include/boost/thread/locks.hpp:246:11: note: ‘boost::lock_guard’
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_tcp.cpp:170:14: error: expected ‘;’ before ‘lock’
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_tcp.cpp: In member function ‘void mavconn::MAVConnTCPClient::do_send(bool)’:
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_tcp.cpp:214:2: error: ‘lock_guard’ was not declared in this scope
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_tcp.cpp:214:2: note: suggested alternatives:
/usr/include/c++/4.6/mutex:439:11: note: ‘std::lock_guard’
/usr/include/boost/thread/locks.hpp:246:11: note: ‘boost::lock_guard’
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_tcp.cpp:214:13: error: expected ‘;’ before ‘lock’
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_tcp.cpp: In member function ‘void mavconn::MAVConnTCPClient::async_send_end(boost::system::error_code, size_t)’:
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_tcp.cpp:235:2: error: ‘lock_guard’ was not declared in this scope
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_tcp.cpp:235:2: note: suggested alternatives:
/usr/include/c++/4.6/mutex:439:11: note: ‘std::lock_guard’
/usr/include/boost/thread/locks.hpp:246:11: note: ‘boost::lock_guard’
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_tcp.cpp:235:13: error: expected ‘;’ before ‘lock’
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_tcp.cpp: In member function ‘virtual void mavconn::MAVConnTCPServer::close()’:
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_tcp.cpp:291:2: error: ‘lock_guard’ was not declared in this scope
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_tcp.cpp:291:2: note: suggested alternatives:
/usr/include/c++/4.6/mutex:439:11: note: ‘std::lock_guard’
/usr/include/boost/thread/locks.hpp:246:11: note: ‘boost::lock_guard’
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_tcp.cpp:291:13: error: expected ‘;’ before ‘lock’
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_tcp.cpp: In member function ‘virtual void mavconn::MAVConnTCPServer::send_bytes(const uint8_t_, size_t)’:
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_tcp.cpp:322:2: error: ‘lock_guard’ was not declared in this scope
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_tcp.cpp:322:2: note: suggested alternatives:
/usr/include/c++/4.6/mutex:439:11: note: ‘std::lock_guard’
/usr/include/boost/thread/locks.hpp:246:11: note: ‘boost::lock_guard’
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_tcp.cpp:322:13: error: expected ‘;’ before ‘lock’
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_tcp.cpp: In member function ‘virtual void mavconn::MAVConnTCPServer::send_message(const mavlink_message_t_, uint8_t, uint8_t)’:
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_tcp.cpp:331:2: error: ‘lock_guard’ was not declared in this scope
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_tcp.cpp:331:2: note: suggested alternatives:
/usr/include/c++/4.6/mutex:439:11: note: ‘std::lock_guard’
/usr/include/boost/thread/locks.hpp:246:11: note: ‘boost::lock_guard’
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_tcp.cpp:331:13: error: expected ‘;’ before ‘lock’
make[2]: *** [mavros/CMakeFiles/mavconn.dir/src/mavconn/mavconn_serial.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: *** [mavros/CMakeFiles/mavconn.dir/src/mavconn/mavconn_udp.cpp.o] Error 1
make[2]: *** [mavros/CMakeFiles/mavconn.dir/src/mavconn/mavconn_tcp.cpp.o] Error 1
make[1]: *** [mavros/CMakeFiles/mavconn.dir/all] Error 2
make: *** [all] Error 2
Invoking "make" failed

Do you know what's the problem with lock_guard?

@vooon
Copy link
Member

vooon commented Aug 1, 2014

Seems that gcc 4.6 dont recognize c++11 using like typedef.

Please try replace this with typedef std:lock_guard<std::recursive_mutex> lock_guard;

1 августа 2014 г. 22:19:08 Московское летнее время, TSC21 notifications@github.com пишет:

Hi @vooon,

I'm trying to compile your last version of the code (since you return
to asio) but I get the following:
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_udp.cpp:36:7:
error: expected nested-name-specifier before ‘lock_guard’
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_udp.cpp:36:7:
error: ‘lock_guard’ has not been declared
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_udp.cpp:36:18:
error: expected ‘;’ before ‘=’ token
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_udp.cpp:36:18:
error: expected unqualified-id before ‘=’ token
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_serial.cpp:36:7:
error: expected nested-name-specifier before ‘lock_guard’
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_serial.cpp:36:7:
error: ‘lock_guard’ has not been declared
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_serial.cpp:36:18:
error: expected ‘;’ before ‘=’ token
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_serial.cpp:36:18:
error: expected unqualified-id before ‘=’ token
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_serial.cpp:
In member function ‘virtual void mavconn::MAVConnSerial::close()’:
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_serial.cpp:76:2:
error: ‘lock_guard’ was not declared in this scope
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_serial.cpp:76:2:
note: suggested alternatives:
/usr/include/c++/4.6/mutex:439:11: note: ‘std::lock_guard’
/usr/include/boost/thread/locks.hpp:246:11: note: ‘boost::lock_guard’
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_serial.cpp:76:13:
error: expected ‘;’ before ‘lock’
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_serial.cpp:
In member function ‘virtual void
mavconn::MAVConnSerial::send_bytes(const uint8_t_, size_t)’:
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_serial.cpp:98:3:
error: ‘lock_guard’ was not declared in this scope
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_serial.cpp:98:3:
note: suggested alternatives:
/usr/include/c++/4.6/mutex:439:11: note: ‘std::lock_guard’
/usr/include/boost/thread/locks.hpp:246:11: note: ‘boost::lock_guard’
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_serial.cpp:98:14:
error: expected ‘;’ before ‘lock’
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_udp.cpp: In
member function ‘virtual void mavconn::MAVConnUDP::close()’:
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_udp.cpp:109:2:
error: ‘lock_guard’ was not declared in this scope
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_udp.cpp:109:2:
note: suggested alternatives:
/usr/include/c++/4.6/mutex:439:11: note: ‘std::lock_guard’
/usr/include/boost/thread/locks.hpp:246:11: note: ‘boost::lock_guard’
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_udp.cpp:109:13:
error: expected ‘;’ before ‘lock’
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_udp.cpp: In
member function ‘virtual void mavconn::MAVConnUDP::send_bytes(const
uint8_t_, size_t)’:
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_udp.cpp:137:3:
error: ‘lock_guard’ was not declared in this scope
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_udp.cpp:137:3:
note: suggested alternatives:
/usr/include/c++/4.6/mutex:439:11: note: ‘std::lock_guard’
/usr/include/boost/thread/locks.hpp:246:11: note: ‘boost::lock_guard’
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_udp.cpp:137:14:
error: expected ‘;’ before ‘lock’
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_serial.cpp:
In member function ‘virtual void
mavconn::MAVConnSerial::send_message(const mavlink_message_t_, uint8_t,
uint8_t)’:
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_serial.cpp:129:3:
error: ‘lock_guard’ was not declared in this scope
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_serial.cpp:129:3:
note: suggested alternatives:
/usr/include/c++/4.6/mutex:439:11: note: ‘std::lock_guard’
/usr/include/boost/thread/locks.hpp:246:11: note: ‘boost::lock_guard’
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_serial.cpp:129:14:
error: expected ‘;’ before ‘lock’
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_tcp.cpp:36:7:
error: expected nested-name-specifier before ‘lock_guard’
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_tcp.cpp:36:7:
error: ‘lock_guard’ has not been declared
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_tcp.cpp:36:18:
error: expected ‘;’ before ‘=’ token
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_tcp.cpp:36:18:
error: expected unqualified-id before ‘=’ token
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_udp.cpp: In
member function ‘virtual void mavconn::MAVConnUDP::send_message(const
mavlink_message_t_, uint8_t, uint8_t)’:
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_udp.cpp:174:3:
error: ‘lock_guard’ was not declared in this scope
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_udp.cpp:174:3:
note: suggested alternatives:
/usr/include/c++/4.6/mutex:439:11: note: ‘std::lock_guard’
/usr/include/boost/thread/locks.hpp:246:11: note: ‘boost::lock_guard’
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_udp.cpp:174:14:
error: expected ‘;’ before ‘lock’
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_serial.cpp:
In member function ‘void mavconn::MAVConnSerial::do_write(bool)’:
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_serial.cpp:173:2:
error: ‘lock_guard’ was not declared in this scope
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_serial.cpp:173:2:
note: suggested alternatives:
/usr/include/c++/4.6/mutex:439:11: note: ‘std::lock_guard’
/usr/include/boost/thread/locks.hpp:246:11: note: ‘boost::lock_guard’
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_serial.cpp:173:13:
error: expected ‘;’ before ‘lock’
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_serial.cpp:
In member function ‘void
mavconn::MAVConnSerial::async_write_end(boost::system::error_code,
size_t)’:
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_serial.cpp:194:2:
error: ‘lock_guard’ was not declared in this scope
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_serial.cpp:194:2:
note: suggested alternatives:
/usr/include/c++/4.6/mutex:439:11: note: ‘std::lock_guard’
/usr/include/boost/thread/locks.hpp:246:11: note: ‘boost::lock_guard’
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_serial.cpp:194:13:
error: expected ‘;’ before ‘lock’
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_udp.cpp: In
member function ‘void mavconn::MAVConnUDP::do_sendto(bool)’:
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_udp.cpp:225:2:
error: ‘lock_guard’ was not declared in this scope
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_udp.cpp:225:2:
note: suggested alternatives:
/usr/include/c++/4.6/mutex:439:11: note: ‘std::lock_guard’
/usr/include/boost/thread/locks.hpp:246:11: note: ‘boost::lock_guard’
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_udp.cpp:225:13:
error: expected ‘;’ before ‘lock’
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_udp.cpp: In
member function ‘void
mavconn::MAVConnUDP::async_sendto_end(boost::system::error_code,
size_t)’:
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_udp.cpp:247:2:
error: ‘lock_guard’ was not declared in this scope
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_udp.cpp:247:2:
note: suggested alternatives:
/usr/include/c++/4.6/mutex:439:11: note: ‘std::lock_guard’
/usr/include/boost/thread/locks.hpp:246:11: note: ‘boost::lock_guard’
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_udp.cpp:247:13:
error: expected ‘;’ before ‘lock’
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_tcp.cpp: In
constructor ‘mavconn::MAVConnTCPClient::MAVConnTCPClient(uint8_t,
uint8_t, boost::asio::io_service&, int, boost::asio::ip::tcp::socket&,
boost::asio::ip::tcp::endpoint&)’:
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_tcp.cpp:100:32:
error: use of deleted function
‘boost::asio::basic_stream_socketboost::asio::ip::tcp::basic_stream_socket(const
boost::asio::basic_stream_socketboost::asio::ip::tcp&)’
In file included from /usr/include/boost/asio.hpp:28:0,
from
/home/vision/vision_ros_ws/src/mavros/include/mavros/mavconn_tcp.h:31,
from
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_tcp.cpp:27:
/usr/include/boost/asio/basic_stream_socket.hpp:44:7: error:
‘boost::asio::basic_stream_socketboost::asio::ip::tcp::basic_stream_socket(const
boost::asio::basic_stream_socketboost::asio::ip::tcp&)’ is implicitly
deleted because the default definition would be ill-formed:
/usr/include/boost/asio/basic_stream_socket.hpp:44:7: error: use of
deleted function ‘boost::asio::basic_socket<boost::asio::ip::tcp,
boost::asio::stream_socket_serviceboost::asio::ip::tcp

::basic_socket(const boost::asio::basic_socket<boost::asio::ip::tcp,
boost::asio::stream_socket_serviceboost::asio::ip::tcp >&)’
In file included from
/usr/include/boost/asio/basic_datagram_socket.hpp:20:0,
from /usr/include/boost/asio.hpp:20,
from
/home/vision/vision_ros_ws/src/mavros/include/mavros/mavconn_tcp.h:31,
from
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_tcp.cpp:27:
/usr/include/boost/asio/basic_socket.hpp:39:7: error:
‘boost::asio::basic_socket<boost::asio::ip::tcp,
boost::asio::stream_socket_serviceboost::asio::ip::tcp
::basic_socket(const boost::asio::basic_socket<boost::asio::ip::tcp,
boost::asio::stream_socket_serviceboost::asio::ip::tcp >&)’ is
implicitly deleted because the default definition would be ill-formed:
/usr/include/boost/asio/basic_socket.hpp:39:7: error: use of deleted
function
‘boost::asio::basic_io_objectboost::asio::stream_socket_service<boost::asio::ip::tcp
::basic_io_object(const
boost::asio::basic_io_objectboost::asio::stream_socket_service<boost::asio::ip::tcp
&)’
In file included from /usr/include/boost/asio/basic_socket.hpp:19:0,
from /usr/include/boost/asio/basic_datagram_socket.hpp:20,
from /usr/include/boost/asio.hpp:20,
from
/home/vision/vision_ros_ws/src/mavros/include/mavros/mavconn_tcp.h:31,
from
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_tcp.cpp:27:
/usr/include/boost/asio/basic_io_object.hpp:29:7: error:
‘boost::asio::basic_io_objectboost::asio::stream_socket_service<boost::asio::ip::tcp
::basic_io_object(const
boost::asio::basic_io_objectboost::asio::stream_socket_service<boost::asio::ip::tcp
&)’ is implicitly deleted because the default definition would be
ill-formed:
/usr/include/boost/noncopyable.hpp:27:7: error:
‘boost::noncopyable_::noncopyable::noncopyable(const
boost::noncopyable_::noncopyable&)’ is private
/usr/include/boost/asio/basic_io_object.hpp:29:7: error: within this
context
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_tcp.cpp: In
member function ‘virtual void mavconn::MAVConnTCPClient::close()’:
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_tcp.cpp:115:2:
error: ‘lock_guard’ was not declared in this scope
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_tcp.cpp:115:2:
note: suggested alternatives:
/usr/include/c++/4.6/mutex:439:11: note: ‘std::lock_guard’
/usr/include/boost/thread/locks.hpp:246:11: note: ‘boost::lock_guard’
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_tcp.cpp:115:13:
error: expected ‘;’ before ‘lock’
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_tcp.cpp: In
member function ‘virtual void
mavconn::MAVConnTCPClient::send_bytes(const uint8_t_, size_t)’:
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_tcp.cpp:138:3:
error: ‘lock_guard’ was not declared in this scope
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_tcp.cpp:138:3:
note: suggested alternatives:
/usr/include/c++/4.6/mutex:439:11: note: ‘std::lock_guard’
/usr/include/boost/thread/locks.hpp:246:11: note: ‘boost::lock_guard’
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_tcp.cpp:138:14:
error: expected ‘;’ before ‘lock’
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_tcp.cpp: In
member function ‘virtual void
mavconn::MAVConnTCPClient::send_message(const mavlink_message_t_,
uint8_t, uint8_t)’:
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_tcp.cpp:170:3:
error: ‘lock_guard’ was not declared in this scope
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_tcp.cpp:170:3:
note: suggested alternatives:
/usr/include/c++/4.6/mutex:439:11: note: ‘std::lock_guard’
/usr/include/boost/thread/locks.hpp:246:11: note: ‘boost::lock_guard’
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_tcp.cpp:170:14:
error: expected ‘;’ before ‘lock’
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_tcp.cpp: In
member function ‘void mavconn::MAVConnTCPClient::do_send(bool)’:
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_tcp.cpp:214:2:
error: ‘lock_guard’ was not declared in this scope
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_tcp.cpp:214:2:
note: suggested alternatives:
/usr/include/c++/4.6/mutex:439:11: note: ‘std::lock_guard’
/usr/include/boost/thread/locks.hpp:246:11: note: ‘boost::lock_guard’
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_tcp.cpp:214:13:
error: expected ‘;’ before ‘lock’
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_tcp.cpp: In
member function ‘void
mavconn::MAVConnTCPClient::async_send_end(boost::system::error_code,
size_t)’:
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_tcp.cpp:235:2:
error: ‘lock_guard’ was not declared in this scope
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_tcp.cpp:235:2:
note: suggested alternatives:
/usr/include/c++/4.6/mutex:439:11: note: ‘std::lock_guard’
/usr/include/boost/thread/locks.hpp:246:11: note: ‘boost::lock_guard’
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_tcp.cpp:235:13:
error: expected ‘;’ before ‘lock’
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_tcp.cpp: In
member function ‘virtual void mavconn::MAVConnTCPServer::close()’:
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_tcp.cpp:291:2:
error: ‘lock_guard’ was not declared in this scope
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_tcp.cpp:291:2:
note: suggested alternatives:
/usr/include/c++/4.6/mutex:439:11: note: ‘std::lock_guard’
/usr/include/boost/thread/locks.hpp:246:11: note: ‘boost::lock_guard’
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_tcp.cpp:291:13:
error: expected ‘;’ before ‘lock’
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_tcp.cpp: In
member function ‘virtual void
mavconn::MAVConnTCPServer::send_bytes(const uint8_t_, size_t)’:
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_tcp.cpp:322:2:
error: ‘lock_guard’ was not declared in this scope
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_tcp.cpp:322:2:
note: suggested alternatives:
/usr/include/c++/4.6/mutex:439:11: note: ‘std::lock_guard’
/usr/include/boost/thread/locks.hpp:246:11: note: ‘boost::lock_guard’
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_tcp.cpp:322:13:
error: expected ‘;’ before ‘lock’
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_tcp.cpp: In
member function ‘virtual void
mavconn::MAVConnTCPServer::send_message(const mavlink_message_t_,
uint8_t, uint8_t)’:
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_tcp.cpp:331:2:
error: ‘lock_guard’ was not declared in this scope
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_tcp.cpp:331:2:
note: suggested alternatives:
/usr/include/c++/4.6/mutex:439:11: note: ‘std::lock_guard’
/usr/include/boost/thread/locks.hpp:246:11: note: ‘boost::lock_guard’
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_tcp.cpp:331:13:
error: expected ‘;’ before ‘lock’
make[2]: ***
[mavros/CMakeFiles/mavconn.dir/src/mavconn/mavconn_serial.cpp.o] Error
1
make[2]: *** Waiting for unfinished jobs....
make[2]: ***
[mavros/CMakeFiles/mavconn.dir/src/mavconn/mavconn_udp.cpp.o] Error 1
make[2]: ***
[mavros/CMakeFiles/mavconn.dir/src/mavconn/mavconn_tcp.cpp.o] Error 1
make[1]: *** [mavros/CMakeFiles/mavconn.dir/all] Error 2
make: *** [all] Error 2
Invoking "make" failed

Do you know what's the problem with lock_guard?


Reply to this email directly or view it on GitHub:
#74

Простите за краткость,
создано в K-9 Mail

@TSC21
Copy link
Member Author

TSC21 commented Aug 1, 2014

Ok solved by doing:
using lock_guard = std::lock_guardstd::recursive_mutex;
change to,
typedef std::lock_guardstd::recursive_mutex lock_guard;

But now I'm with another error in mavconn_tcp:

/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_tcp.cpp: In constructor ‘mavconn::MAVConnTCPClient::MAVConnTCPClient(uint8_t, uint8_t, boost::asio::io_service&, int, boost::asio::ip::tcp::socket&, boost::asio::ip::tcp::endpoint&)’:
/home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_tcp.cpp:101:32: error: use of deleted function ‘boost::asio::basic_stream_socketboost::asio::ip::tcp::basic_stream_socket(const boost::asio::basic_stream_socketboost::asio::ip::tcp&)’
In file included from /usr/include/boost/asio.hpp:28:0,
from /home/vision/vision_ros_ws/src/mavros/include/mavros/mavconn_tcp.h:31,
from /home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_tcp.cpp:27:
/usr/include/boost/asio/basic_stream_socket.hpp:44:7: error: ‘boost::asio::basic_stream_socketboost::asio::ip::tcp::basic_stream_socket(const boost::asio::basic_stream_socketboost::asio::ip::tcp&)’ is implicitly deleted because the default definition would be ill-formed:
/usr/include/boost/asio/basic_stream_socket.hpp:44:7: error: use of deleted function ‘boost::asio::basic_socket<boost::asio::ip::tcp, boost::asio::stream_socket_serviceboost::asio::ip::tcp >::basic_socket(const boost::asio::basic_socket<boost::asio::ip::tcp, boost::asio::stream_socket_serviceboost::asio::ip::tcp >&)’
In file included from /usr/include/boost/asio/basic_datagram_socket.hpp:20:0,
from /usr/include/boost/asio.hpp:20,
from /home/vision/vision_ros_ws/src/mavros/include/mavros/mavconn_tcp.h:31,
from /home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_tcp.cpp:27:
/usr/include/boost/asio/basic_socket.hpp:39:7: error: ‘boost::asio::basic_socket<boost::asio::ip::tcp, boost::asio::stream_socket_serviceboost::asio::ip::tcp >::basic_socket(const boost::asio::basic_socket<boost::asio::ip::tcp, boost::asio::stream_socket_serviceboost::asio::ip::tcp >&)’ is implicitly deleted because the default definition would be ill-formed:
/usr/include/boost/asio/basic_socket.hpp:39:7: error: use of deleted function ‘boost::asio::basic_io_objectboost::asio::stream_socket_service<boost::asio::ip::tcp >::basic_io_object(const boost::asio::basic_io_objectboost::asio::stream_socket_service<boost::asio::ip::tcp >&)’
In file included from /usr/include/boost/asio/basic_socket.hpp:19:0,
from /usr/include/boost/asio/basic_datagram_socket.hpp:20,
from /usr/include/boost/asio.hpp:20,
from /home/vision/vision_ros_ws/src/mavros/include/mavros/mavconn_tcp.h:31,
from /home/vision/vision_ros_ws/src/mavros/src/mavconn/mavconn_tcp.cpp:27:
/usr/include/boost/asio/basic_io_object.hpp:29:7: error: ‘boost::asio::basic_io_objectboost::asio::stream_socket_service<boost::asio::ip::tcp >::basic_io_object(const boost::asio::basic_io_objectboost::asio::stream_socket_service<boost::asio::ip::tcp >&)’ is implicitly deleted because the default definition would be ill-formed:
/usr/include/boost/noncopyable.hpp:27:7: error: ‘boost::noncopyable_::noncopyable::noncopyable(const boost::noncopyable_::noncopyable&)’ is private
/usr/include/boost/asio/basic_io_object.hpp:29:7: error: within this context
make[2]: *** [mavros/CMakeFiles/mavconn.dir/src/mavconn/mavconn_tcp.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [mavros/CMakeFiles/mavconn.dir/all] Error 2
make: *** [all] Error 2
Invoking "make" failed

vooon added a commit that referenced this issue Aug 1, 2014
@vooon
Copy link
Member

vooon commented Aug 1, 2014

Next broken think is socket(std::move(s)).

Please add gcc and boost versions.

@TSC21
Copy link
Member Author

TSC21 commented Aug 1, 2014

Don't undertand. Add where? You want to know or have to add it somewhere?
gcc 4.6
boost 1.46

@vooon
Copy link
Member

vooon commented Aug 1, 2014

Just because i use latest tools i can't test on older machines. But ros buildfarm does that for me (hydro devel).

I want replace most of boost thinks with C++11 (e.g. thread & mutex).
But i don't know how well old gcc support this, so i made some changes and watch status of http://jenkins.ros.org/job/devel-hydro-mavros/

And current master generates segfault on mavconn-test, so i need some time to find out source.

@vooon vooon added this to the Version 0.7.0 milestone Aug 1, 2014
@vooon vooon added the bug label Aug 1, 2014
@vooon vooon closed this as completed in 594bf8d Aug 3, 2014
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants