cvar-upm / cvg_ardrone2_ibvs

Vision based control for object following in UAVs
http://robotics.asu.edu/ardrone2_ibvs/
Other
83 stars 46 forks source link

catkin_make error #2

Open jiaxiaoharry opened 9 years ago

jiaxiaoharry commented 9 years ago

Hello, Jesus, I'm trying to use your cvg_ardrone2_ibvs in 12.04 LTS with hydro. I've tried many times following your steps but always got the same errors in compiling process. I also tried to compile the OpenTLD separately and it worked well. Could you give me some advices about what to do?

Thank you! Best Regards, Sherl.

This is what I got in compiling:

Base path: /home/jx/workspace/ros/cvg_ardrone2_ibvs Source space: /home/jx/workspace/ros/cvg_ardrone2_ibvs/src Build space: /home/jx/workspace/ros/cvg_ardrone2_ibvs/build Devel space: /home/jx/workspace/ros/cvg_ardrone2_ibvs/devel Install space: /home/jx/workspace/ros/cvg_ardrone2_ibvs/install WARNING: Package name "droneBrain" does not follow the naming conventions. It should start with a lower case letter and only contain lower case letters, digits and underscores. WARNING: Package name "parrotLogger" does not follow the naming conventions. It should start with a lower case letter and only contain lower case letters, digits and underscores. WARNING: Package name "parrotStateEstimator" does not follow the naming conventions. It should start with a lower case letter and only contain lower case letters, digits and underscores. WARNING: Package name "parrotController" does not follow the naming conventions. It should start with a lower case letter and only contain lower case letters, digits and underscores. WARNING: Package name "droneStateEstimator" does not follow the naming conventions. It should start with a lower case letter and only contain lower case letters, digits and underscores. WARNING: Package name "droneMsgs" does not follow the naming conventions. It should start with a lower case letter and only contain lower case letters, digits and underscores. WARNING: Package name "parrotDriver" does not follow the naming conventions. It should start with a lower case letter and only contain lower case letters, digits and underscores. WARNING: Package name "droneOpenTLDInterface" does not follow the naming conventions. It should start with a lower case letter and only contain lower case letters, digits and underscores. WARNING: Package name "parrotBrainInterface" does not follow the naming conventions. It should start with a lower case letter and only contain lower case letters, digits and underscores. WARNING: Package name "referenceFrames" does not follow the naming conventions. It should start with a lower case letter and only contain lower case letters, digits and underscores. WARNING: Package name "droneLogger" does not follow the naming conventions. It should start with a lower case letter and only contain lower case letters, digits and underscores. WARNING: Package name "droneController" does not follow the naming conventions. It should start with a lower case letter and only contain lower case letters, digits and underscores. WARNING: Package name "droneModule" does not follow the naming conventions. It should start with a lower case letter and only contain lower case letters, digits and underscores.

Running command: "make cmake_check_build_system" in "/home/jx/workspace/ros/cvg_ardrone2_ibvs/build"

Running command: "make -j4 -l4" in "/home/jx/workspace/ros/cvg_ardrone2_ibvs/build"

