LINUX.ORG.RU

Ошибка сборки neovim в deb-пакет.

 , , , ,


0

1

Пытаюсь собрать последнюю версию neovim (0.8.1), подсунув файлы debian от уже имеющейся версии (0.7.2). Сборка выдает ошибку:

Determining if the function sendfile exists in the sendfile failed with the following output:
Change Dir: /home/nihi1ist/.src/neovim/0.7.2/neovim-0.7.2/build/CMakeFiles/CMakeTmp

Run Build Command(s):/usr/bin/ninja cmTC_f7281 && [1/2] Building C object CMakeFiles/cmTC_f7281.dir/CheckFunctionExists.c.o
<command-line>: warning: "_FORTIFY_SOURCE" redefined
<built-in>: note: this is the location of the previous definition
[2/2] Linking C executable cmTC_f7281
FAILED: cmTC_f7281 
: && /usr/bin/cc -g -O2 -ffile-prefix-map=/home/nihi1ist/.src/neovim/0.7.2/neovim-0.7.2=. -flto=auto -ffat-lto-objects -flto=auto -ffat-lto-objects -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=1 -DDISABLE_LOG -fno-strict-aliasing -Wdate-time -D_FORTIFY_SOURCE=1 -DCHECK_FUNCTION_EXISTS=sendfile -O2 -DNDEBUG -Wl,-Bsymbolic-functions -flto=auto -ffat-lto-objects -flto=auto -Wl,-z,relro -Wl,-z,now -Wl,--no-undefined CMakeFiles/cmTC_f7281.dir/CheckFunctionExists.c.o -o cmTC_f7281  -lsendfile && :
/usr/bin/ld: невозможно найти -lsendfile: Нет такого файла или каталога
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.



dh_auto_configure: error: cd build && cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=None -DCMAKE_INSTALL_SYSCONFDIR=/etc -DCMAKE_INSTALL_LOCALSTATEDIR=/var -DCMAKE_EXPORT_NO_PACKAGE_REGISTRY=ON -DCMAKE_FIND_USE_PACKAGE_REGISTRY=OFF -DCMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY=ON -DCMAKE_INSTALL_RUNSTATEDIR=/run "-GUnix Makefiles" -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -G Ninja -DCMAKE_BUILD_TYPE=Release -DBUSTED_OUTPUT_TYPE=nvim -DPREFER_LUA=OFF -DLIBLUV_LIBRARY:FILEPATH=/usr/lib/x86_64-linux-gnu/lua/5.1/luv.so -DLIBLUV_INCLUDE_DIR:PATH=/usr/include/lua5.1 -DCOMPILE_LUA=OFF .. returned exit code 1
make[1]: *** [debian/rules:63: override_dh_auto_configure] Ошибка 255
make[1]: выход из каталога «/home/nihi1ist/.src/neovim/0.7.2/neovim-0.7.2»
make: *** [debian/rules:60: binary] Ошибка 2
dpkg-buildpackage: ошибка: debian/rules binary subprocess returned exit status 2

Полный текст логов. Сборка из исходников из репозитория падает на той же ошибке.

Искал библиотеки со сходным именем в именах пакетов и в именах файлов. Но, подходящего варианта так и не нашел. Чего не хватает при сборке?

Итак, вы скачали архив с исходниками, распаковали его, запустили ″make CMAKE_BUILD_TYPE=Release″ и получили в терминале это выхлоп про lkstat, lsendfile и пр?

То, что вы привели, это рабочие ошибки, в терминале в это время вам должно было выводиться:

-- Looking for kstat_lookup in kstat
-- Looking for kstat_lookup in kstat - not found
-- Looking for kvm_open in kvm
-- Looking for kvm_open in kvm - not found
-- Looking for gethostbyname in nsl
-- Looking for gethostbyname in nsl - found
-- Looking for perfstat_cpu in perfstat
-- Looking for perfstat_cpu in perfstat - not found
-- Looking for clock_gettime in rt
-- Looking for clock_gettime in rt - found
-- Looking for sendfile in sendfile
-- Looking for sendfile in sendfile - not found
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found

mky ★★★★★
()
Последнее исправление: mky (всего исправлений: 1)
Ответ на: комментарий от mky

Есть такое:

-- Looking for dlopen in dl
-- Looking for dlopen in dl - found
-- Looking for kstat_lookup in kstat
-- Looking for kstat_lookup in kstat - not found
-- Looking for kvm_open in kvm
-- Looking for kvm_open in kvm - not found
-- Looking for gethostbyname in nsl
-- Looking for gethostbyname in nsl - found
-- Looking for perfstat_cpu in perfstat
-- Looking for perfstat_cpu in perfstat - not found
-- Looking for clock_gettime in rt
-- Looking for clock_gettime in rt - found
-- Looking for sendfile in sendfile
-- Looking for sendfile in sendfile - not found
-- Looking for pthread.h
-- Looking for pthread.h - found

Полные логи выложил по ссылке в первом сообщении. Изначально там были не полные логи.

nihi1ist
() автор топика
Ответ на: комментарий от nihi1ist

Странно, не вижу объяснения, почему:

-- Configuring incomplete, errors occurred!
Проверьте версию libluv.

И попробуйте запустить сборку просто из распкованых исходников, без дебиановских утилит. Просто сборка без установки в системе не намусорит.

mky ★★★★★
()