[Решено] CMake Ошибка.

SLAX, Deep Style, ZenWalk

Модератор: Модераторы разделов

Ответить
Аватара пользователя
UnixNoob
Сообщения: 1367
ОС: Slackware

[Решено] CMake Ошибка.

Сообщение UnixNoob »

Добрый день/вечер/ночь. Подскажите пожалуйста эти ошибки следствие использование current или репозитория? Или софта,который я собираю?
И как такого плана ошибки следует решать? Возникли в процессе установки с помощью sbopkg.
Не знаю какая часть нужна, поэтому приложил файл.
Вложения
CMakeError.log
(19.23 КБ) 15 скачиваний
Последний раз редактировалось UnixNoob 11.12.2020 12:58, всего редактировалось 1 раз.
"Однажды один очень мудрый человек… ничего не сказал. Времена были опасные, да и собеседники ненадёжные"
Спасибо сказали:
Аватара пользователя
bormant
Сообщения: 1354

Re: CMake Ошибка.

Сообщение bormant »

Попробуйте всё-таки почитать приложенный файл.

Performing C SOURCE FILE Test C_COMPILER_SUPPORTS_-Qunused-arguments failed with the following output:
Сбой выполнения теста ... со следующим выводом:
...

Performing C SOURCE FILE Test C_COMPILER_SUPPORTS_-Wno-parentheses-equality failed with the following output:
Сбой выполнения теста ... со следующим выводом:
...

...

Сборочная система проверяет возможности компилятора и сборочной среды. В autotools-ах этим занимался ./configure, но тут cmake.
Спасибо сказали:
Аватара пользователя
UnixNoob
Сообщения: 1367
ОС: Slackware

Re: CMake Ошибка.

Сообщение UnixNoob »

bormant писал(а):
09.12.2020 19:31
Попробуйте всё-таки почитать приложенный файл.
Простите, я не понимаю что мне это дает и что я должен с этим сделать, ведь я не выставлял ничего. Мне нужно самому выставить опции сборки?
Или мне нужно обновить компилятор gcc? Т.к он выдает это C_COMPILER_SUPPORTS_-Qunused-arguments,а дальше мы имеем:

Первая ошибка такая:

Код: Выделить всё

cc: error: unrecognized command line option '-Qunused-arguments'
А следующие следствие первых или дополнение? Или я не на то внимание обращаю?

Код: Выделить всё

фатальная ошибка: pthread_np.h: Нет такого файла или каталога
    1 | #include <pthread_np.h>
collect2: ошибка: выполнение ld завершилось с кодом возврата 1
ошибка: «struct stat» не содержит элемента с именем «st_birthtime»
    6 |   (void)sizeof(((struct stat *)0)->st_birthtime);
      |                                  ^~
/usr/bin/ld.gold: error: cannot find -lpthreads

"Однажды один очень мудрый человек… ничего не сказал. Времена были опасные, да и собеседники ненадёжные"
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20752
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: CMake Ошибка.

Сообщение Bizdelnick »

Это не ошибки как таковые. То есть, они в этих местах и должны быть. Суть проверки — попробовать сборку с разными опциями и найти те, которые работают. То, что какие-то не работают, в порядке вещей.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
UnixNoob
Сообщения: 1367
ОС: Slackware

Re: CMake Ошибка.

Сообщение UnixNoob »

Bizdelnick писал:
10.12.2020 00:22
Суть проверки — попробовать сборку с разными опциями и найти те, которые работают. То, что какие-то не работают, в порядке вещей.
Так оно не собирается же, по факту, что тогда указывает на нужную мне, для исправления, ошибку?
"Однажды один очень мудрый человек… ничего не сказал. Времена были опасные, да и собеседники ненадёжные"
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20752
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: CMake Ошибка.

Сообщение Bizdelnick »

UnixNoob писал:
10.12.2020 00:34
Так оно не собирается же
Но причину Вы ищете, скорее всего, не там. Предполагаю, что cmake отработал успешно, а ошибка произошла на более позднем этапе сборки. Или же cmake обнаружил ошибку не при компиляции, а, скажем, при поиске какого-то файла, и соответствующая ошибка в этом логе не осела. Но чего гадать, показывайте, что было выведено в консоль. На это надо смотреть в первую очередь, а уже потом зарываться в логи cmake, если следы ведут туда.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
bormant
Сообщения: 1354

Re: CMake Ошибка.

