Ask Your Question
1

custom package deploy

asked 2015-01-12 12:49:12 -0500

Edmodi gravatar image

updated 2015-01-12 13:05:13 -0500

Hi, I would like shared a custom package with a friend but i do not want he see the code. I'm try used catkin_make install to do it but he can't run roslaunch [package] [launch file] or rosrun [package] [node] even including setup.bash o setup.sh in the install directory. Roslaunch or Rosrun found the package but not the node

Thanks in advance.

edit retag flag offensive close merge delete

3 Answers

Sort by ยป oldest newest most voted
1

answered 2015-02-02 09:38:22 -0500

Edmodi gravatar image

After long search, I found the solution. The CMakeLists.txt file is so:

cmake_minimum_required(VERSION 2.8.3)

project(test)

find_package(catkin REQUIRED COMPONENTS roscpp rospy std_msgs )

add_executable(test src/test.cpp) target_link_libraries(test ${catkin_LIBRARIES}) add_dependencies(test exynos_gencpp) add_dependencies(test ${catkin_EXPORTED_TARGETS})

install(TARGETS test ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION} )

install(FILES launch/test.launch DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION} )

All right, but when I use Yaml to read file I found this error:

Error while loading shared libraries: libyaml-cpp.so.0.2: cannot open shared object file: No such file or directory.

Any one know what is the problem?

Thanks in advanced

edit flag offensive delete link more

Comments

Hi, have you solved this problem? Please, let me know, i can't make it work on two pcs. thanks

dottant gravatar image dottant  ( 2016-11-19 09:23:58 -0500 )edit

Hi, I solved my problem. Could you give me more details of your problem? Thanks

Edmodi gravatar image Edmodi  ( 2016-11-21 04:22:28 -0500 )edit
2

answered 2015-01-13 13:07:14 -0500

William gravatar image

You should be able to just install your packages and then copy the install folder. Which tool are you using to build?

If rosrun and roslaunch do not work before copying the package, that is a different problem.

If they only fail after copying then make sure you source your setup.bash on the new machine before trying to use roslaunch and rosrun.

Also you'll want to make sure that the other guy has the same dependencies installed (like rosbash which contains the rosrun shell function).

edit flag offensive delete link more
1

answered 2015-01-12 18:38:15 -0500

allenh1 gravatar image

Firstly, ROS is a community based project. Open source code is the very heart of ROS.

Though I do not understand why you would want to share a package without the code, I push you to this answer. But again, this is not the purpose of the local building... I asked this question to refrain from spamming the issue on the forum while I was fixing the deployment of my own package.

edit flag offensive delete link more

Comments

2

The purpose is simple: my friend can' t copy the code and present it to university teacher.

Edmodi gravatar image Edmodi  ( 2015-01-13 00:46:49 -0500 )edit
1

Ok. That's definitely a good reason. Teachers don't like copied code!

allenh1 gravatar image allenh1  ( 2015-01-13 13:46:44 -0500 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower

Stats

Asked: 2015-01-12 12:49:12 -0500

Seen: 1,308 times

Last updated: Feb 02 '15