Vimjas / vim-testbed

Docker image for testing Vim plugins
42 stars 6 forks source link

Unable to build neovim 0.8 #82

Closed hsanson closed 1 year ago

hsanson commented 1 year ago
+ echo '=== building: NAME=, TAG=neovim:v0.8.0, PYTHON=, RUBY=0, LUA=0, FLAVOR= ==='
=== building: NAME=, TAG=neovim:v0.8.0, PYTHON=, RUBY=0, LUA=0, FLAVOR= ===
+ prepare_build
+ '[' -z neovim:v0.8.0 ]
+ IFS=: read -r -- repo tag
+ '[' -z v0.8.0 ]
+ '[' neovim '=' vim ]
+ '[' neovim '=' neovim ]
+ repo=neovim/neovim
+ '[' -z  ]
+ FLAVOR=neovim
+ '[' -z neovim ]
+ '[' -z neovim/neovim ]
+ '[' -z ]
+ NAME=neovim-v0.8.0
+ '[' neovim '=' vim ]
+ VIM_NAME=neovim/neovim/v0.8.0
+ INSTALL_PREFIX=/vim-build/neovim/neovim/v0.8.0
+ '[' neovim '=' vim ]
+ set +x
TAG:neovim:v0.8.0
repo:neovim/neovim
tag:v0.8.0
FLAVOR:neovim
NAME:neovim-v0.8.0
+ apk_add_build_dep curl gcc libc-dev make
+ apk info -e curl
curl
+ apk info -e gcc
gcc
+ apk info -e libc-dev
libc-dev
+ apk info -e make
make
+ '[' -n  ]
+ '[' -n  ]
+ '[' 0 -eq 1 ]
+ '[' 0 -eq 1 ]
+ '[' neovim '=' vim ]
+ cd /vim
+ '[' -d /vim-build/neovim/neovim/v0.8.0 ]
+ BUILD_DIR=neovim-neovim/neovim-v0.8.0
+ '[' '!' -d neovim-neovim/neovim-v0.8.0 ]
+ mkdir -p neovim-neovim/neovim-v0.8.0
+ cd neovim-neovim/neovim-v0.8.0
+ url=https://github.com/neovim/neovim/archive/v0.8.0.tar.gz
Downloading neovim/neovim:v0.8.0 from https://github.com/neovim/neovim/archive/v0.8.0.tar.gz
+ echo 'Downloading neovim/neovim:v0.8.0 from https://github.com/neovim/neovim/archive/v0.8.0.tar.gz'
+ curl --retry 3 -SL https://github.com/neovim/neovim/archive/v0.8.0.tar.gz
+ tar zx '--strip-components=1'
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100 10.8M    0 10.8M    0     0  4322k      0 --:--:--  0:00:02 --:--:-- 5504k
+ '[' neovim '=' vim ]
+ '[' neovim '=' neovim ]
+ apk add gettext libuv libtermkey libvterm luajit msgpack-c unibilium
OK: 311 MiB in 82 packages
+ apk_add_build_dep autoconf automake ca-certificates cmake g++ gettext-dev gperf libtool libuv-dev libtermkey-dev libvterm-dev lua5.1-lpeg lua5.1-mpack luajit-dev m4 make msgpack-c-dev perl unzip unibilium-dev xz
+ apk info -e autoconf
autoconf
+ apk info -e automake
automake
+ apk info -e ca-certificates
ca-certificates
+ apk info -e cmake
cmake
+ apk info -e g++
g++
+ apk info -e gettext-dev
gettext-dev
+ apk info -e gperf
gperf
+ apk info -e libtool
libtool
+ apk info -e libuv-dev
libuv-dev
+ apk info -e libtermkey-dev
libtermkey-dev
+ apk info -e libvterm-dev
libvterm-dev
+ apk info -e lua5.1-lpeg
lua5.1-lpeg
+ apk info -e lua5.1-mpack
lua5.1-mpack
+ apk info -e luajit-dev
luajit-dev
+ apk info -e m4
m4
+ apk info -e make
make
+ apk info -e msgpack-c-dev
msgpack-c-dev
+ apk info -e perl
perl
+ apk info -e unzip
unzip
+ apk info -e unibilium-dev
unibilium-dev
+ apk info -e xz
xz
+ build
+ '[' -n  ]
+ '[' neovim '=' vim ]
+ '[' neovim '=' neovim ]
+ CMAKE_EXTRA_FLAGS='-DCMAKE_INSTALL_PREFIX=/vim-build/neovim/neovim/v0.8.0'
+ DEPS_CMAKE_FLAGS='-DUSE_BUNDLED=OFF'
+ grep -iq USE_BUNDLED_TS_PARSERS third-party/CMakeLists.txt
grep: third-party/CMakeLists.txt: No such file or directory
+ grep -iq USE_BUNDLED_TS third-party/CMakeLists.txt
grep: third-party/CMakeLists.txt: No such file or directory
+ DEPS_CMAKE_FLAGS='-DUSE_BUNDLED=OFF -DUSE_BUNDLED_LIBVTERM=ON'
+ grep -iq 'find.*libluv' CMakeLists.txt
+ DEPS_CMAKE_FLAGS='-DUSE_BUNDLED=OFF -DUSE_BUNDLED_LIBVTERM=ON -DUSE_BUNDLED_LUV=ON'
+ grep -q ENABLE_JEMALLOC CMakeLists.txt
+ grep -qF unibi_var_from_num src/nvim/tui/tui.c
+ grep -qF UTF8PROC CMakeLists.txt
+ make cmake 'CMAKE_BUILD_TYPE=RelWithDebInfo' 'CMAKE_EXTRA_FLAGS=-DCMAKE_INSTALL_PREFIX=/vim-build/neovim/neovim/v0
.8.0' 'DEPS_CMAKE_FLAGS=-DUSE_BUNDLED=OFF -DUSE_BUNDLED_LIBVTERM=ON -DUSE_BUNDLED_LUV=ON'
touch CMakeLists.txt
make build/.ran-cmake
make[1]: Entering directory '/vim/neovim-neovim/neovim-v0.8.0'
mkdir -p ".deps"
cd .deps && \
        cmake -G 'Unix Makefiles'   \
        -DUSE_BUNDLED=OFF -DUSE_BUNDLED_LIBVTERM=ON -DUSE_BUNDLED_LUV=ON /vim/neovim-neovim/neovim-v0.8.0//cmake.deps