Сообщение bormant »

UnixNoob писал:
10.12.2020 00:34
оно не собирается
А собирали? В CMakeError.log ничего про сборку нет да и не должно быть).
cmake формирует правила сборки, собственно сборку выполняет кто-то еще.

Для webkitgtk-2.30.3 это делает make.

https://github.com/Ponce/slackbuilds/blob/current/libraries/webkit2gtk/webkit2gtk.SlackBuild

Код: Выделить всё

mkdir -p build
cd build
  cmake -DPORT=GTK \
	-DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
	-DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
	-DCMAKE_BUILD_TYPE=Release \
	-DCMAKE_SKIP_RPATH=ON \
	-DCMAKE_INSTALL_PREFIX=/usr \
	-DLIB_INSTALL_DIR=/usr/lib${LIBDIRSUFFIX} \
	-DLIBEXEC_INSTALL_DIR=/usr/lib${LIBDIRSUFFIX}/webkit2gtk-4.0 \
	-DENABLE_MINIBROWSER=ON \
	-DUSE_SYSTEMD=OFF \
        ..
make
make install DESTDIR=$PKG
Кстати, в ponce уже 2.30.3. Обратите внимание на новый список зависимостей, по отношению к прежней 2.20.5. Если пытались собрать 2.30.2 слакбилдом от 2.20.5 не меняя ничего, кроме версии,-- затея изначально провальная.
Изменения: https://github.com/Ponce/slackbuilds/commit/43e7e2d6f0762e20391ccde075b8d9627e496bc0
Спасибо сказали:
Аватара пользователя
UnixNoob
Сообщения: 1367
ОС: Slackware

Re: CMake Ошибка.

Сообщение UnixNoob »

bormant писал(а):
10.12.2020 11:41
Кстати, в ponce уже 2.30.3. Обратите внимание на новый список зависимостей, по отношению к прежней 2.20.5. Если пытались собрать 2.30.2 слакбилдом от 2.20.5 не меняя ничего, кроме версии,-- затея изначально провальная.
Ну он не собирается ни в current, ни в 14.2.
В current я обновлял репозиторий по инструкции с rm -fR.
По выводу в терминале он требовал libwpe, wpe_backend,а теперь woff2 ему не нравится, но мне его неоткуда взять, с исходников что-ли собирать его.
Слишком свежий webkit походу. Версию не помню - посмотрю.
"Однажды один очень мудрый человек… ничего не сказал. Времена были опасные, да и собеседники ненадёжные"
Спасибо сказали:
Аватара пользователя
bormant
Сообщения: 1354

Re: CMake Ошибка.

Сообщение bormant »

UnixNoob писал:
10.12.2020 12:41
теперь woff2 ему не нравится

Код: Выделить всё

REQUIRES="bubblewrap enchant2 geoclue2 gst-plugins-bad libseccomp wpebackend-fdo xdg-dbus-proxy"
Нет там больше никакого woff. Перестройте очередь:

Код: Выделить всё

# sqf -p webkit2gtk
PS. Как-то вы сообщения начали читать через строчку, почти как у классика: "тут играем, тут не играем, тут рыбу заворачивали"... До добра не доведет ;-)
Спасибо сказали:
Аватара пользователя
UnixNoob
Сообщения: 1367
ОС: Slackware

Re: CMake Ошибка.

Сообщение UnixNoob »

bormant ну давайте начнем с начала.
Для того чтобы обновить репозиторий sbo я сделал следующее:

Код: Выделить всё

rm -fR /var/lib/sbopkg/SBo-git
sbopkg -r
После этого открываю sbo - нахожу там webkit2gtk и вижу это:

Код: Выделить всё

REQUIRES="bubblewrap enchant2 geoclue2 gst-plugins-bad libseccomp wpebackend-fdo xdg-dbus-proxy"
Запускаю создание списка зависимостей:

Код: Выделить всё

sudo sqg -p "webkit2gtk" 
Хоть с ковычками, хоть без получаю такой список:

Код: Выделить всё

 1 ninja
  2 brotli                     
  3 woff2
  4 libwebp
  5 hyphen                     
  6 json-glib                  
  7 geoclue2                   
  8 webkit2gtk
Запускаю установку с использованием этого списка и получаю:

Код: Выделить всё

