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

install_dependencies.sh fails with following error message #44

Open
HWiese1980 opened this issue Mar 27, 2019 · 18 comments
Open

install_dependencies.sh fails with following error message #44

HWiese1980 opened this issue Mar 27, 2019 · 18 comments
Assignees

Comments

@HWiese1980
Copy link

I now get the following error message during installation of dependencies:

Klone nach 'tools-plugin_manager' ...
remote: Enumerating objects: 117, done.
remote: Total 117 (delta 0), reused 0 (delta 0), pack-reused 117
Empfange Objekte: 100% (117/117), 43.53 KiB | 416.00 KiB/s, Fertig.
Löse Unterschiede auf: 100% (53/53), Fertig.
-- The C compiler identification is GNU 5.4.0
-- The CXX compiler identification is GNU 5.4.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.1") 
-- Performing Test CXX_SUPPORTS_Wall
-- Performing Test CXX_SUPPORTS_Wall - Success
-- Performing Test CXX_SUPPORTS_Wno_unused_local_typedefs
-- Performing Test CXX_SUPPORTS_Wno_unused_local_typedefs - Success
-- Found Doxygen: /usr/bin/doxygen (found version "1.8.11") found components:  doxygen dot 
-- Boost version: 1.58.0
-- Found the following Boost libraries:
--   filesystem
-- Checking for module 'class_loader'
--   No package 'class_loader' found
CMake Error at /usr/local/share/cmake-3.13/Modules/FindPkgConfig.cmake:452 (message):
  A required package was not found
Call Stack (most recent call first):
  /usr/local/share/cmake-3.13/Modules/FindPkgConfig.cmake:622 (_pkg_check_modules_internal)
  /usr/local/share/rock/cmake/Rock.cmake:260 (pkg_check_modules)
  /usr/local/share/rock/cmake/Rock.cmake:368 (rock_find_pkgconfig)
  /usr/local/share/rock/cmake/Rock.cmake:565 (rock_target_definition)
  /usr/local/share/rock/cmake/Rock.cmake:653 (rock_library_common)
  src/CMakeLists.txt:3 (rock_library)


-- Configuring incomplete, errors occurred!

Is Boost 1.58 too old?

@jmachowinski
Copy link
Member

Es fehlt die Class loader lib

@HWiese1980
Copy link
Author

Ja, ist das nicht eine "Dependency", die durch "install_dependencies" installiert werden sollte?

@arneboe arneboe self-assigned this Mar 28, 2019
@arneboe
Copy link
Contributor

arneboe commented Mar 28, 2019

This does not happen on the CI and also not on my pc. I'll fix it :)

@HWiese1980
Copy link
Author

Weird...

Awesome! 👍

@planthaber
Copy link
Member

class loader is a apt package on ubuntu:

apt install libclass-loader-dev

@HWiese1980
Copy link
Author

True, but doesn't install_dependencies include system dependencies like that?

@HWiese1980
Copy link
Author

I mean, install_dependencies implies that all dependencies are installed, no exceptions...

@planthaber
Copy link
Member

That's what autoproj does, we cannot cover all the system dependencies for all the distributions, btw. the Readme tells you what packages to install on ubuntu:

https://github.com/envire/envire-envire_core/blob/master/README.asciidoc#standalone-installation

@arneboe
Copy link
Contributor

arneboe commented Mar 28, 2019

Right now the install script does not cover system dependencies. That could be changed, however :)

@HWiese1980
Copy link
Author

Okay, I've manually installed libclass-loader-dev. Now it's failing with the following error message.

Klone nach 'tools-plugin_manager' ...
remote: Enumerating objects: 117, done.
remote: Total 117 (delta 0), reused 0 (delta 0), pack-reused 117
Empfange Objekte: 100% (117/117), 43.53 KiB | 408.00 KiB/s, Fertig.
Löse Unterschiede auf: 100% (53/53), Fertig.
-- The C compiler identification is GNU 5.4.0
-- The CXX compiler identification is GNU 5.4.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.1") 
-- Performing Test CXX_SUPPORTS_Wall
-- Performing Test CXX_SUPPORTS_Wall - Success
-- Performing Test CXX_SUPPORTS_Wno_unused_local_typedefs
-- Performing Test CXX_SUPPORTS_Wno_unused_local_typedefs - Success
-- Found Doxygen: /usr/bin/doxygen (found version "1.8.11") found components:  doxygen dot 
-- Boost version: 1.58.0
-- Found the following Boost libraries:
--   filesystem
-- Checking for module 'class_loader'
--   Found class_loader, version 0.3.2
-- Checking for module 'tinyxml'
--   Found tinyxml, version 2.6.2
-- Checking for module 'base-logging'
--   Found base-logging, version 0.1
-- Found GLOG: /usr/include  
-- Performing Test CXX_SUPPORTS_Wnon_virtual_dtor
-- Performing Test CXX_SUPPORTS_Wnon_virtual_dtor - Success
CMake Warning (dev) at /usr/local/share/rock/cmake/Rock.cmake:247 (option):
  Policy CMP0077 is not set: option() honors normal variables.  Run "cmake
  --help-policy CMP0077" for policy details.  Use the cmake_policy command to
  set the policy and suppress this warning.

  For compatibility with older versions of CMake, option is clearing the
  normal variable 'ROCK_TEST_ENABLED'.
