Hello everybody.

I need your help to solve the following problem.

The installed version of CMake is:  2.8.0.
The installed version of CPack is: 2.8.0.
I am running on Ubuntu LTS 10.04.

I have a CMake project. The output of the project is an executable. The executable depends on a number of shared
libraries:

=====================================================================
> ldd UserCockpit-Application

linux-gate.so.1 =>  (0x00cdb000)
libimage_transport.so => /opt/ros/cturtle/stacks/image_common/image_transport/lib/libimage_transport.so (0x001ec000) libpoco_lite.so => /opt/ros/cturtle/stacks/common/pluginlib/lib/libpoco_lite.so (0x009e2000) libboost_fs_wrapper.so => /opt/ros/cturtle/stacks/common/pluginlib/lib/libboost_fs_wrapper.so (0x00f53000) libtinyxml.so => /opt/ros/cturtle/stacks/common/tinyxml/libtinyxml.so (0x00c12000) libmessage_filters.so => /opt/ros/cturtle/ros/core/message_filters/lib/libmessage_filters.so (0x00bc3000) libsensor_msgs.so => /opt/ros/cturtle/stacks/common_msgs/sensor_msgs/lib/libsensor_msgs.so (0x00c91000) librosrecorder.so => /opt/ros/cturtle/ros/tools/rosrecord/lib/librosrecorder.so (0x00afc000) librosbag.so => /opt/ros/cturtle/ros/tools/rosbag/lib/librosbag.so (0x00269000) libtopic_tools.so => /opt/ros/cturtle/ros/tools/topic_tools/lib/libtopic_tools.so (0x00d80000)
libros.so => /opt/ros/cturtle/ros/core/roscpp/lib/libros.so (0x00391000)
libboost_signals.so.1.40.0 => /usr/lib/libboost_signals.so.1.40.0 (0x00c40000) libXmlRpc.so => /opt/ros/cturtle/ros/3rdparty/xmlrpcpp/lib/libXmlRpc.so (0x00615000) librosconsole.so => /opt/ros/cturtle/ros/core/rosconsole/lib/librosconsole.so (0x0018a000)
libboost_thread.so.1.40.0 => /usr/lib/libboost_thread.so.1.40.0 (0x004f0000)
liblog4cxx.so.10 => /usr/lib/liblog4cxx.so.10 (0x00632000)
libroslib.so => /opt/ros/cturtle/ros/core/roslib/lib/libroslib.so (0x00110000) librospack.so => /opt/ros/cturtle/ros/tools/rospack/lib/librospack.so (0x00f99000) librosstack.so => /opt/ros/cturtle/ros/tools/rospack/lib/librosstack.so (0x0098a000) libsqlite3.so.0 => /home/czenkom/TSR/3rdParty/sqlite/sqlite/lib/libsqlite3.so.0 (0x00505000)
libQtGui.so.4 => /opt/qtsdk-2010.04/qt/lib/libQtGui.so.4 (0x00fc7000)
libSM.so.6 => /usr/lib/libSM.so.6 (0x00121000)
libICE.so.6 => /usr/lib/libICE.so.6 (0x0012a000)
libXrender.so.1 => /usr/lib/libXrender.so.1 (0x007e8000)
libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x007f2000)
libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0x00143000)
libXext.so.6 => /usr/lib/libXext.so.6 (0x00173000)
libX11.so.6 => /usr/lib/libX11.so.6 (0x00868000)
libQtCore.so.4 => /opt/qtsdk-2010.04/qt/lib/libQtCore.so.4 (0x0eeb2000)
libgthread-2.0.so.0 => /usr/lib/libgthread-2.0.so.0 (0x00183000)
libglib-2.0.so.0 => /lib/libglib-2.0.so.0 (0x00d88000)
libgobject-2.0.so.0 => /usr/lib/libgobject-2.0.so.0 (0x001ad000)
librt.so.1 => /lib/tls/i686/cmov/librt.so.1 (0x004e5000)
libpthread.so.0 => /lib/tls/i686/cmov/libpthread.so.0 (0x00590000)
libdl.so.2 => /lib/tls/i686/cmov/libdl.so.2 (0x005a9000)
libasound.so.2 => /usr/lib/libasound.so.2 (0x00e52000)
libm.so.6 => /lib/tls/i686/cmov/libm.so.6 (0x005ad000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x01aac000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x0099c000)
libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0x095d1000)
libboost_system.so.1.40.0 => /usr/lib/libboost_system.so.1.40.0 (0x005d3000)
libboost_filesystem.so.1.40.0 => /usr/lib/libboost_filesystem.so.1.40.0 (0x007d1000) libboost_iostreams.so.1.40.0 => /usr/lib/libboost_iostreams.so.1.40.0 (0x00bdf000)
libbz2.so.1.0 => /lib/libbz2.so.1.0 (0x00603000)
libboost_regex.so.1.40.0 => /usr/lib/libboost_regex.so.1.40.0 (0x17a1c000)
libboost_program_options.so.1.40.0 => /usr/lib/libboost_program_options.so.1.40.0 (0x00a39000)
libaprutil-1.so.0 => /usr/lib/libaprutil-1.so.0 (0x009bb000)
libdb-4.8.so => /usr/lib/libdb-4.8.so (0x0c26a000)
libapr-1.so.0 => /usr/lib/libapr-1.so.0 (0x00a81000)
libz.so.1 => /lib/libz.so.1 (0x00aac000)
libuuid.so.1 => /lib/libuuid.so.1 (0x005d8000)
libexpat.so.1 => /lib/libexpat.so.1 (0x00ac1000)
libxcb.so.1 => /usr/lib/libxcb.so.1 (0x00b0d000)
libpcre.so.3 => /lib/libpcre.so.3 (0x00b27000)
/lib/ld-linux.so.2 (0x005e6000)
libicudata.so.42 => /usr/lib/libicudata.so.42 (0xb6881000)
libicui18n.so.42 => /usr/lib/libicui18n.so.42 (0x0b17b000)
libicuuc.so.42 => /usr/lib/libicuuc.so.42 (0x039ad000)
libcrypt.so.1 => /lib/tls/i686/cmov/libcrypt.so.1 (0x00b58000)
libXau.so.6 => /usr/lib/libXau.so.6 (0x00cbb000)
libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0x005dd000)
=====================================================================