-- Checking for modules 'wayland-client;wayland-server;wayland-egl'
 20 --   Found wayland-client, version 1.18.0
 21 --   Found wayland-server, version 1.18.0
 22 --   Found wayland-egl, version 18.1.0
 23 -- Found Wayland: wayland-server;wayland-egl;wayland-client
 24 -- Checking for module 'wayland-protocols'
 25 --   Found wayland-protocols, version 1.20 
 26 -- Found LibNotify: /usr/include/gdk-pixbuf-2.0;/usr/include/libmount;/usr/include/blkid;/usr/include/glib-2.0;/usr/lib6    4/glib-2.0/include (found version "0.7.9") 
 27 -- Found Hyphen: /usr/include  
 28 -- Found OpenJPEG: /usr/lib64/libopenjp2.so (found suitable version "2.3.1", minimum required is "2.2.0") 
 29 -- Checking for module 'libwoff2dec'
 30 --   Found libwoff2dec, version 1.0.2
 31 -- Found the following WOFF2 libraries:
 32 --  WOFF2 (required): /usr/lib64/libwoff2common.so
 33 --  dec (required): /usr/lib64/libwoff2dec.so
 34 -- Found WOFF2: /usr/lib64/libwoff2common.so (found suitable version "1.0.2", minimum required is "1.0.2")              
 35 CMake Error at Source/cmake/BubblewrapSandboxChecks.cmake:4 (message):
 36   bwrap executable is needed for ENABLE_BUBBLEWRAP_SANDBOX                                                              
 37 Call Stack (most recent call first):
 38   Source/cmake/OptionsGTK.cmake:491 (include)
 39   Source/cmake/WebKitCommon.cmake:58 (include)
 40   CMakeLists.txt:173 (include)
 41 
 42 
 43 -- Configuring incomplete, errors occurred!                                                                             
 44 See also "/tmp/SBo/webkitgtk-2.30.3/build/CMakeFiles/CMakeOutput.log".
 45 See also "/tmp/SBo/webkitgtk-2.30.3/build/CMakeFiles/CMakeError.log".
До этого он писал про wpelib и wpe-backend, но с их установкой стал пиать это.

Версия 2.30.3 webkit2gtk. Поясните мне пожалуйста что я не так делаю? Я прочитал что вы мне писали, но это не пояснило что случилось.
Не исключено что я слегка утомился и не замечаю какую-то важную деталь.

Я так понял проблема в построении списка зависимостей какая-то у меня, и он соответственно собирает webkit2, не имея установленных зависимостей для сборки.
Последний раз редактировалось UnixNoob 10.12.2020 16:36, всего редактировалось 1 раз.
"Однажды один очень мудрый человек… ничего не сказал. Времена были опасные, да и собеседники ненадёжные"
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20752
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: CMake Ошибка.

Сообщение Bizdelnick »

Так с woff2 всё в порядке, он bwrap не может найти. Читайте вывод внимательнее, там всё сказано.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
UnixNoob
Сообщения: 1367
ОС: Slackware

Re: CMake Ошибка.

Сообщение UnixNoob »

Bizdelnick писал:
10.12.2020 16:35
Так с woff2 всё в порядке, он bwrap не может найти. Читайте вывод внимательнее, там всё сказано.
Да, осталось понять почему у меня что-то не так с построением списка зависимостей.
"Однажды один очень мудрый человек… ничего не сказал. Времена были опасные, да и собеседники ненадёжные"
Спасибо сказали:
Аватара пользователя
bormant
Сообщения: 1354

Re: CMake Ошибка.

Сообщение bormant »

UnixNoob писал:
10.12.2020 16:18
REQUIRES="bubblewrap enchant2 geoclue2 gst-plugins-bad libseccomp wpebackend-fdo xdg-dbus-proxy"
Ок.
UnixNoob писал:
10.12.2020 16:18
получаю такой список
Ошибка. Что sqg сказал, ни на что не ругнулся? Старая у вас очередь...

Код: Выделить всё

xdg-dbus-proxy
libwpe
wpebackend-fdo
libseccomp
gst-plugins-bad
geoclue2
enchant2
bubblewrap
webkit2gtk
Спасибо сказали:
Аватара пользователя
UnixNoob
Сообщения: 1367
ОС: Slackware

Re: CMake Ошибка.

Сообщение UnixNoob »

