#cmake #centos8
#cmake #centos8
Вопрос:
Я настраиваю новую установку CentOS 8 на одной из своих машин и пытаюсь собрать пакет hardinfo (см. https://github.com/lpereira/hardinfo ). Согласно инструкциям, я создал пустой каталог сборки в дереве исходных текстов, изменил его и запустил «cmake ..» но вот что происходит:
$ cmake ..
-- The C compiler identification is GNU 8.3.1
-- The CXX compiler identification is GNU 8.3.1
-- 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
-- LOCALEDIR = /usr/local/share/locale
-- Building HardInfo for architecture: linux-x86
-- Found PkgConfig: /usr/bin/pkg-config (found version "1.4.2")
-- Building for GTK2
-- Checking for modules 'gtk -2.0>=2.10;glib-2.0>=2.10;gthread-2.0>=2.10;gmodule-export-2.0>=2.10'
-- Found gtk -2.0, version 2.24.32
-- Found glib-2.0, version 2.56.4
-- Found gthread-2.0, version 2.56.4
-- Found gmodule-export-2.0, version 2.56.4
-- Checking for module 'libsoup-2.4>=2.42'
-- Package 'libsoup-2.4', required by 'virtual:world', not found
-- Checking for module 'json-glib-1.0'
-- Package 'json-glib-1.0', required by 'virtual:world', not found
CMake Error at /usr/share/cmake/Modules/FindPkgConfig.cmake:418 (message):
A required package was not found
Call Stack (most recent call first):
/usr/share/cmake/Modules/FindPkgConfig.cmake:585 (_pkg_check_modules_internal)
CMakeLists.txt:92 (pkg_check_modules)
-- Configuring incomplete, errors occurred!
See also "/home/tgirsch/Downloads/hardinfo-master/build/CMakeFiles/CMakeOutput.log".
Но пакеты есть:
$ sudo yum -y list installed | egrep "libsoup|json-glib"
json-glib.x86_64 1.4.4-1.el8 @BaseOS
libsoup.i686 2.62.3-1.el8 @BaseOS
libsoup.x86_64 2.62.3-1.el8 @BaseOS
И библиотеки находятся в / usr / lib64, как я и ожидал:
$ ls -la /usr/lib64 | egrep "libsoup|json-glib"
lrwxrwxrwx. 1 root root 27 May 11 2019 libjson-glib-1.0.so.0 -> libjson-glib-1.0.so.0.400.4
-rwxr-xr-x. 1 root root 175896 May 11 2019 libjson-glib-1.0.so.0.400.4
lrwxrwxrwx. 1 root root 20 May 11 2019 libsoup-2.4.so.1 -> libsoup-2.4.so.1.8.0
-rwxr-xr-x. 1 root root 1072744 May 11 2019 libsoup-2.4.so.1.8.0
lrwxrwxrwx. 1 root root 26 May 11 2019 libsoup-gnome-2.4.so.1 -> libsoup-gnome-2.4.so.1.8.0
-rwxr-xr-x. 1 root root 13216 May 11 2019 libsoup-gnome-2.4.so.1.8.0
В инструкциях утверждается, что содержимое libsoup можно пропустить, запустив cmake с помощью -DHARDINFO_NOSYNC=1, но я получаю те же результаты:
$ cmake .. -DHARDINFO_NOSYNC=1
-- The C compiler identification is GNU 8.3.1
-- The CXX compiler identification is GNU 8.3.1
-- 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
[ ... snip ... ]
-- Building HardInfo for architecture: linux-x86
-- Found PkgConfig: /usr/bin/pkg-config (found version "1.4.2")
-- Building for GTK2
-- Checking for modules 'gtk -2.0>=2.10;glib-2.0>=2.10;gthread-2.0>=2.10;gmodule-export-2.0>=2.10'
-- Found gtk -2.0, version 2.24.32
-- Found glib-2.0, version 2.56.4
-- Found gthread-2.0, version 2.56.4
-- Found gmodule-export-2.0, version 2.56.4
-- Checking for module 'libsoup-2.4>=2.42'
-- Package 'libsoup-2.4', required by 'virtual:world', not found
-- Checking for module 'json-glib-1.0'
-- Package 'json-glib-1.0', required by 'virtual:world', not found
CMake Error at /usr/share/cmake/Modules/FindPkgConfig.cmake:418 (message):
A required package was not found
Call Stack (most recent call first):
/usr/share/cmake/Modules/FindPkgConfig.cmake:585 (_pkg_check_modules_internal)
CMakeLists.txt:92 (pkg_check_modules)
Кто-нибудь успешно собрал этот пакет для CentOS 8 или столкнулся с этой проблемой?
TIA,
- TJG
Комментарии:
1.
libsoup
Библиотеки, по/usr/lib64
-видимому, имеют версию, отличную от указанной черезyum
, нет? Эта версия слишком низкая, так как для CMake требуется версия 2.42 или выше.2. Ага. Это странно, потому что в установленном списке yum четко указано, что установлен 2.62. Интересно, почему в каталогах lib (как / usr / lib, так и / usr / lib64) отображается только 2.4