Now I am trying to use CPack with CMake to make a deb package. Everythig works perfectly except one thing. When I run ldd on the executable that is included in the package I get the following output:

=====================================================================
> ldd UserCockpit-Application
linux-gate.so.1 =>  (0x00dc5000)
libimage_transport.so => not found
libpoco_lite.so => not found
libboost_fs_wrapper.so => not found
libtinyxml.so => not found
libmessage_filters.so => not found
libsensor_msgs.so => not found
librosrecorder.so => not found
librosbag.so => not found
libtopic_tools.so => not found
libros.so => not found
libboost_signals.so.1.40.0 => /usr/lib/libboost_signals.so.1.40.0 (0x00dea000)
libXmlRpc.so => not found
librosconsole.so => not found
libboost_thread.so.1.40.0 => /usr/lib/libboost_thread.so.1.40.0 (0x006ed000)
liblog4cxx.so.10 => /usr/lib/liblog4cxx.so.10 (0x00110000)
libroslib.so => not found
librospack.so => not found
librosstack.so => not found
libsqlite3.so.0 => /usr/lib/libsqlite3.so.0 (0x00983000)
libQtGui.so.4 => /opt/qtsdk-2010.04/qt/lib/libQtGui.so.4 (0x00dfe000)
libSM.so.6 => /usr/lib/libSM.so.6 (0x0030a000)
libICE.so.6 => /usr/lib/libICE.so.6 (0x005cb000)
libXrender.so.1 => /usr/lib/libXrender.so.1 (0x0078d000)
libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x00d10000)
libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0x00cd8000)
libXext.so.6 => /usr/lib/libXext.so.6 (0x002af000)
libX11.so.6 => /usr/lib/libX11.so.6 (0x00ac9000)
libQtCore.so.4 => /opt/qtsdk-2010.04/qt/lib/libQtCore.so.4 (0x00313000)
libgthread-2.0.so.0 => /usr/lib/libgthread-2.0.so.0 (0x002bf000)
libglib-2.0.so.0 => /lib/libglib-2.0.so.0 (0x005e4000)
libgobject-2.0.so.0 => /usr/lib/libgobject-2.0.so.0 (0x00bed000)
librt.so.1 => /lib/tls/i686/cmov/librt.so.1 (0x002c5000)
libpthread.so.0 => /lib/tls/i686/cmov/libpthread.so.0 (0x002ce000)
libdl.so.2 => /lib/tls/i686/cmov/libdl.so.2 (0x002e7000)
libasound.so.2 => /usr/lib/libasound.so.2 (0x00797000)
libm.so.6 => /lib/tls/i686/cmov/libm.so.6 (0x006ae000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x0085f000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x002eb000)
libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0x07c57000)
libaprutil-1.so.0 => /usr/lib/libaprutil-1.so.0 (0x00702000)
libdb-4.8.so => /usr/lib/libdb-4.8.so (0x2029c000)
libapr-1.so.0 => /usr/lib/libapr-1.so.0 (0x0074b000)
libz.so.1 => /lib/libz.so.1 (0x006d4000)
libuuid.so.1 => /lib/libuuid.so.1 (0x005ba000)
libexpat.so.1 => /lib/libexpat.so.1 (0x00955000)
libxcb.so.1 => /usr/lib/libxcb.so.1 (0x00a85000)
libpcre.so.3 => /lib/libpcre.so.3 (0x00a06000)
/lib/ld-linux.so.2 (0x0072e000)
libcrypt.so.1 => /lib/tls/i686/cmov/libcrypt.so.1 (0x00a37000)
libXau.so.6 => /usr/lib/libXau.so.6 (0x005bf000)
libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0x005c3000)