bormant писал(а):
10.12.2020 17:28
Ошибка. Что sqg сказал, ни на что не ругнулся? Старая у вас очередь...
Пишет Processing и Ok. Очередь старая, я понял, я слишком издалека начал, т.к решил что если есть Error лог, то значит мне туда.
Но почему она старая я не знаю. Я на всякий случай даже .sqf старый удалил. Я могу конечно руками ее изменить, но как исправить эту ошибку, чтобы в дальнейшем не сталкиваться я не понял.
"Однажды один очень мудрый человек… ничего не сказал. Времена были опасные, да и собеседники ненадёжные"
Спасибо сказали:
Аватара пользователя
bormant
Сообщения: 1354

Re: CMake Ошибка.

Сообщение bormant »

Может у вас в настройках sqg сказано очереди куда-то еще писать, а не туда, где вы смотрите и где sbopkg указано искать?
Спасибо сказали:
Аватара пользователя
UnixNoob
Сообщения: 1367
ОС: Slackware

Re: CMake Ошибка.

Сообщение UnixNoob »

bormant
Попалось вот такое, может быть в этом дело, проверю:
I'm assuming you have the latest version of sbopkg installed: that one places sqg in /usr/sbin/sqg.
you have to edit /usr/sbin/sqg modifying two lines at the top
Code:
REPO_NAME=${REPO_NAME:-SBo}
REPO_BRANCH=${REPO_BRANCH:-14.2}
like
Code:
REPO_NAME=${REPO_NAME:-SBo-git}
REPO_BRANCH=${REPO_BRANCH:-current}
willysr: that is necessary because those variables are already defined at the top of the script, before the function sanity_checks is executed: /etc/sbopkg/sbopkg.conf should be sourced before those variables are defined.
"Однажды один очень мудрый человек… ничего не сказал. Времена были опасные, да и собеседники ненадёжные"
Спасибо сказали:
Аватара пользователя
bormant
Сообщения: 1354

Re: CMake Ошибка.

Сообщение bormant »

Если эти 4 строчки с переменными QUEUEDIR, REPO_ROOT, REPO_NAME, REPO_BRANCH в начале исполняемого файла закомментировать, sqg внутри sanity_checks() возьмет их из $SBOPKG_CONF (/etc/sbopkg/sbopkg.conf по умолчанию).
Вполне приемлемое поведение.
Спасибо сказали:
Аватара пользователя
UnixNoob
Сообщения: 1367
ОС: Slackware

Re: CMake Ошибка.

Сообщение UnixNoob »

bormant писал(а):
10.12.2020 18:26
Если эти 4 строчки с переменными QUEUEDIR, REPO_ROOT, REPO_NAME, REPO_BRANCH в начале исполняемого файла закомментировать, sqg внутри sanity_checks() возьмет их из $SBOPKG_CONF (/etc/sbopkg/sbopkg.conf по умолчанию).
Вполне приемлемое поведение.
bormant писал(а):
10.12.2020 18:26
Если эти 4 строчки с переменными QUEUEDIR, REPO_ROOT, REPO_NAME, REPO_BRANCH в начале исполняемого файла закомментировать, sqg внутри sanity_checks() возьмет их из $SBOPKG_CONF (/etc/sbopkg/sbopkg.conf по умолчанию).
Вполне приемлемое поведение.
В /etc/sbopkg/sbopkg.conf все в порядке было:

Код: Выделить всё

QUEUEDIR=${QUEUEDIR:-/var/lib/sbopkg/queues}
REPO_ROOT=${REPO_ROOT:-/var/lib/sbopkg}

REPO_BRANCH=${REPO_BRANCH:-current}
REPO_NAME=${REPO_NAME:-SBo-git}
А в исполняемом QUEUEDIR была закомментирована, а три другие нет и указывали на 14.2 репозиторий.

Код: Выделить всё

#QUEUEDIR=${QUEUEDIR:-/var/lib/sbopkg/queues}
REPO_ROOT=${REPO_ROOT:-/var/lib/sbopkg}
REPO_NAME=${REPO_NAME:-SBo}
REPO_BRANCH=${REPO_BRANCH:-14.2}
#SKIP_EMPTY=${SKIP_EMPTY:-NO}
Закомментировал и получил тот же список, что и у вас. Все заработало. Спасибо за ответы всем.
Offtopic
Но что-то я долгое собираю, на посмотреть IDE конечно :laugh:
"Однажды один очень мудрый человек… ничего не сказал. Времена были опасные, да и собеседники ненадёжные"
Спасибо сказали:
Ответить