[ 0%] [ 0%] [ 0%] Built target sensor_msgs_generate_messages_py Built target _catkin_empty_exported_target Built target geometry_msgs_generate_messages_py [ 0%] Built target std_msgs_generate_messages_py [ 0%] Built target geometry_msgs_generate_messages_cpp [ 0%] [ 0%] Built target std_msgs_generate_messages_cpp Built target sensor_msgs_generate_messages_cpp [ 0%] Built target std_msgs_generate_messages_lisp [ 0%] Built target sensor_msgs_generate_messages_lisp [ 0%] Built target geometry_msgs_generate_messages_lisp [ 0%] Built target rosgraph_msgs_generate_messages_lisp [ 0%] Built target rosgraph_msgs_generate_messages_py [ 1%] Built target droneLogger_generate_messages_cpp [ 1%] Built target roscpp_generate_messages_py [ 2%] Built target tld_msgs_generate_messages_py [ 3%] Built target tld_msgs_generate_messages_cpp [ 3%] [ 3%] [ 3%] Built target rosgraph_msgs_generate_messages_cpp [ 5%] Built target roscpp_generate_messages_cpp Built target roscpp_generate_messages_lisp Built target droneLogger_generate_messages_py [ 6%] Built target droneController_generate_messages_py [ 6%] Built target droneLogger_generate_messages_lisp [ 7%] [ 7%] Built target droneController_generate_messages_lisp Built target droneController_generate_messages_cpp [ 7%] [ 8%] [ 8%] Built target droneStateEstimator_generate_messages_cpp Built target droneStateEstimator_generate_messages_py Built target droneStateEstimator_generate_messages_lisp [ 8%] Performing update step (SVN update) for 'opentld' [ 33%] [ 34%] Built target ardrone_autonomy_generate_messages_cpp Built target ardrone_autonomy_generate_messages_py [ 47%] Built target ardrone_autonomy_generate_messages_lisp [ 49%] Built target ardronelib [ 49%] Built target ardrone_autonomy_gencpp [ 49%] Built target tf_generate_messages_py [ 49%] Built target std_srvs_generate_messages_lisp [ 49%] Built target std_srvs_generate_messages_cpp [ 49%] Built target tf_generate_messages_lisp [ 49%] Built target std_srvs_generate_messages_py [ 49%] Built target tf_generate_messages_cpp [ 49%] Building CXX object stack/stack/droneModule/CMakeFiles/droneModule.dir/src/sources/droneModule.cpp.o [ 54%] Built target atlante [ 55%] Built target pugixml [ 58%] Built target tld_gui_node [ 58%] Built target referenceFrames [ 67%] Built target droneMsgs_generate_messages_py [ 76%] Built target droneMsgs_generate_messages_cpp [ 84%] Built target droneMsgs_generate_messages_lisp [ 84%] Built target droneLogger_gencpp [ 84%] Built target droneLogger_generate_messages [ 85%] Built target tld_msgs_generate_messages_lisp [ 85%] Built target droneController_generate_messages [ 85%] Built target droneController_gencpp [ 85%] Built target droneStateEstimator_generate_messages [ 85%] Built target droneStateEstimator_gencpp [ 85%] Built target ardrone_autonomy_generate_messages [ 85%] Built target parrotDriver [ 85%] Built target droneMsgs_generate_messages [ 87%] Built target ardrone_driver [ 87%] Built target tld_msgs_generate_messages At revision 172. [ 88%] Performing configure step for 'opentld' -- Configuring done -- Generating done -- Build files have been written to: /home/jx/workspace/ros/cvg_ardrone2_ibvs/build/extStack/ros_opentld/tld_tracker/libopentld/src/opentld [ 88%] Performing build step for 'opentld' make[3]: warning: jobserver unavailable: using -j1. Add `+' to parent make rule. [100%] Built target libopentld [ 88%] Performing install step for 'opentld' [ 89%] Completed 'opentld' [ 90%] Built target opentld Scanning dependencies of target tld_tracker_node [ 90%] [ 91%] Building CXX object extStack/ros_opentld/tld_tracker/CMakeFiles/tld_tracker_node.dir/src/tld_tracker_node.cpp.o Building CXX object extStack/ros_opentld/tld_tracker/CMakeFiles/tld_tracker_node.dir/src/main.cpp.o In file included from /usr/include/boost/shared_ptr.hpp:17:0, from /usr/include/boost/format/alt_sstream.hpp:21, from /usr/include/boost/format/internals.hpp:23, from /usr/include/boost/format.hpp:38, from /usr/include/boost/math/policies/error_handling.hpp:30, from /usr/include/boost/math/special_functions/round.hpp:14, from /opt/ros/hydro/include/ros/time.h:58, from /opt/ros/hydro/include/ros/ros.h:38, from /home/jx/workspace/ros/cvg_ardrone2_ibvs/src/stack/stack/droneModule/src/include/droneModule.h:14, from /home/jx/workspace/ros/cvg_ardrone2_ibvs/src/stack/stack/droneModule/src/sources/droneModule.cpp:9: /usr/include/boost/smart_ptr/shared_ptr.hpp: In instantiation of ‘boost::shared_ptr& boost::shared_ptr::operator=(const boost::shared_ptr&) [with T = ros::ServiceServer::Impl]’: /opt/ros/hydro/include/ros/service_server.h:45:19: required from here /usr/include/boost/smart_ptr/shared_ptr.hpp:305:9: error: use of deleted function ‘boost::shared_ptrros::ServiceServer::Impl::shared_ptr(const boost::shared_ptrros::ServiceServer::Impl&)’ this_type(r).swap(_this); ^ /usr/include/boost/smart_ptr/shared_ptr.hpp:168:25: note: ‘boost::shared_ptrros::ServiceServer::Impl::shared_ptr(const boost::shared_ptrros::ServiceServer::Impl&)’ is implicitly declared as deleted because ‘boost::shared_ptrros::ServiceServer::Impl’ declares a move constructor or move assignment operator template class shared_ptr ^ /usr/include/boost/smart_ptr/shared_ptr.hpp: In instantiation of ‘boost::shared_ptr& boost::shared_ptr::operator=(const boost::shared_ptr&) [with T = ros::Publisher::Impl]’: /opt/ros/hydro/include/ros/publisher.h:47:21: required from here /usr/include/boost/smart_ptr/shared_ptr.hpp:305:9: error: use of deleted function ‘boost::shared_ptrros::Publisher::Impl::shared_ptr(const boost::shared_ptrros::Publisher::Impl&)’ this_type(r).swap(_this); ^ /usr/include/boost/smart_ptr/shared_ptr.hpp:168:25: note: ‘boost::shared_ptrros::Publisher::Impl::shared_ptr(const boost::shared_ptrros::Publisher::Impl&)’ is implicitly declared as deleted because ‘boost::shared_ptrros::Publisher::Impl’ declares a move constructor or move assignment operator template class shared_ptr ^ /usr/include/boost/smart_ptr/shared_ptr.hpp: In instantiation of ‘boost::shared_ptr& boost::shared_ptr::operator=(const boost::shared_ptr&) [with T = ros::ServiceClient::Impl]’: /opt/ros/hydro/include/ros/service_client.h:42:19: required from here /usr/include/boost/smart_ptr/shared_ptr.hpp:305:9: error: use of deleted function ‘boost::shared_ptrros::ServiceClient::Impl::shared_ptr(const boost::shared_ptrros::ServiceClient::Impl&)’ this_type(r).swap(_this); ^ /usr/include/boost/smart_ptr/shared_ptr.hpp:168:25: note: ‘boost::shared_ptrros::ServiceClient::Impl::shared_ptr(const boost::shared_ptrros::ServiceClient::Impl&)’ is implicitly declared as deleted because ‘boost::shared_ptrros::ServiceClient::Impl’ declares a move constructor or move assignment operator template class shared_ptr ^ /usr/include/boost/smart_ptr/shared_ptr.hpp: In instantiation of ‘boost::shared_ptr& boost::shared_ptr::operator=(const boost::shared_ptr&) [with T = ros::Subscriber::Impl]’: /opt/ros/hydro/include/ros/subscriber.h:46:19: required from here /usr/include/boost/smart_ptr/shared_ptr.hpp:305:9: error: use of deleted function ‘boost::shared_ptrros::Subscriber::Impl::shared_ptr(const boost::shared_ptrros::Subscriber::Impl&)’ this_type(r).swap(_this); ^ /usr/include/boost/smart_ptr/shared_ptr.hpp:168:25: note: ‘boost::shared_ptrros::Subscriber::Impl::shared_ptr(const boost::shared_ptrros::Subscriber::Impl&)’ is implicitly declared as deleted because ‘boost::shared_ptrros::Subscriber::Impl’ declares a move constructor or move assignment operator template class shared_ptr ^ In file included from /opt/ros/hydro/include/ros/subscriber.h:33:0, from /opt/ros/hydro/include/ros/node_handle.h:33, from /opt/ros/hydro/include/ros/ros.h:45, from /home/jx/workspace/ros/cvg_ardrone2_ibvs/src/stack/stack/droneModule/src/include/droneModule.h:14, from /home/jx/workspace/ros/cvg_ardrone2_ibvs/src/stack/stack/droneModule/src/sources/droneModule.cpp:9: /opt/ros/hydro/include/ros/subscription_callback_helper.h: In instantiation of ‘void ros::SubscriptionCallbackHelperT<P, Enabled>::call(ros::SubscriptionCallbackHelperCallParams&) [with P = const boost::shared_ptr<const std_msgs::Bool_std::allocator >&; Enabled = void]’: /home/jx/workspace/ros/cvg_ardrone2_ibvs/src/stack/stack/droneModule/src/sources/droneModule.cpp:336:1: required from here /opt/ros/hydro/include/ros/subscription_callback_helper.h:140:5: error: use of deleted function ‘boost::shared_ptr<const stdmsgs::Bool<std::allocator > >::shared_ptr(const boost::shared_ptr<const stdmsgs::Bool<std::allocator > >&)’ callback_(ParameterAdapter

::getParameter(event)); ^ In file included from /usr/include/boost/shared_ptr.hpp:17:0, from /usr/include/boost/format/alt_sstream.hpp:21, from /usr/include/boost/format/internals.hpp:23, from /usr/include/boost/format.hpp:38, from /usr/include/boost/math/policies/error_handling.hpp:30, from /usr/include/boost/math/special_functions/round.hpp:14, from /opt/ros/hydro/include/ros/time.h:58, from /opt/ros/hydro/include/ros/ros.h:38, from /home/jx/workspace/ros/cvg_ardrone2_ibvs/src/stack/stack/droneModule/src/include/droneModule.h:14, from /home/jx/workspace/ros/cvg_ardrone2_ibvs/src/stack/stack/droneModule/src/sources/droneModule.cpp:9: /usr/include/boost/smart_ptr/shared_ptr.hpp:168:25: note: ‘boost::shared_ptr<const stdmsgs::Bool<std::allocator > >::shared_ptr(const boost::shared_ptr<const stdmsgs::Bool<std::allocator > >&)’ is implicitly declared as deleted because ‘boost::shared_ptr<const stdmsgs::Bool<std::allocator > >’ declares a move constructor or move assignment operator template class shared_ptr ^ In file included from /usr/include/boost/config.hpp:57:0, from /usr/include/boost/cstdint.hpp:36, from /usr/include/boost/math/tools/config.hpp:13, from /usr/include/boost/math/special_functions/round.hpp:13, from /opt/ros/hydro/include/ros/time.h:58, from /opt/ros/hydro/include/ros/ros.h:38, from /home/jx/workspace/ros/cvg_ardrone2_ibvs/src/stack/stack/droneModule/src/include/droneModule.h:14, from /home/jx/workspace/ros/cvg_ardrone2_ibvs/src/stack/stack/droneModule/src/sources/droneModule.cpp:9: /usr/include/boost/function/function_template.hpp:1006:3: error: initializing argument 1 of ‘boost::function1<R, T1>::result_type boost::function1<R, T1>::operator()(T0) const [with R = void; T0 = boost::shared_ptr<const stdmsgs::Bool<std::allocator > >; boost::function1<R, T1>::result_type = void]’ BOOST_FUNCTION_FUNCTION ^ In file included from /usr/include/boost/shared_ptr.hpp:17:0, from /usr/include/boost/format/alt_sstream.hpp:21, from /usr/include/boost/format/internals.hpp:23, from /usr/include/boost/format.hpp:38, from /usr/include/boost/math/policies/error_handling.hpp:30, from /usr/include/boost/math/special_functions/round.hpp:14, from /opt/ros/hydro/include/ros/time.h:58, from /opt/ros/hydro/include/ros/ros.h:38, from /home/jx/workspace/ros/cvg_ardrone2_ibvs/src/stack/stack/droneModule/src/include/droneModule.h:14, from /home/jx/workspace/ros/cvg_ardrone2_ibvs/src/stack/stack/droneModule/src/sources/droneModule.cpp:9: /usr/include/boost/smart_ptr/shared_ptr.hpp: In instantiation of ‘boost::shared_ptr& boost::shared_ptr::operator=(const boost::shared_ptr&) [with T = std_msgs::Bool_std::allocator]’: /opt/ros/hydro/include/ros/subscription_callback_helper.h:127:27: required from ‘ros::VoidConstPtr ros::SubscriptionCallbackHelperT<P, Enabled>::deserialize(const ros::SubscriptionCallbackHelperDeserializeParams&) [with P = const boost::shared_ptr<const stdmsgs::Bool<std::allocator > >&; Enabled = void; ros::VoidConstPtr = boost::shared_ptr]’ /home/jx/workspace/ros/cvg_ardrone2_ibvs/src/stack/stack/droneModule/src/sources/droneModule.cpp:336:1: required from here /usr/include/boost/smart_ptr/shared_ptr.hpp:305:9: error: use of deleted function ‘boost::shared_ptr<stdmsgs::Bool<std::allocator > >::shared_ptr(const boost::shared_ptr<stdmsgs::Bool<std::allocator > >&)’ this_type(r).swap(_this); ^ /usr/include/boost/smart_ptr/shared_ptr.hpp:168:25: note: ‘boost::shared_ptr<stdmsgs::Bool<std::allocator > >::shared_ptr(const boost::shared_ptr<stdmsgs::Bool<std::allocator > >&)’ is implicitly declared as deleted because ‘boost::shared_ptr<stdmsgs::Bool<std::allocator > >’ declares a move constructor or move assignment operator template class shared_ptr ^ /usr/include/boost/smart_ptr/shared_ptr.hpp: In instantiation of ‘boost::shared_ptr& boost::shared_ptr::operator=(const boost::shared_ptr&) [with T = std::mapstd::basic_string<char, std::basic_string >]’: /opt/ros/hydro/include/ros/subscription_callback_helper.h:128:37: required from ‘ros::VoidConstPtr ros::SubscriptionCallbackHelperT<P, Enabled>::deserialize(const ros::SubscriptionCallbackHelperDeserializeParams&) [with P = const boost::shared_ptr<const stdmsgs::Bool<std::allocator > >&; Enabled = void; ros::VoidConstPtr = boost::shared_ptr]’ /home/jx/workspace/ros/cvg_ardrone2_ibvs/src/stack/stack/droneModule/src/sources/droneModule.cpp:336:1: required from here /usr/include/boost/smart_ptr/shared_ptr.hpp:305:9: error: use of deleted function ‘boost::shared_ptrstd::map<std::basic_string<char, std::basic_string > >::shared_ptr(const boost::shared_ptrstd::map<std::basic_string<char, std::basic_string > >&)’ this_type(r).swap(_this); ^ /usr/include/boost/smart_ptr/shared_ptr.hpp:168:25: note: ‘boost::shared_ptrstd::map<std::basic_string<char, std::basic_string > >::shared_ptr(const boost::shared_ptrstd::map<std::basic_string<char, std::basic_string > >&)’ is implicitly declared as deleted because ‘boost::shared_ptrstd::map<std::basic_string<char, std::basic_string > >’ declares a move constructor or move assignment operator template class shared_ptr ^ /usr/include/boost/smart_ptr/shared_ptr.hpp: In instantiation of ‘boost::shared_ptr& boost::shared_ptr::operator=(const boost::shared_ptr&) [with T = std_srvs::EmptyRequest_std::allocator]’: /opt/ros/hydro/include/ros/service_callback_helper.h:197:25: required from ‘bool ros::ServiceCallbackHelperT::call(ros::ServiceCallbackHelperCallParams&) [with Spec = ros::ServiceSpec<stdsrvs::EmptyRequest<std::allocator >, std_srvs::EmptyResponse_std::allocator >]’ /home/jx/workspace/ros/cvg_ardrone2_ibvs/src/stack/stack/droneModule/src/sources/droneModule.cpp:336:1: required from here /usr/include/boost/smart_ptr/shared_ptr.hpp:305:9: error: use of deleted function ‘boost::shared_ptr<stdsrvs::EmptyRequest<std::allocator > >::shared_ptr(const boost::shared_ptr<stdsrvs::EmptyRequest<std::allocator > >&)’ this_type(r).swap(_this); ^ /usr/include/boost/smart_ptr/shared_ptr.hpp:168:25: note: ‘boost::shared_ptr<stdsrvs::EmptyRequest<std::allocator > >::shared_ptr(const boost::shared_ptr<stdsrvs::EmptyRequest<std::allocator > >&)’ is implicitly declared as deleted because ‘boost::shared_ptr<stdsrvs::EmptyRequest<std::allocator > >’ declares a move constructor or move assignment operator template class shared_ptr ^ /usr/include/boost/smart_ptr/shared_ptr.hpp: In instantiation of ‘boost::shared_ptr& boost::shared_ptr::operator=(const boost::shared_ptr&) [with T = std_srvs::EmptyResponse_std::allocator]’: /opt/ros/hydro/include/ros/service_callback_helper.h:198:26: required from ‘bool ros::ServiceCallbackHelperT::call(ros::ServiceCallbackHelperCallParams&) [with Spec = ros::ServiceSpec<stdsrvs::EmptyRequest<std::allocator >, std_srvs::EmptyResponse_std::allocator >]’ /home/jx/workspace/ros/cvg_ardrone2_ibvs/src/stack/stack/droneModule/src/sources/droneModule.cpp:336:1: required from here /usr/include/boost/smart_ptr/shared_ptr.hpp:305:9: error: use of deleted function ‘boost::shared_ptr<stdsrvs::EmptyResponse<std::allocator > >::shared_ptr(const boost::shared_ptr<stdsrvs::EmptyResponse<std::allocator > >&)’ this_type(r).swap(_this); ^ /usr/include/boost/smart_ptr/shared_ptr.hpp:168:25: note: ‘boost::shared_ptr<stdsrvs::EmptyResponse<std::allocator > >::shared_ptr(const boost::shared_ptr<stdsrvs::EmptyResponse<std::allocator > >&)’ is implicitly declared as deleted because ‘boost::shared_ptr<stdsrvs::EmptyResponse<std::allocator > >’ declares a move constructor or move assignment operator template class shared_ptr ^ /usr/include/boost/smart_ptr/shared_ptr.hpp: In instantiation of ‘boost::shared_ptr& boost::shared_ptr::operator=(const boost::shared_ptr&) [with T = const std_msgs::Bool_std::allocator]’: /opt/ros/hydro/include/ros/message_event.h:134:14: required from ‘void ros::MessageEvent::init(const ConstMessagePtr&, const boost::shared_ptrstd::map<std::basic_string<char, std::basic_string > >&, ros::Time, bool, const CreateFunction&) [with M = const std_msgs::Bool_std::allocator; ros::MessageEvent::ConstMessagePtr = boost::shared_ptr<const stdmsgs::Bool<std::allocator > >; typename boost::add_const::type = const std_msgs::Bool_std::allocator; ros::MessageEvent::CreateFunction = boost::functionboost::shared_ptr<stdmsgs::Bool<std::allocator >()>; typename boost::remove_const::type = std_msgs::Bool_std::allocator]’ /opt/ros/hydro/include/ros/message_event.h:106:188: required from ‘ros::MessageEvent::MessageEvent(const ros::MessageEvent&, const CreateFunction&) [with M = const std_msgs::Bool_std::allocator; ros::MessageEvent::CreateFunction = boost::functionboost::shared_ptr<stdmsgs::Bool<std::allocator >()>; typename boost::remove_const::type = std_msgs::Bool_std::allocator]’ /opt/ros/hydro/include/ros/subscription_callback_helper.h:139:38: required from ‘void ros::SubscriptionCallbackHelperT<P, Enabled>::call(ros::SubscriptionCallbackHelperCallParams&) [with P = const boost::shared_ptr<const stdmsgs::Bool<std::allocator > >&; Enabled = void]’ /home/jx/workspace/ros/cvg_ardrone2_ibvs/src/stack/stack/droneModule/src/sources/droneModule.cpp:336:1: required from here /usr/include/boost/smart_ptr/shared_ptr.hpp:305:9: error: use of deleted function ‘boost::shared_ptr<const stdmsgs::Bool<std::allocator > >::shared_ptr(const boost::shared_ptr<const stdmsgs::Bool<std::allocator > >&)’ this_type(r).swap(this); ^ make[2]: ** [stack/stack/droneModule/CMakeFiles/droneModule.dir/src/sources/droneModule.cpp.o] Error 1 make[1]: * [stack/stack/droneModule/CMakeFiles/droneModule.dir/all] Error 2 make[1]: * Waiting for unfinished jobs.... Linking CXX executable /home/jx/workspace/ros/cvg_ardrone2_ibvs/devel/lib/tld_tracker/tld_tracker_node [ 91%] Built target tld_tracker_node make: *\ [all] Error 2 Invoking "make" failed

jespestana commented 9 years ago

Hello Sherljia,

As stated on the repository information, you need Ubuntu 12.10 or later to run this repository. The problem is due to some incompatibility between the boost libraries (which ROS uses) and our code which uses the C++ standard "C++0x". Unfortunately there are no easy workarounds to this problem, because the solution is to modify part of the source to make it compatible with the C++ standard "C++03".

The easiest solution is to use a computer or a virtual machine (for instance, using VirtualBox: https://www.virtualbox.org/ ) that runs Ubuntu 12.10 or later.

I am sorry for the bad news!! Best regards,

Jesús