-- The C compiler identification is GNU 9.3.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
-- CMAKE_BUILD_TYPE not specified, default is 'Debug'
-- Performing Test HAS_OG_FLAG
-- Performing Test HAS_OG_FLAG - Success
-- Could NOT find Git (missing: GIT_EXECUTABLE)
CMake Error at CMakeLists.txt:69 (message):
  Git is required to apply patches.

-- Configuring incomplete, errors occurred!
See also "/vim/neovim-neovim/neovim-v0.8.0/.deps/CMakeFiles/CMakeOutput.log".
make[1]: *** [Makefile:108: build/.ran-deps-cmake] Error 1
make[1]: Leaving directory '/vim/neovim-neovim/neovim-v0.8.0'
make: *** [Makefile:93: cmake] Error 2
+ bail 'make cmake failed'
+ echo 'make cmake failed'
make cmake failed
+ exit 1
The command '/bin/sh -c install_vim -tag v8.0.0027 -build                 -tag v9.0.0133 -build                 -tag neovim:v0.2.0 -build                 -tag neovim:v0.8.0 -build' returned a non-zero code: 1
blueyed commented 1 year ago

It seems like git needs to be installed for it, but not clear why:

-- Could NOT find Git (missing: GIT_EXECUTABLE) CMake Error at CMakeLists.txt:69 (message): Git is required to apply patches.

hsanson commented 1 year ago

Thanks, added git with apk add git before running install_vim and it got a little further. Now it fails to find tree-sitter that I understand is not available in Alpine. Tries setting the USE_BUNDLED_TS_PARSES but also failed to build:

-- Found Threads: TRUE
-- Found LibUV: /usr/lib/libuv.so (Required is at least version "1.28.0")
-- Found Msgpack: /usr/lib/libmsgpackc.so (found suitable version "3.3.0", minimum required is "1.0.0")
-- Found LibLUV: /usr/lib/libluv.so (Required is at least version "1.43.0")
CMake Error at cmake/LibFindMacros.cmake:263 (message):
  REQUIRED PACKAGE NOT FOUND

  We could not find development headers for TreeSitter.  Do you have the
  necessary dev package installed? This package is REQUIRED and you need to
  install it or adjust CMake configuration in order to continue building
  nvim.

  Relevant CMake configuration variables:

    TreeSitter_INCLUDE_DIR=<not found>
    TreeSitter_LIBRARY=<not found>

  You may use CMake GUI, cmake -D or ccmake to modify the values.  Delete
  CMakeCache.txt to discard all values and force full re-detection if
  necessary.

Call Stack (most recent call first):
  cmake/FindTreeSitter.cmake:11 (libfind_process)
  CMakeLists.txt:416 (find_package)

-- Configuring incomplete, errors occurred!
See also "/vim/neovim-neovim/neovim-v0.8.0/build/CMakeFiles/CMakeOutput.log".
See also "/vim/neovim-neovim/neovim-v0.8.0/build/CMakeFiles/CMakeError.log".
make[1]: *** [Makefile:96: build/.ran-cmake] Error 1
make[1]: Leaving directory '/vim/neovim-neovim/neovim-v0.8.0'
make: *** [Makefile:93: cmake] Error 2
+ bail 'make cmake failed'
+ echo 'make cmake failed'
make cmake failed
+ exit 1
blueyed commented 1 year ago

Thanks for investigating further. A fix for this is in https://github.com/Vimjas/vim-testbed/pull/83, but has not the git package added yet. What's your patch for this? I will look into fixing this later.

hsanson commented 1 year ago

I just added RUN apk add git to the Dockerfile file after the upgrade command RUN apk --no-cache upgrade