Quantcast
Channel: ROS Answers: Open Source Q&A Forum - RSS feed
Viewing all 417 articles
Browse latest View live

catkin-pkg distribution was not found

$
0
0
Hi ROS-Community, I am using ubuntu 16.04 with ROS Kinetic build from source. Today I tried to recompile my workspace, but now I get some errors using catkin_find_pkg, which does not allow me to compile any package at all. If I try to compile my workspace: CMake Error at CMakeLists.txt:20 (message): Search for 'catkin' in workspace failed (catkin_find_pkg catkin /home/hkluessendorff/ros/2-additional/src): Traceback (most recent call last): File "/usr/local/bin/catkin_find_pkg", line 5, in from pkg_resources import load_entry_point File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 2927, in @_call_aside File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 2913, in _call_aside f(*args, **kwargs) File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 2940, in _initialize_master_working_set working_set = WorkingSet._build_master() File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 637, in _build_master return cls._build_from_requirements(__requires__) File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 650, in _build_from_requirements dists = ws.resolve(reqs, Environment()) File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 829, in resolve raise DistributionNotFound(req, requirers) pkg_resources.DistributionNotFound: The 'catkin-pkg==0.4.3' distribution was not found and is required by the application I get the same error when I just invoke catkin_find_pkg Traceback (most recent call last): File "/usr/local/bin/catkin_find_pkg", line 5, in from pkg_resources import load_entry_point File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 2927, in @_call_aside File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 2913, in _call_aside f(*args, **kwargs) File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 2940, in _initialize_master_working_set working_set = WorkingSet._build_master() File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 637, in _build_master return cls._build_from_requirements(__requires__) File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 650, in _build_from_requirements dists = ws.resolve(reqs, Environment()) File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 829, in resolve raise DistributionNotFound(req, requirers) pkg_resources.DistributionNotFound: The 'catkin-pkg==0.4.3' distribution was not found and is required by the application I looked inside python-catkin-pkg which I installed via apt-get python-catkin-pkg is already the newest version (0.4.6-100). It seems to me that somehow I need catkin-pkg version 0.4.3, but installed 0.4.6 via an apt-get upgrade. Anybody of you has an idea how to solve this error? Thanks in advance for your advice Best regards,

CMake Functions work with 'catkin_make' but fail with 'catkin build

$
0
0
I have two catkin packages. One package will be called 'function_maker' and the other is 'function_user'. Here are my two CMakeLists.txt: function_maker CMakeLists.txt cmake_minimum_required(VERSION 2.8.3) project(function_maker) add_compile_options(-std=c++11 -g) find_package(catkin REQUIRED) catkin_package() function(test_func arg) message("Function Called") endfunction() function_user CMakeLists.txt cmake_minimum_required(VERSION 2.8.3) project(function_user) add_compile_options(-std=c++11 -g) find_package(catkin REQUIRED COMPONENETS function_maker ) catkin_package() test_func() When I use 'catkin_make' to build my workspace, everything works as expected and during the build process I see a message that says "Function Called". However, when I use 'catkin build' to build my workspace, I get the following error message: Unknown CMake command "test_func". Why is there a difference between 'catkin_make' and 'catkin build'? How can I make this work with both build tools?

message header doesn't build

$
0
0
I know this question has been asked a number of times, and I've gone through and followed the instructions on a number of those answers (for example- [here](https://answers.ros.org/question/306884/custom-message-fails-to-build-no-such-file-or-directory/) and [here](https://answers.ros.org/question/188982/message-headers-wont-build-first/)), as well as in the documentation for building a custom message. Yet still my message header is not building. This is the error I get: /home/erinline/Documents/testsim/src/m-explore/explore/src/explore.cpp:39:10: fatal error: msg/util.h: No such file or directory #include ^~~~~~~~~~~~ compilation terminated. m-explore/explore/CMakeFiles/explore.dir/build.make:86: recipe for target 'm-explore/explore/CMakeFiles/explore.dir/src/explore.cpp.o' failed make[2]: *** [m-explore/explore/CMakeFiles/explore.dir/src/explore.cpp.o] Error 1 CMakeFiles/Makefile2:23711: recipe for target 'm-explore/explore/CMakeFiles/explore.dir/all' failed make[1]: *** [m-explore/explore/CMakeFiles/explore.dir/all] Error 2 Makefile:140: recipe for target 'all' failed make: *** [all] Error 2 Invoking "make -j4 -l4" failed This is my CMakeLists.txt: cmake_minimum_required(VERSION 2.8.3) project(explore_lite) ## Find catkin macros and libraries find_package(catkin REQUIRED COMPONENTS actionlib actionlib_msgs costmap_2d geometry_msgs map_msgs move_base_msgs nav_msgs roscpp std_msgs tf visualization_msgs message_generation ) add_message_files( FILES util.msg ) generate_messages( DEPENDENCIES std_msgs ) ################################### ## catkin specific configuration ## ################################### catkin_package( CATKIN_DEPENDS actionlib_msgs geometry_msgs map_msgs move_base_msgs nav_msgs std_msgs visualization_msgs message_runtime ) ########### ## Build ## ########### # c++11 support required include(CheckCXXCompilerFlag) check_cxx_compiler_flag("-std=c++11" COMPILER_SUPPORTS_CXX11) if(COMPILER_SUPPORTS_CXX11) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") else() message(FATAL_ERROR "The compiler ${CMAKE_CXX_COMPILER} has no C++11 support. Please use a different C++ compiler.") endif() ## Specify additional locations of header files include_directories( ${catkin_INCLUDE_DIRS} include ) add_executable(explore src/costmap_client.cpp src/explore.cpp src/frontier_search.cpp ) #add_dependencies(explore ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS}) add_dependencies(explore explore_lite_generate_messages_cpp) target_link_libraries(explore ${catkin_LIBRARIES}) ############# ## Install ## ############# # install nodes install(TARGETS explore ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION} ) # install roslaunch files install(DIRECTORY launch/ DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}/launch ) ############# ## Testing ## ############# if(CATKIN_ENABLE_TESTING) find_package(roslaunch REQUIRED) # test all launch files roslaunch_add_file_check(launch) endif() My message is called util.msg, it is in a file called msg within the package file called explore. I must be missing something, since those previous answers seem to work for some folks. Any advice on where I am going wrong would be greatly appreciated!