===================================================================================

I do not understand why it is happening. I spent several hours on it without success. I appreciate your help.

Please find my top level CMakeLists.txt and the the one with the CPack INSTALL statements:

============================ TOP LEVEL CMakeLists.txt ======================================
cmake_minimum_required(VERSION 2.4.6)
project(UserCockpit)
include($ENV{ROS_ROOT}/core/rosbuild/rosbuild.cmake)

# Set the build type.  Options are:
#  Coverage       : w/ debug symbols, w/o optimization, w/ code-coverage
#  Debug          : w/ debug symbols, w/o optimization
#  Release        : w/o debug symbols, w/ optimization
#  RelWithDebInfo : w/ debug symbols, w/ optimization
#  MinSizeRel     : w/o debug symbols, w/ optimization, stripped binaries
#set(ROS_BUILD_TYPE RelWithDebInfo)

rosbuild_init()

find_package(Qt4 REQUIRED)

#set the default path for built executables to the "bin" directory
set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin)
#set the default path for built libraries to the "lib" directory
set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/lib)

#uncomment if you have defined messages
#rosbuild_genmsg()
#uncomment if you have defined services
#rosbuild_gensrv()

#common commands for building c++ executables and libraries
#rosbuild_add_library(${PROJECT_NAME} src/example.cpp)
#target_link_libraries(${PROJECT_NAME} another_library)
#rosbuild_add_boost_directories()
#rosbuild_link_boost(${PROJECT_NAME} thread)
#rosbuild_add_executable(example examples/example.cpp)
#target_link_libraries(example ${PROJECT_NAME})

include_directories(
    "../Common"
    "../Common/Library"
)

add_subdirectory(../Common/TsrGui "${CMAKE_CURRENT_BINARY_DIR}/TsrGui")
add_subdirectory(../Common/Library "${CMAKE_CURRENT_BINARY_DIR}/Library")
add_subdirectory(Application)


