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

[dev.icinga.com #12144] pkg-config is not listed as a build requirement in INSTALL.md #4361

Closed
icinga-migration opened this issue Jul 13, 2016 · 7 comments

Comments

Projects
None yet
1 participant
@icinga-migration
Copy link
Member

commented Jul 13, 2016

This issue has been migrated from Redmine: https://dev.icinga.com/issues/12144

Created by lepubel on 2016-07-13 00:14:31 +00:00

Assignee: lepubel
Status: Resolved (closed on 2016-07-14 06:30:04 +00:00)
Target Version: 2.5.0
Last Update: 2016-08-22 11:57:03 +00:00 (in Redmine)

Icinga Version: 2.4.10
Backport?: Not yet backported
Include in Changelog: 1

Build System: Debian Jessie

Reproduce by installing all required dependencies listed in INSTALL.md and then running 'cmake ' in a clean Jessie environment (ideally fresh debootstrap).

pkg-config should not be installed. The dependency on pkg-config (in Debian at least) is not mentioned in INSTALL.md.

When CMake fails due to missing pkg-config it is not clear that pkg-config is the problem. The CMakeError.log indicates that ld couldn't find -lexecinfo which is misleading since that error is still reported in a successful invocation of cmake. The stdout messages are also confusing since they focus on libopenssl. pkg-config is correctly reported as missing by find_package() but so are optional pacakges.

Note that the FindOpenSSL.cmake module calls the FindPkgConfig.cmake module.

##################
cmake stdout
##################

-- The C compiler identification is GNU 4.9.2
-- The CXX compiler identification is GNU 4.9.2
-- 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
-- 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
-- Found logrotate (found version "3.8.7")
-- Boost version: 1.55.0
-- Found the following Boost libraries:
-- thread
-- system
-- program_options
-- regex
CMake Error at /usr/share/cmake-3.0/Modules/FindOpenSSL.cmake:293 (list):
list GET given empty list
Call Stack (most recent call first):
CMakeLists.txt:111 (find_package)

CMake Error at /usr/share/cmake-3.0/Modules/FindOpenSSL.cmake:294 (list):
list GET given empty list
Call Stack (most recent call first):
CMakeLists.txt:111 (find_package)

CMake Error at /usr/share/cmake-3.0/Modules/FindOpenSSL.cmake:296 (list):
list GET given empty list
Call Stack (most recent call first):
CMakeLists.txt:111 (find_package)

CMake Error at /usr/share/cmake-3.0/Modules/FindOpenSSL.cmake:298 (list):
list GET given empty list
Call Stack (most recent call first):
CMakeLists.txt:111 (find_package)

-- Found OpenSSL: /usr/lib/i386-linux-gnu/libssl.so;/usr/lib/i386-linux-gnu/libcrypto.so (found version ".0.0`")
JCA BEFORE FIND YAJL...
JCA IN FINDYAJL.CMAKE
-- Could NOT find PkgConfig (missing: PKG_CONFIG_EXECUTABLE)
-- Could NOT find yajl (missing: YAJL_LIBRARY YAJL_INCLUDE_DIR)
-- Could NOT find Editline (missing: EDITLINE_LIBRARIES EDITLINE_INCLUDE_DIR)
-- Could NOT find Termcap (missing: TERMCAP_INCLUDE_DIR)
-- Performing Test HAVE_VISIBILITY_INLINES_HIDDEN
-- Performing Test HAVE_VISIBILITY_INLINES_HIDDEN - Failed
-- Looking for COUNTER
-- Looking for COUNTER - found
-- Looking for vfork
-- Looking for vfork - found
-- Looking for backtrace_symbols
-- Looking for backtrace_symbols - found
-- Looking for pipe2
-- Looking for pipe2 - found
-- Looking for nice
-- Looking for nice - found
-- Looking for dladdr in dl
-- Looking for dladdr in dl - found
-- Looking for backtrace_symbols in execinfo
-- Looking for backtrace_symbols in execinfo - not found
-- Looking for C** include cxxabi.h
-- Looking for C** include cxxabi.h - found
-- Performing Test CXX_FLAG_CXX11
-- Performing Test CXX_FLAG_CXX11 - Success
-- Performing Test CXX_FLAG_NO_OVERRIDE_WARNING
-- Performing Test CXX_FLAG_NO_OVERRIDE_WARNING - Success
-- Performing Test HAVE_GCC_VISIBILITY
-- Performing Test HAVE_GCC_VISIBILITY - Success
running /usr/bin/cmake -E copy_if_different "/root/icinga2/icinga2/third-party/yajl/src/api/yajl_parse.h" "/root/icinga2/build/third-party/yajl/src/../include/yajl" 2>&1
running /usr/bin/cmake -E copy_if_different "/root/icinga2/icinga2/third-party/yajl/src/api/yajl_gen.h" "/root/icinga2/build/third-party/yajl/src/../include/yajl" 2>&1
running /usr/bin/cmake -E copy_if_different "/root/icinga2/icinga2/third-party/yajl/src/api/yajl_common.h" "/root/icinga2/build/third-party/yajl/src/../include/yajl" 2>&1
running /usr/bin/cmake -E copy_if_different "/root/icinga2/icinga2/third-party/yajl/src/api/yajl_tree.h" "/root/icinga2/build/third-party/yajl/src/../include/yajl" 2>&1
-- Found BISON: /usr/bin/bison (Required is at least version "2.3.0")
-- Found FLEX: 2.5.39 (Required is at least version "2.5.31")
-- MySQL Include dir: /usr/include/mysql library dir: /usr/lib/i386-linux-gnu
-- MySQL client libraries: mysqlclient_r
-- Found PostgreSQL: /usr/lib/i386-linux-gnu/libpq.so
-- Test 'base' uses the CMake-configurable form of the boost test framework - congrats! (Including File: test.cpp)
-- Test 'livestatus' uses the CMake-configurable form of the boost test framework - congrats! (Including File: test.cpp)
-- Configuring incomplete, errors occurred!
See also "/root/icinga2/build/CMakeFiles/CMakeOutput.log".
See also "/root/icinga2/build/CMakeFiles/CMakeError.log".

##################
end cmake stdout
##################

##################
CMakeError.log
##################

Performing C SOURCE FILE Test HAVE_VISIBILITY_INLINES_HIDDEN failed with the following output:
Change Dir: /root/icinga2/build/CMakeFiles/CMakeTmp

Run Build Command:"/usr/bin/make" "cmTryCompileExec2678011237/fast"
/usr/bin/make -f CMakeFiles/cmTryCompileExec2678011237.dir/build.make CMakeFiles/cmTryCompileExec2678011237.dir/build
make[1]: Entering directory '/root/icinga2/build/CMakeFiles/CMakeTmp'
/usr/bin/cmake -E cmake_progress_report /root/icinga2/build/CMakeFiles/CMakeTmp/CMakeFiles 1
Building C object CMakeFiles/cmTryCompileExec2678011237.dir/src.c.o
/usr/bin/cc -g -pthread -DHAVE_VISIBILITY_INLINES_HIDDEN -fvisibility-inlines-hidden -o CMakeFiles/cmTryCompileExec2678011237.dir/src.c.o -c /root/icinga2/build/CMakeFiles/CMakeTmp/src.c
cc1: warning: command line option '-fvisibility-inlines-hidden' is valid for C**/ObjC** but not for C
Linking C executable cmTryCompileExec2678011237
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec2678011237.dir/link.txt --verbose=1
/usr/bin/cc -g -pthread -DHAVE_VISIBILITY_INLINES_HIDDEN CMakeFiles/cmTryCompileExec2678011237.dir/src.c.o -o cmTryCompileExec2678011237 -rdynamic
make[1]: Leaving directory '/root/icinga2/build/CMakeFiles/CMakeTmp'

Source file was:
int main(void) { return 0; }
Determining if the function backtrace_symbols exists in the execinfo failed with the following output:
Change Dir: /root/icinga2/build/CMakeFiles/CMakeTmp

Run Build Command:"/usr/bin/make" "cmTryCompileExec978048825/fast"
/usr/bin/make -f CMakeFiles/cmTryCompileExec978048825.dir/build.make CMakeFiles/cmTryCompileExec978048825.dir/build
make[1]: Entering directory '/root/icinga2/build/CMakeFiles/CMakeTmp'
/usr/bin/cmake -E cmake_progress_report /root/icinga2/build/CMakeFiles/CMakeTmp/CMakeFiles 1
Building C object CMakeFiles/cmTryCompileExec978048825.dir/CheckFunctionExists.c.o
/usr/bin/cc -g -pthread -DCHECK_FUNCTION_EXISTS=backtrace_symbols -o CMakeFiles/cmTryCompileExec978048825.dir/CheckFunctionExists.c.o -c /usr/share/cmake-3.0/Modules/CheckFunctionExists.c
Linking C executable cmTryCompileExec978048825
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec978048825.dir/link.txt --verbose=1
/usr/bin/cc -g -pthread -DCHECK_FUNCTION_EXISTS=backtrace_symbols CMakeFiles/cmTryCompileExec978048825.dir/CheckFunctionExists.c.o -o cmTryCompileExec978048825 -rdynamic -lexecinfo
/usr/bin/ld: cannot find -lexecinfo
collect2: error: ld returned 1 exit status
CMakeFiles/cmTryCompileExec978048825.dir/build.make:88: recipe for target 'cmTryCompileExec978048825' failed
make[1]: Leaving directory '/root/icinga2/build/CMakeFiles/CMakeTmp'
Makefile:118: recipe for target 'cmTryCompileExec978048825/fast' failed
make[1]: ***** [cmTryCompileExec978048825] Error 1
make: ***** [cmTryCompileExec978048825/fast] Error 2

##################
end CMakeError.log
##################

Attachments

Changesets

2016-07-14 06:25:48 +00:00 by lepubel 36a9c4d

List pkg-config as a build requirement in INSTALL.md

fixes #12144

Signed-off-by: Gunnar Beutner <gunnar.beutner@netways.de>

2016-07-14 06:26:11 +00:00 by gbeutner 3f852f1

Update AUTHORS

refs #12144
@icinga-migration

This comment has been minimized.

Copy link
Member Author

commented Jul 13, 2016

Updated by lepubel on 2016-07-13 01:30:21 +00:00

To clarify, pkg-config should not be installed to reproduce the error messages shown above. The bug is that INSTALL.md does not list pkg-config as a requirement for unix.

The fix could be as simple as adding pkg-config as a listed requirement in INSTALL.md.

@icinga-migration

This comment has been minimized.

Copy link
Member Author

commented Jul 13, 2016

Updated by mfriedrich on 2016-07-13 06:14:24 +00:00

  • Status changed from New to Feedback
  • Assigned to set to lepubel

Then send a git patch please :)

@icinga-migration

This comment has been minimized.

Copy link
Member Author

commented Jul 13, 2016

Updated by lepubel on 2016-07-13 20:27:36 +00:00

  • File added 0001-Refs-12144.patch

Here's the patch.

@icinga-migration

This comment has been minimized.

Copy link
Member Author

commented Jul 14, 2016

Updated by gbeutner on 2016-07-14 06:26:31 +00:00

  • Status changed from Feedback to Assigned
@icinga-migration

This comment has been minimized.

Copy link
Member Author

commented Jul 14, 2016

Updated by gbeutner on 2016-07-14 06:26:39 +00:00

  • Target Version set to 2.5.0
@icinga-migration

This comment has been minimized.

Copy link
Member Author

commented Jul 14, 2016

Updated by lepubel on 2016-07-14 06:30:04 +00:00

  • Status changed from Assigned to Resolved
  • Done % changed from 0 to 100

Applied in changeset 36a9c4d.

@icinga-migration

This comment has been minimized.

Copy link
Member Author

commented Aug 22, 2016

Updated by gbeutner on 2016-08-22 11:57:03 +00:00

  • Subject changed from pkg-config not listed as requirement in INSTALL.md to pkg-config is not listed as a build requirement in INSTALL.md
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.