Porting Qt packages from Kinetic to Melodic

$
0
0
When trying to compile in ROS Melodic packages created using catkin_create_qt_pkg in ROS Kinetic, catkin_make fails with the message: -- Could NOT find qt_build (missing: qt_build_DIR) -- Could not find the required component 'qt_build'. The following CMake error indicates that you either need to install the package with the same name or change your environment so that it can be found. CMake Error at /opt/ros/melodic/share/catkin/cmake/catkinConfig.cmake:83 (find_package): Could not find a package configuration file provided by "qt_build" with any of the following names: qt_buildConfig.cmake qt_build-config.cmake Add the installation prefix of "qt_build" to CMAKE_PREFIX_PATH or set "qt_build_DIR" to a directory containing one of the above files. If "qt_build" provides a separate development package or SDK, be sure it has been installed. Apparently, qt_build is [currently unavailable](http://wiki.ros.org/qt_build) for Melodic. Below is my CmakeLists file: cmake_minimum_required(VERSION 2.8.0) set (CMAKE_CXX_STANDARD 14) set (CMAKE_BUILD_TYPE Debug) project(visualization) find_package(catkin REQUIRED COMPONENTS qt_build roscpp converters) include_directories(include ${catkin_INCLUDE_DIRS}) catkin_package() include_directories( ../../devel/include ../../install/include ) ############################################################################## # Qt Environment ############################################################################## rosbuild_prepare_qt4(QtCore QtGui) # Add the appropriate components to the component list here ############################################################################## # Sections ############################################################################## file(GLOB QT_FORMS_BLOCK RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} ui/main_window_block.ui) file(GLOB QT_RESOURCES_BLOCK RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} resources/resources.qrc) file(GLOB_RECURSE QT_MOC_BLOCK RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} FOLLOW_SYMLINKS include/visualization/main_window_block.hpp) QT4_ADD_RESOURCES(QT_RESOURCES_CPP_BLOCK ${QT_RESOURCES_BLOCK}) QT4_WRAP_UI(QT_FORMS_HPP_BLOCK ${QT_FORMS_BLOCK}) QT4_WRAP_CPP(QT_MOC_HPP_BLOCK ${QT_MOC_BLOCK}) ############################################################################## # Binaries ############################################################################## add_executable(block src/main_block.cpp src/main_window_block.cpp ${QT_RESOURCES_CPP_BLOCK} ${QT_FORMS_HPP_BLOCK} ${QT_MOC_HPP_BLOCK}) add_dependencies(block converters_generate_messages) target_link_libraries(block ${QT_LIBRARIES} ${catkin_LIBRARIES}) install(TARGETS block RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}) Are there any workaround options or should I wait with porting to Melodic until qt_build is available? Thanks

catkin_make error in Kinetic (yocs_math_toolkit)

$
0
0
On a x64 Ubuntu 16.04 (Xenial) machine, completed a full ROS Kinetic (full desktop), Turtlebot3 Dependancies RemotePC Workstation installation, including rosdep update.. Want to add the turtlebot_arm package to operate an original arbotix/dynalmixel Turtlebot Arm. Following installation instructions for **turtlebot_arm package** https://github.com/turtlebot/turtlebot_arm, branch kinetic-devel, catkin_make error: -- *** processing catkin package: 'turtlebot_arm_object_manipulation' -- ==> add_subdirectory(turtlebot_arm/turtlebot_arm_object_manipulation) -- Using these message generators: gencpp;geneus;genlisp;gennodejs;genpy CMake Warning at /opt/ros/kinetic/share/catkin/cmake/catkinConfig.cmake:76 (find_package): Could not find a package configuration file provided by "yocs_math_toolkit" Accordingly the compilation stopped with: -- Configuring incomplete, errors occurred! I would appreciate assistance, such as are there additional dependencies need to be installed first?

CMakeLists: problem linking a class defined in a separate file

$
0
0
Hi guys, I ve defined in my > usb_simulator folder 3 files with the following structure: ![image description](/upfiles/1410000194248359.png) where: > joy_main.cpp #include #include "joystick.h" int main( int argc, char **argv ) { ros::init( argc, argv, "usb_simulator" ); /* create a class: "Joystick" */ //Joystick usb_sim; // commented for debug ros::spin(); } is the main file, > joystick.h #include #include #include #ifndef JOYSTICK_H #define JOYSTICK_H class Joystick { private: void joystickCallback( const sensor_msgs::Joy &joy ) ; ros::NodeHandle nh_; int linear_, angular_; double l_scale_, a_scale_; ros::Publisher cmd_pub_; ros::Subscriber joy_sub_; public: Joystick(); }; #endif > and joystick.cpp: #include "joystick.h" Joystick::Joystick() : linear_( 1 ), angular_( 2 ) { nh_.param( "axis_linear", linear_, linear_ ); nh_.param( "axis_angular", angular_, angular_ ); nh_.param( "scale_angular", a_scale_, a_scale_ ); nh_.param( "scale_linear", l_scale_, l_scale_ ); cmd_pub_ = nh_.advertise( "usb_data", 1 ); joy_sub_ = nh_.subscribe( "joy", 10, &Joystick::joystickCallback, this ); } void Joystick::joystickCallback( const sensor_msgs::Joy &joy ) { geometry_msgs::Twist vel; vel.angular = a_scale_ * joy->axes[angular_]; vel.linear = l_scale_ * joy->axes[linear_]; vel_pub_.publish( vel ); } define a class for the joystick interface. In my CMakeLists.txt: cmake_minimum_required(VERSION 2.8.3) project(usb_simulator) find_package(catkin REQUIRED COMPONENTS joy roscpp geometry_msgs ) ## Declare a cpp executable # add_executable(usb_simulator_node src/usb_simulator_node.cpp) add_executable( usb_simulator src/joy_main.cpp src/joystick.cpp ) ## Specify libraries to link a library or executable target against target_link_libraries( usb_simulator ${catkin_LIBRARIES} ) I defined both cpp files to be added to the executable. Running catkin_make I get the following error: /home/wilhem/workspace_ros/src/usb_simulator/src/joystick.cpp: In constructor ‘Joystick::Joystick()’: /home/wilhem/workspace_ros/src/usb_simulator/src/joystick.cpp:13:94: error: no matching function for call to ‘ros::NodeHandle::subscribe(const char [4], int, void (Joystick::*)(const Joy&), Joystick* const)’ joy_sub_ = nh_.subscribe( "joy", 10, &Joystick::joystickCallback, this ); ^ /home/wilhem/workspace_ros/src/usb_simulator/src/joystick.cpp:13:94: note: candidates are: In file included from /opt/ros/indigo/include/ros/ros.h:45:0, from /home/wilhem/workspace_ros/src/usb_simulator/src/joystick.h:1, from /home/wilhem/workspace_ros/src/usb_simulator/src/joystick.cpp:1: /opt/ros/indigo/include/ros/node_handle.h:379:14: note: template ros::Subscriber ros::NodeHandle::subscribe(const string&, uint32_t, void (T::*)(M), T*, const ros::TransportHints&) Subscriber subscribe(const std::string& topic, uint32_t queue_size, void(T::*fp)(M), T* obj, How can I solve this problem? Regards

catkin_make require build of package without dependencies

$
0
0
We have a driver package for our hardware we have developed ourselves, which I shall call `foo_driver`. On our test desktop environment, we do not need the package, so there are no dependencies in the `package.xml` files of other packages, so it never builds on the desktop as expected. However, we now want to run a QA tool on the library, which according to our QA department requires the standard `catkin_make` to try to build the library. We cannot ask for a single package build with `catkin_make --pkg foo_driver` apparently, so is there some way to flag a library as "Always build" or something?

catkin_make hector_slam error

$
0
0
Hi, I have a problem when running the catkin_make hector_slam, there is always an error said make: *** No rule to make target 'hector_slam'. Stop. Invoking "make hector_slam -j4 -l4" failed I don't know what is wrong with that, if you have any idea, please let me know what is wrong with that. Thank you I followed thi tutorial https://hackaday.io/project/7284-oscar-omni-service-cooperative-assistant-robot/log/26164-first-foray-into-ros

How do you use Python3 and its libraries with ROS Melodic (researched)?

$
0
0
Hi, I'm a total ROS newbie and I'm looking for help with integrating [SPADE multi-agent Python library](https://pypi.org/project/spade/) (3.6 and up) with ROS Melodic (Ubuntu 18.04). I'm really desperate right now because I was looking for many different anwsers how to do such a thing. This is a precise description of what I did and with many many different attempts before: Creating the main package: 1. I create folders `catkin_ws/src` and run the command `catkin_make` in `catkin_ws` to create a workspace. 2. I create the first package named `spade_test` in which the main .py files will be located, I use `catkin_create_pkg spade_test std_msgs rospy` in the `src` folder. 3. Every time I change something significant, I run `catkin_make` and `. ~/catkin_ws/devel/setup.bash` commands. 4. I add `message_generation` and `message_runtime` to `package.xml` file and `message_generation` in `find_package` section and `CATKIN_DEPENDS message_runtime` in `catkin_package` section of `CMakeLists.txt` file. I also uncomment the `generate_messages` section (don't think anything in this step is essential). 5. I add 2 files `talker.py` and `listener.py` to the `spade_test` folder, the same code as in [this tutorial](http://wiki.ros.org/ROS/Tutorials/WritingPublisherSubscriber%28python%29). 6. I'm using the `chmod + x filename.py` command to make these work as executable files. Creating package with a library inside: 1. I create the `spade` package by using the `catkin_create_pkg spade std_msgs rospy` command in the `src` folder. 2. In the `package.xml` file in the `` tag, I change it to `3.1.2`, while in the `CMakeLists.txt` file I uncomment the `catkin_python_setup()` line. 3. I git clone everything from the [SPADE repository](https://github.com/javipalanca/spade) to the `spade` folder (`setup.py` file included). 4. In `spade_test` package's `package.xml` file I add 3 lines: `spade`, `spade` and `spade`. In its `CMakeLists.txt` I add `spade` to `find_package` section. 5. After using `catkin_make` and `. ~/catkin_ws/devel/setup.bash` commands, the `talker.py` and `listener.py` files work fine after using `rosrun spade_test talker.py` etc. 6. I added `from spade.agent import Agent` to test it if the library works properly and sadly it doesn't, the error occured: `Traceback (most recent call last): File "/home/my_name/catkin_ws/src/spade_test/talker.py", line 6, in from spade.agent import Agent File "/home/my_name/catkin_ws/devel/lib/python2.7/dist-packages/spade/__init__.py", line 35, in exec(__fh.read()) File "", line 3, in File "/home/my_name/catkin_ws/src/spade/spade/agent.py", line 86 async def _async_start(self, auto_register=True): ^ SyntaxError: invalid syntax` It's definitely related to the wrong version of Python my ROS is using (2.7) and I was looking everywhere to change it (even some answers from this place) but sadly nothing has helped. I also created another catkin workspace with `catkin build --cmake-args -DPYTHON_VERSION=3.6` command instead of `catkin_make` with the exact same result (except with `/home/my_name/catkin_ws/devel/lib/python3/dist-packages/spade/__init__.py` line in the error instead). I installed my ROS Melodic with [this tutorial](http://wiki.ros.org/melodic/Installation/Ubuntu). I would be really grateful if someone would help me with all of this as there might be some mistakes earlier which I'm not even aware of.

How to build just one package using catkin_make?

$
0
0
How do I build just one package using catkin_make? I now that I can cd to the build directory and build there but that is inconvenient. And how do I build one package and its dependencies?

Cmake This workspace contains non-catkin packages in it

$
0
0
I started to install mavros, an error happens when i use catkin_make. I have searched on the website for this but have no results yet. Did anyone have this kind of problem before? --------------------------------------------------------------------------------------------------------------------------------------------------------------------- CMake Error at /opt/ros/kinetic/share/catkin/cmake/catkin_workspace.cmake:95 (message): This workspace contains non-catkin packages in it, and catkin cannot build a non-homogeneous workspace without isolation. Try the 'catkin_make_isolated' command instead. Call Stack (most recent call first): CMakeLists.txt:63 (catkin_workspace) -- Configuring incomplete, errors occurred! See also "/home/sergio/catkin_ws/build/CMakeFiles/CMakeOutput.log". See also "/home/sergio/catkin_ws/build/CMakeFiles/CMakeError.log". Makefile:2460: fallo en las instrucciones para el objetivo 'cmake_check_build_system' make: *** [cmake_check_build_system] Error 1 Invoking "make cmake_check_build_system" failed ---------------------------------------------------------------------------------------------------------------------------------------------------------------------

undefined reference to everything

$
0
0
Hi, I have a package in my workspace that uses openCV and cv_bridge. I needed the cuda module of openCV, but it doesn't exist in the default openCV of ROS. I installed another version of openCV that included the cuda modules, I tried to link my workspace and my package to the new openCV and I had lots of errors like "undefined reference to 'cv_bridge::...' ", "undefined reference to 'ros::init::...' ", "undefined reference to 'rosbag::...' ". I tried to solve the problems but I wasn't able, so I tried to return to the default openCV (it worked fine with my package before I tried to use cuda, etc.), but it gives the same errors now. I have uninstalled and reinstalled ROS, deleted my workspace and the package and I have created them again, but I have the same errors. I have all the dependencies in the CMakeLists.txt. **________** **EDIT** For more information, I have created now a new node with a loop that does nothing but `ros::spinOnce(); loop_rate.sleep();` in a different package, and I have the same `undefined reference to` errors about `ros::init(...)` and `ros::NodeHandle::NodeHandle(...)`. **________** **EDIT 2** I have exported my package to another computer with ros and it does work, so I think it is a problem in my ros installation or something wrong in the configuration of the computer or ubuntu (maybe CMake, g++ or gcc?). Please does anyone know which could be the problem? Please I really need help! **________** These are some of the errors: undefined reference to 'cv_bridge::toCvCopy(boost::shared_ptr> const> const&, std::string const&)' undefined reference to 'ros::console::initializeLogLocation(ros::console::LogLocation*, std::string const&, ros::console::levels::Level)' undefined reference to 'ros::init(int&, char**, std::string const&, unsigned int)' undefined reference to 'ros::NodeHandle::NodeHandle(std::string const&, std::map, std::allocator>> const&)' undefined reference to 'rosbag::Bag::open(std::string const&, unsigned int)' undefined reference to 'rosbag::TypeQuery::TypeQuery(std::string const&)' undefined reference to 'rosbag::MessageInstance::getTopic() const' undefined reference to 'pcl_ros::transformPointCloud(std::string const&, sensor_msgs::PointCloud2_> const&, sensor_msgs::PointCloud2_>&, tf::TransformListener const&)' undefined reference to 'pcl::PCDWriter::writeBinary(std::string const&, pcl::PCLPointCloud2 const&, Eigen::Matrix const&, Eigen::Quaternion const&)' undefined reference to 'pcl::PCDWriter::writeASCII(std::string const&, pcl::PCLPointCloud2 const&, Eigen::Matrix const&, Eigen::Quaternion const&, int)' undefined reference to 'rosbag::MessageInstance::getMD5Sum() const' undefined reference to 'rosbag::Bag::readField(std::map, std::allocator>> const&, std::string const&, bool, std::string&) const' undefined reference to 'rosbag::Bag::readField(std::map, std::allocator>> const&, std::string const&, bool, std::string&) const' ... collect2: error: ld returned 1 exit status b_c_f/CMakeFiles/bag_to_pcd.dir/build.make:990: recipe for target '/home/portico/catkin_ws/devel/lib/b_c_f/bag_to_pcd' failed make[2]: *** [/home/portico/catkin_ws/devel/lib/b_c_f/bag_to_pcd] Error 1 CMakeFiles/Makefile2:1642: recipe for target 'b_c_f/CMakeFiles/bag_to_pcd.dir/all' failed make[1]: *** [b_c_f/CMakeFiles/bag_to_pcd.dir/all] Error 2 Makefile:138: recipe for target 'all' failed make: *** [all] Error 2 Invoking "make -j8 -l8" failed I don't know if trying to use the new openCV I have changed something in my CMakeLists.txt or package.xml, so I add them here. CMakeLists.txt: cmake_minimum_required(VERSION 2.8.3) project(b_c_f) ## Compile as C++11, supported in ROS Kinetic and newer # add_compile_options(-std=c++11) ## Find catkin macros and libraries ## if COMPONENTS list like find_package(catkin REQUIRED COMPONENTS xyz) ## is used, also find other catkin packages find_package(PCL REQUIRED) find_package(OpenCV REQUIRED) find_package(catkin REQUIRED COMPONENTS cv_bridge pcl_conversions pcl_msgs pcl_ros rosbag roscpp sensor_msgs tf ) ################################### ## catkin specific configuration ## ################################### ## The catkin_package macro generates cmake config files for your package ## Declare things to be passed to dependent projects ## INCLUDE_DIRS: uncomment this if your package contains header files ## LIBRARIES: libraries you create in this project that dependent projects also need ## CATKIN_DEPENDS: catkin_packages dependent projects also need ## DEPENDS: system dependencies of this project that dependent projects also need catkin_package( # INCLUDE_DIRS include # LIBRARIES b_c_f # CATKIN_DEPENDS cv_bridge pcl_conversions pcl_msgs pcl_ros rosbag roscpp sensor_msgs tf # DEPENDS system_lib ) ########### ## Build ## ########### ## Specify additional locations of header files ## Your package locations should be listed before other locations include_directories( include include/b_c_f src/log ${catkin_INCLUDE_DIRS} ${PCL_INCLUDE_DIRS} ${OpenCV_INCLUDE_DIRS} ) ## Declare a C++ executable ## With catkin_make all packages are built within a single CMake context ## The recommended prefix ensures that target names across packages don't collide add_executable(bag_to_pcd src/BagCameraFiltering.cpp src/Blob.cpp src/timing-helper.cpp src/Tracker.cpp src/Vehicle.cpp src/log/Logger.cpp src/log/LogItem.cpp src/log/Log.cpp src/log/Thread.cpp #include/bag_camera_filtering/Vehicle.h ) ## Specify libraries to link a library or executable target against target_link_libraries(bag_to_pcd ${catkin_LIBRARIES} ${OpenCV_LIBS} ${PCL_LIBRARIES} ) package.xml: b_c_f0.0.0The b_c_f packageporticoTODOcatkincv_bridgepcl_conversionspcl_msgspcl_rosrosbagroscppsensor_msgstfcv_bridgepcl_conversionspcl_msgspcl_rosrosbagroscppsensor_msgstfcv_bridgepcl_conversionspcl_msgspcl_rosrosbagroscppsensor_msgstf I don't know anything about how the bash or bashrc should be so the problem could be there too. Pd: I cloned the cv_bridge from github as another package in my catkin_ws but that didn't solve anything. Please, I need help!

cv_dnn: build failure due to "No rule to make target '[..]/PROTOBUF_PROTOC_EXECUTABLE-NOTFOUND'"

$
0
0
Base path: /home/kbrown/util_ws Source space: /home/kbrown/util_ws/src Build space: /home/kbrown/util_ws/build Devel space: /home/kbrown/util_ws/devel Install space: /home/kbrown/util_ws/install #### #### Running command: "make cmake_check_build_system" in "/home/kbrown/util_ws/build" #### #### #### Running command: "make -j2 -l2" in "/home/kbrown/util_ws/build" #### make[2]: *** No rule to make target '/home/kbrown/util_ws/src/cv_dnn/PROTOBUF_PROTOC_EXECUTABLE-NOTFOUND', needed by 'cv_dnn/caffe.pb.cc'. Stop. CMakeFiles/Makefile2:437: recipe for target 'cv_dnn/CMakeFiles/cv_dnn.dir/all' failed make[1]: *** [cv_dnn/CMakeFiles/cv_dnn.dir/all] Error 2 Makefile:138: recipe for target 'all' failed make: *** [all] Error 2 Invoking "make -j2 -l2" failed this is the CMakeList file for the package im trying to install: cmake_minimum_required(VERSION 2.8.3) project(cv_dnn) ## Add support for C++11, supported in ROS Kinetic and newer # add_definitions(-std=c++11) ## Find catkin macros and libraries ## if COMPONENTS list like find_package(catkin REQUIRED COMPONENTS xyz) ## is used, also find other catkin packages find_package( catkin REQUIRED COMPONENTS cv_bridge roscpp ) ## System dependencies are found with CMake's conventions find_package( OpenCV REQUIRED COMPONENTS core imgproc ) find_package( Protobuf REQUIRED ) ## Uncomment this if the package has a setup.py. This macro ensures ## modules and global scripts declared therein get installed ## See http://ros.org/doc/api/catkin/html/user_guide/setup_dot_py.html # catkin_python_setup() ################################################ ## Declare ROS messages, services and actions ## ################################################ ## To declare and build messages, services or actions from within this ## package, follow these steps: ## * Let MSG_DEP_SET be the set of packages whose message types you use in ## your messages/services/actions (e.g. std_msgs, actionlib_msgs, ...). ## * In the file package.xml: ## * add a build_depend tag for "message_generation" ## * add a build_depend and a run_depend tag for each package in MSG_DEP_SET ## * If MSG_DEP_SET isn't empty the following dependency has been pulled in ## but can be declared for certainty nonetheless: ## * add a run_depend tag for "message_runtime" ## * In this file (CMakeLists.txt): ## * add "message_generation" and every package in MSG_DEP_SET to ## find_package(catkin REQUIRED COMPONENTS ...) ## * add "message_runtime" and every package in MSG_DEP_SET to ## catkin_package(CATKIN_DEPENDS ...) ## * uncomment the add_*_files sections below as needed ## and list every .msg/.srv/.action file to be processed ## * uncomment the generate_messages entry below ## * add every package in MSG_DEP_SET to generate_messages(DEPENDENCIES ...) ## Generate messages in the 'msg' folder # add_message_files( # FILES # Message1.msg # Message2.msg # ) ## Generate services in the 'srv' folder # add_service_files( # FILES # Service1.srv # Service2.srv # ) ## Generate actions in the 'action' folder # add_action_files( # FILES # Action1.action # Action2.action # ) ## Generate added messages and services with any dependencies listed here # generate_messages( # DEPENDENCIES # std_msgs # Or other packages containing msgs # ) ################################################ ## Declare ROS dynamic reconfigure parameters ## ################################################ ## To declare and build dynamic reconfigure parameters within this ## package, follow these steps: ## * In the file package.xml: ## * add a build_depend and a run_depend tag for "dynamic_reconfigure" ## * In this file (CMakeLists.txt): ## * add "dynamic_reconfigure" to ## find_package(catkin REQUIRED COMPONENTS ...) ## * uncomment the "generate_dynamic_reconfigure_options" section below ## and list every .cfg file to be processed ## Generate dynamic reconfigure parameters in the 'cfg' folder # generate_dynamic_reconfigure_options( # cfg/DynReconf1.cfg # cfg/DynReconf2.cfg # ) ################################### ## catkin specific configuration ## ################################### ## The catkin_package macro generates cmake config files for your package ## Declare things to be passed to dependent projects ## INCLUDE_DIRS: uncomment this if you package contains header files ## LIBRARIES: libraries you create in this project that dependent projects also need ## CATKIN_DEPENDS: catkin_packages dependent projects also need ## DEPENDS: system dependencies of this project that dependent projects also need catkin_package( INCLUDE_DIRS include LIBRARIES cv_dnn CATKIN_DEPENDS cv_bridge roscpp # DEPENDS system_lib ) ########### ## Build ## ########### ## Specify additional locations of header files ## Your package locations should be listed before other locations list( GET OpenCV_INCLUDE_DIRS 0 OpenCV_ROOT_INCLUDE_DIR ) include_directories( include ${catkin_INCLUDE_DIRS} ${OpenCV_ROOT_INCLUDE_DIR}/opencv2 # to include "cvconfig.h" in sources ${CMAKE_CURRENT_BINARY_DIR} # to include auto-generated headers ${CMAKE_CURRENT_BINARY_DIR}/modules/dnn # to include auto-generated headers ${CMAKE_CURRENT_SOURCE_DIR}/src # to include "precomp.hpp" in sources in subdirectories ) ## Declare a C++ library file( GLOB cv_dnn_SRCS ${CMAKE_CURRENT_SOURCE_DIR}/src/*.cpp ${CMAKE_CURRENT_SOURCE_DIR}/src/caffe/*.cpp ${CMAKE_CURRENT_SOURCE_DIR}/src/layers/*.cpp ) protobuf_generate_cpp( proto_HDRS proto_SRCS src/caffe/caffe.proto ) set( cl_SRC ${CMAKE_CURRENT_BINARY_DIR}/modules/dnn/opencl_kernels_dnn.cpp ) file( GLOB cl_FILES ${CMAKE_CURRENT_SOURCE_DIR}/src/opencl/*.cl ) add_custom_command( OUTPUT ${cl_SRC} COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/modules/dnn COMMAND ${CMAKE_COMMAND} -D MODULE_NAME=dnn -D CL_DIR=${CMAKE_CURRENT_SOURCE_DIR}/src/opencl -D OUTPUT=${cl_SRC} -P ${CMAKE_CURRENT_SOURCE_DIR}/cmake/cl2cpp.cmake DEPENDS ${cl_FILES} ${CMAKE_CURRENT_SOURCE_DIR}/cmake/cl2cpp.cmake ) add_library( cv_dnn ${cv_dnn_SRCS} ${proto_HDRS} ${proto_SRCS} ${cl_SRC} ) ## Add cmake target dependencies of the library ## as an example, code may need to be generated before libraries ## either from message generation or dynamic reconfigure # add_dependencies(${PROJECT_NAME} ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS}) ## Declare a C++ executable ## With catkin_make all packages are built within a single CMake context ## The recommended prefix ensures that target names across packages don't collide #add_executable( # caffe_googlenet # sample/caffe_googlenet.cpp # ) ## Rename C++ executable without prefix ## The above recommended prefix causes long target names, the following renames the ## target back to the shorter version for ease of user use ## e.g. "rosrun someones_pkg node" instead of "rosrun someones_pkg someones_pkg_node" set_target_properties( cv_dnn PROPERTIES COMPILE_FLAGS "-DHAVE_PROTOBUF=1" ) ## Add cmake target dependencies of the executable ## same as for the library above # add_dependencies(${PROJECT_NAME}_node ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS}) ## Specify libraries to link a library or executable target against target_link_libraries( cv_dnn ${catkin_LIBRARIES} ${OpenCV_LIBRARIES} ${PROTOBUF_LIBRARIES} ) #target_link_libraries( # caffe_googlenet # cv_dnn #) ############# ## Install ## ############# # all install targets should use catkin DESTINATION variables # See http://ros.org/doc/api/catkin/html/adv_user_guide/variables.html ## Mark executable scripts (Python etc.) for installation ## in contrast to setup.py, you can choose the destination # install(PROGRAMS # scripts/my_python_script # DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION} # ) ## Mark executables and/or libraries for installation # install(TARGETS ${PROJECT_NAME} ${PROJECT_NAME}_node # ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} # LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} # RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION} # ) ## Mark cpp header files for installation # install(DIRECTORY include/${PROJECT_NAME}/ # DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION} # FILES_MATCHING PATTERN "*.h" # PATTERN ".svn" EXCLUDE # ) ## Mark other files for installation (e.g. launch and bag files, etc.) # install(FILES # # myfile1 # # myfile2 # DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION} # ) ############# ## Testing ## ############# ## Add gtest based cpp test target and link libraries # catkin_add_gtest(${PROJECT_NAME}-test test/test_cv_dnn.cpp) # if(TARGET ${PROJECT_NAME}-test) # target_link_libraries(${PROJECT_NAME}-test ${PROJECT_NAME}) # endif() ## Add folders to be run by python nosetests # catkin_add_nosetests(test)

beginner tutorials msg srv catkin_make error

$
0
0
Hey, I'm doing the srv/msg tutorial (http://wiki.ros.org/ROS/Tutorials/CreatingMsgAndSrv), and I'm having an error when i use catkin_make, after changing the CMakeLists.txt and package.xml and generally following the tutorial (and the previous tutorials). I'm totally new to ROS, and It'll be great if someone can help me out, because I'm pretty lost. After having this error I even tried deleting my progress and recreating it, only to get this same error message again. Here's my error: sophie@sophie-HP-ProBook-4520s:~/catkin_ws$ catkin_make Base path: /home/sophie/catkin_ws Source space: /home/sophie/catkin_ws/src Build space: /home/sophie/catkin_ws/build Devel space: /home/sophie/catkin_ws/devel Install space: /home/sophie/catkin_ws/install #### #### Running command: "make cmake_check_build_system" in "/home/sophie/catkin_ws/build" #### -- Using CATKIN_DEVEL_PREFIX: /home/sophie/catkin_ws/devel -- Using CMAKE_PREFIX_PATH: /home/sophie/catkin_ws/devel;/opt/ros/indigo -- This workspace overlays: /home/sophie/catkin_ws/devel;/opt/ros/indigo -- Using PYTHON_EXECUTABLE: /usr/bin/python -- Using Debian Python package layout -- Using empy: /usr/bin/empy -- Using CATKIN_ENABLE_TESTING: ON -- Call enable_testing() -- Using CATKIN_TEST_RESULTS_DIR: /home/sophie/catkin_ws/build/test_results -- Found gtest sources under '/usr/src/gtest': gtests will be built -- Using Python nosetests: /usr/bin/nosetests-2.7 -- catkin 0.6.16 -- BUILD_SHARED_LIBS is on WARNING: Package "ompl" does not follow the version conventions. It should not contain leading zeros (unless the number is 0). -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -- ~~ traversing 1 packages in topological order: -- ~~ - beginner_tutorials -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -- +++ processing catkin package: 'beginner_tutorials' -- ==> add_subdirectory(beginner_tutorials) -- Using these message generators: gencpp;genlisp;genpy -- beginner_tutorials: 1 messages, 1 services -- BUILD_SHARED_LIBS is on WARNING: Package "ompl" does not follow the version conventions. It should not contain leading zeros (unless the number is 0). -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -- ~~ traversing 1 packages in topological order: -- ~~ - beginner_tutorials -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -- +++ processing catkin package: 'beginner_tutorials' -- ==> add_subdirectory(beginner_tutorials) CMake Error at /opt/ros/indigo/share/catkin/cmake/catkin_workspace.cmake:116 (add_subdirectory): The binary directory /home/sophie/catkin_ws/build/beginner_tutorials is already used to build a source directory. It cannot be used to build source directory /home/sophie/catkin_ws/src/beginner_tutorials Specify a unique binary directory name. Call Stack (most recent call first): CMakeLists.txt:125 (catkin_workspace) -- Configuring incomplete, errors occurred! See also "/home/sophie/catkin_ws/build/CMakeFiles/CMakeOutput.log". See also "/home/sophie/catkin_ws/build/CMakeFiles/CMakeError.log". make: *** [cmake_check_build_system] Error 1 Invoking "make cmake_check_build_system" failed Also, I added these two lines to my package.xml: message_generationmessage_runtime And my CMakeLists.txt looks like this: (It's mostly comments. All according to the tutorials, I hope) cmake_minimum_required(VERSION 2.8.3) project(beginner_tutorials) ## Find catkin macros and libraries ## if COMPONENTS list like find_package(catkin REQUIRED COMPONENTS xyz) ## is used, also find other catkin packages find_package(catkin REQUIRED COMPONENTS roscpp rospy std_msgs message_generation ) ## System dependencies are found with CMake's conventions # find_package(Boost REQUIRED COMPONENTS system) ## Uncomment this if the package has a setup.py. This macro ensures ## modules and global scripts declared therein get installed ## See http://ros.org/doc/api/catkin/html/user_guide/setup_dot_py.html # catkin_python_setup() ################################################ ## Declare ROS messages, services and actions ## ################################################ ## To declare and build messages, services or actions from within this ## package, follow these steps: ## * Let MSG_DEP_SET be the set of packages whose message types you use in ## your messages/services/actions (e.g. std_msgs, actionlib_msgs, ...). ## * In the file package.xml: ## * add a build_depend tag for "message_generation" ## * add a build_depend and a run_depend tag for each package in MSG_DEP_SET ## * If MSG_DEP_SET isn't empty the following dependency has been pulled in ## but can be declared for certainty nonetheless: ## * add a run_depend tag for "message_runtime" ## * In this file (CMakeLists.txt): ## * add "message_generation" and every package in MSG_DEP_SET to ## find_package(catkin REQUIRED COMPONENTS ...) ## * add "message_runtime" and every package in MSG_DEP_SET to ## catkin_package(CATKIN_DEPENDS ...) ## * uncomment the add_*_files sections below as needed ## and list every .msg/.srv/.action file to be processed ## * uncomment the generate_messages entry below ## * add every package in MSG_DEP_SET to generate_messages(DEPENDENCIES ...) ## Generate messages in the 'msg' folder add_message_files( FILES Num.msg ) ## Generate services in the 'srv' folder add_service_files( FILES AddTwoInts.srv ) ## Generate actions in the 'action' folder # add_action_files( # FILES # Action1.action # Action2.action # ) ## Generate added messages and services with any dependencies listed here generate_messages( DEPENDENCIES std_msgs ) ################################################ ## Declare ROS dynamic reconfigure parameters ## ################################################ ## To declare and build dynamic reconfigure parameters within this ## package, follow these steps: ## * In the file package.xml: ## * add a build_depend and a run_depend tag for "dynamic_reconfigure" ## * In this file (CMakeLists.txt): ## * add "dynamic_reconfigure" to ## find_package(catkin REQUIRED COMPONENTS ...) ## * uncomment the "generate_dynamic_reconfigure_options" section below ## and list every .cfg file to be processed ## Generate dynamic reconfigure parameters in the 'cfg' folder # generate_dynamic_reconfigure_options( # cfg/DynReconf1.cfg # cfg/DynReconf2.cfg # ) ################################### ## catkin specific configuration ## ################################### ## The catkin_package macro generates cmake config files for your package ## Declare things to be passed to dependent projects ## INCLUDE_DIRS: uncomment this if you package contains header files ## LIBRARIES: libraries you create in this project that dependent projects also need ## CATKIN_DEPENDS: catkin_packages dependent projects also need ## DEPENDS: system dependencies of this project that dependent projects also need catkin_package( INCLUDE_DIRS include LIBRARIES beginner_tutorials CATKIN_DEPENDS roscpp rospy std_msgs message_runtime DEPENDS system_lib ) ########### ## Build ## ########### ## Specify additional locations of header files ## Your package locations should be listed before other locations # include_directories(include) include_directories( ${catkin_INCLUDE_DIRS} ) ## Declare a C++ library # add_library(beginner_tutorials # src/${PROJECT_NAME}/beginner_tutorials.cpp # ) ## Add cmake target dependencies of the library ## as an example, code may need to be generated before libraries ## either from message generation or dynamic reconfigure # add_dependencies(beginner_tutorials ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS}) ## Declare a C++ executable # add_executable(beginner_tutorials_node src/beginner_tutorials_node.cpp) ## Add cmake target dependencies of the executable ## same as for the library above # add_dependencies(beginner_tutorials_node ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS}) ## Specify libraries to link a library or executable target against # target_link_libraries(beginner_tutorials_node # ${catkin_LIBRARIES} # ) ############# ## Install ## ############# # all install targets should use catkin DESTINATION variables # See http://ros.org/doc/api/catkin/html/adv_user_guide/variables.html ## Mark executable scripts (Python etc.) for installation ## in contrast to setup.py, you can choose the destination # install(PROGRAMS # scripts/my_python_script # DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION} # ) ## Mark executables and/or libraries for installation # install(TARGETS beginner_tutorials beginner_tutorials_node # ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} # LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} # RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION} # ) ## Mark cpp header files for installation # install(DIRECTORY include/${PROJECT_NAME}/ # DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION} # FILES_MATCHING PATTERN "*.h" # PATTERN ".svn" EXCLUDE # ) ## Mark other files for installation (e.g. launch and bag files, etc.) # install(FILES # # myfile1 # # myfile2 # DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION} # ) ############# ## Testing ## ############# ## Add gtest based cpp test target and link libraries # catkin_add_gtest(${PROJECT_NAME}-test test/test_beginner_tutorials.cpp) # if(TARGET ${PROJECT_NAME}-test) # target_link_libraries(${PROJECT_NAME}-test ${PROJECT_NAME}) # endif() ## Add folders to be run by python nosetests # catkin_add_nosetests(test)

"catkin_make" must be invoked in the root of workspace

$
0
0
Hi, I've got this problem, I saw other people with it, but answer on their topic didn't help me So i exactly have The specified base path "/home/eisti/catkin_ws/src/turtlesim_cleaner" contains a package but "catkin_make" must be invoked in the root of workspace When I try ~/catkin_ws/src/turtlesim_cleaner$ catkin_make I'm just trying to do [this tutorial](http://wiki.ros.org/turtlesim/Tutorials/Moving%20in%20a%20Straight%20Line) So the last things to do in this tutorials doesn't work " rosrun turtlesim_cleaner move.py" I think it's because of that, but I don't know how to fix this, I just follow the turorials this is my workespace catkin_ws/ /build /devel /frames.gv /frames.pdf /install /src (in this one) /beginner_tutorials /CMakeLists.txt /learning_tf /turtlesim_cleaner 1. List item

Getting error of 'undefined reference to' while doing 'catkin_make' with the packages in 'src' folder

$
0
0
[ 51%] Built target grasp_execution_msgs_generate_messages_lisp [ 51%] [ 51%] [ 51%] Built target arm_components_name_manager Built target final_project_generate_messages_lisp Built target final_project_generate_messages_cpp [ 52%] Built target final_project_generate_messages_py Linking CXX executable /home/turtlebot/catkin_ws/devel/lib/grasp_planning_graspit_ros/add_model_client [ 52%] Built target eigengrasp_planner_client Linking CXX executable /home/turtlebot/catkin_ws/devel/lib/grasp_planning_graspit_ros/grasp_planning_node Linking CXX executable /home/turtlebot/catkin_ws/devel/lib/grasp_planning_graspit_ros/eigengrasp_planner_client_node Linking CXX executable /home/turtlebot/catkin_ws/devel/lib/grasp_planning_graspit_ros/grasp_planning_service /home/turtlebot/catkin_ws/devel/lib/libgrasp_planning_graspit.so: **undefined reference to** `typeinfo for WorldElement' /home/turtlebot/catkin_ws/devel/lib/libgrasp_planning_graspit.so: undefined reference to `VariableSet::~VariableSet()' /home/turtlebot/catkin_ws/devel/lib/libgrasp_planning_graspit.so: undefined reference to `HandObjectState::execute(Hand*) const' /home/turtlebot/catkin_ws/devel/lib/libgrasp_planning_graspit.so: undefined reference to `World::destroyElement(WorldElement*, bool)'

Error for catkin_make

$
0
0
When running catkin_make from the Hector SLAM ROS with the RPLidar A1. collect2: error: ld returned 1 exit status RPLidar_Hector_SLAM/hector_slam/hector_compressed_map_transport/CMakeFiles/map_to_image_node.dir/build.make:167: recipe for target '/home/jonathanrobinson/catkin_ws/devel/lib/hector_compressed_map_transport/map_to_image_node' failed make[2]: *** [/home/jonathanrobinson/catkin_ws/devel/lib/hector_compressed_map_transport/map_to_image_node] Error 1 CMakeFiles/Makefile2:2767: recipe for target 'RPLidar_Hector_SLAM/hector_slam/hector_compressed_map_transport/CMakeFiles/map_to_image_node.dir/all' failed make[1]: *** [RPLidar_Hector_SLAM/hector_slam/hector_compressed_map_transport/CMakeFiles/map_to_image_node.dir/all] Error 2 Makefile:140: recipe for target 'all' failed make: *** [all] Error 2 Invoking "make -j8 -l8" failed
Viewing all 417 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>