IF(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
  set(CMAKE_INSTALL_PREFIX /usr/local)
ENDIF(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)

include(InstallRequiredSystemLibraries)

set(CPACK_GENERATOR DEB)
SET(CPACK_SET_DESTDIR "ON")
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "UserCockpit Application")
set(CPACK_DEBIAN_PACKAGE_MAINTAINER t...@sioux.eu)
set(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/Readme.txt")
set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/Copyright.txt")
set(CPACK_INCLUDE_TOPLEVEL_DIRECTORY 0)
set(CPACK_PACKAGE_VERSION_MAJOR "0")
set(CPACK_PACKAGE_VERSION_MINOR "1")
set(CPACK_PACKAGE_VERSION_PATCH "0")
set(CPACK_PACKAGE_FILE_NAME UserCockpit-${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}-ubuntu-10.04_LTS)

set(CPACK_DEBIAN_PACKAGE_DEPENDS
        "libstdc++6 (>= 4.4.3-4ubuntu5),
         libqtgui4 (>= 4:4.6.2-0ubuntu5),
         libqtcore4 (>= 4:4.6.2-0ubuntu5),
         libsqlite3-0 (>= 3.6.22-1),
         libglib2.0-0 (>= 2.24.1-0ubuntu1),
         libsm6 (>= 2:1.1.1-1),
         libice6 (>= 2:1.0.6-1),
         libxrender1 (>= 1:0.9.5-1),
         libfreetype6 (>= 2.3.11-1ubuntu2.2),
         libfontconfig1 (>= 2.8.0-2ubuntu1),
         libxext6 (>= 2:1.1.1-2),
         libx11-6 (>= 2:1.3.2-1ubuntu3),
         libc6-i686 (>= 2.11.1-0ubuntu7.2),
         libgcc1 (>= 1:4.4.3-4ubuntu5)"
)

include(CPack)

============================================================= END =======================================

======================================= Application CMakeLists.txt ==============================================
include(${QT_USE_FILE})

set(application_SRCS
    main.cpp
    RoseStartup.cpp
    RoseMain.cpp
    LedController.cpp
    Led.cpp
    CamController.cpp
    SpeechVolumeController.cpp
)

SET(application_UIS
    Forms/RoseStartup.ui
    Forms/RoseMain.ui
)

SET(application_MOC_HDRS
    RoseStartup.h
    RoseMain.h
    Led.h
)

SET(application_RESOURCES
    UserCockpit.qrc
)

include_directories(
   ${QT_INCLUDE_DIR}
)

# After this call, foo_MOC_SRCS =
#    moc_Class1.cxx moc_Class2.cxx moc_Class3.cxx.
QT4_WRAP_CPP(application_MOC_SRCS ${application_MOC_HDRS})

QT4_WRAP_UI(application_UIS_H ${application_UIS})

QT4_ADD_RESOURCES(application_RESOURCES_RCC ${application_RESOURCES})

# Don't forget to include output directory, otherwise
# the UI file won't be wrapped!
include_directories(${CMAKE_CURRENT_BINARY_DIR})

#Now add these generated files to the ADD_EXECUTABLE
# step. If this is NOT done, then the ui_*.h files
# will not be generated
rosbuild_add_executable(UserCockpit-Application
    ${application_SRCS}
    ${application_MOC_SRCS}
    ${application_UIS_H}
    ${application_RESOURCES_RCC}
)

target_link_libraries(UserCockpit-Application
   ${QT_LIBRARIES}
   ApplicationServices
   AlsaServices
   TsrGui
   SQLiteWrapper
   sqlite3
   asound
)

INSTALL(TARGETS UserCockpit-Application
    RUNTIME DESTINATION ${PROJECT_NAME}/bin
)

INSTALL(FILES ${PROJECT_SOURCE_DIR}/Resources/tsr.sqlite
    ${CMAKE_CURRENT_SOURCE_DIR}/Resources/rose-icon.png
    DESTINATION ${PROJECT_NAME}/Resources
)

INSTALL(FILES ${PROJECT_SOURCE_DIR}/Launchers/UserCockpit.launch
    DESTINATION ${PROJECT_NAME}/Launchers
)

INSTALL(FILES ${PROJECT_SOURCE_DIR}/Launchers/UserCockpit.sh
    DESTINATION ${PROJECT_NAME}/bin
    PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ
                GROUP_EXECUTE GROUP_READ
                WORLD_READ WORLD_EXECUTE
)

INSTALL(FILES ${PROJECT_SOURCE_DIR}/mainpage.dox
    ${PROJECT_SOURCE_DIR}/manifest.xml
    ${PROJECT_SOURCE_DIR}/Resources/ROS_NOBUILD
    DESTINATION ${PROJECT_NAME}
)

INSTALL(FILES ${PROJECT_SOURCE_DIR}/Resources/UserCockpit.desktop
    DESTINATION ${PROJECT_NAME}/Resources
    PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ
                GROUP_EXECUTE GROUP_READ
                WORLD_READ WORLD_EXECUTE
)
==================================================== END ============================================


_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake

Reply via email to