Call Stack (most recent call first):
  CMakeLists.txt:10 (rock_standard_layout)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- unit tests disabled as ROCK_TEST_ENABLED is set to OFF
-- Configuring done
-- Generating done
-- Build files have been written to: /home/dfki.uni-bremen.de/hwiese/ap34_ws/3rdparty/envire-envire_core/tools-plugin_manager/build
Scanning dependencies of target plugin_manager
[ 75%] Building CXX object src/CMakeFiles/plugin_manager.dir/PluginManager.cpp.o
[ 75%] Building CXX object src/CMakeFiles/plugin_manager.dir/PluginLoader.cpp.o
[ 75%] Building CXX object src/CMakeFiles/plugin_manager.dir/Demangle.cpp.o
[100%] Linking CXX shared library libplugin_manager.so
/usr/bin/ld: cannot find -l:/usr/lib/x86_64-linux-gnu/libboost_thread.so
/usr/bin/ld: cannot find -l:/usr/lib/x86_64-linux-gnu/libboost_system.so
/usr/bin/ld: cannot find -l:/usr/lib/x86_64-linux-gnu/libpthread.so
/usr/bin/ld: cannot find -l:/usr/lib/libPocoFoundation.so
/usr/bin/ld: cannot find -l:/usr/lib/x86_64-linux-gnu/libconsole_bridge.so
collect2: error: ld returned 1 exit status
src/CMakeFiles/plugin_manager.dir/build.make:122: die Regel für Ziel „src/libplugin_manager.so“ scheiterte
make[2]: *** [src/libplugin_manager.so] Fehler 1
CMakeFiles/Makefile2:154: die Regel für Ziel „src/CMakeFiles/plugin_manager.dir/all“ scheiterte
make[1]: *** [src/CMakeFiles/plugin_manager.dir/all] Fehler 2
Makefile:140: die Regel für Ziel „all“ scheiterte
make: *** [all] Fehler 2

The allegedly missing libraries are definitely there. What irritates me however is the colon right in front of the path.

@HWiese1980
Copy link
Author

I've made sure all system dependencies not installed by install_dependencies.sh are installed before I started install_dependencies.sh. The error shown in #44 (comment) happens nevertheless.

@planthaber
Copy link
Member

Just tested in a clean docker ubuntu:18_04 image and it worked.

The missing Part in the Readme is that install_dependencies.sh generated a env.sh script which ghas to be sourced in order to find the custom build dependencies

@HWiese1980
Copy link
Author

I have Ubuntu 16.04. Is that a problem?

@planthaber
Copy link
Member

on 16.04 the pkg-config file of class_loader seems to be broken:

In
/usr/lib/x86_64-linux-gnu/pkgconfig/class_loader.pc

remove all ":" from the -l statements

Libs: -lclass_loader -l/usr/lib/x86_64-linux-gnu/libboost_thread.so -l/usr/lib/x86_64-linux-gnu/libboost_system.so -l/usr/lib/x86_64-linux-gnu/libpthread.so -l/usr/lib/libPocoFoundation.so -ldl -l/usr/lib/x86_64-linux-gnu/libconsole_bridge.so

@planthaber
Copy link
Member

we could also add class_loader to the install_dependencies script:

build https://github.com/ros/class_loader melodic-devel class_loader "$PREFIX -DBUILD_SHARED_LIBS=TRUE"

@arneboe
Copy link
Contributor

arneboe commented Apr 17, 2019

Is this still relevant?

@pierrewillenbrockdfki
Copy link

In the sense that ubuntu 16.04's class_loader's pkgconfig.pc is still broken, yes.

@HWiese1980
Copy link
Author

Just tripping over this again. Could the bug be fixed automatically by the install_dependencies.sh script? Does that make sense?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants