Source: neovim
Version: 0.10.4-8
Severity: serious
User: [email protected]
Usertags: cmake-4
Tags: ftbfs, forky, sid
Dear maintainer,
During a test rebuild for CMake 4, neovim failed to rebuild.
Log Summary:
-------------------------------------------------------------------------------
[...]
| ^~~~~~~~~~~~~~~~~~~~~~~~
tmp_pseudoheader.h:3529:9: note: this is the location of the previous definition
3529 | #define STATIC_ASSERT_PRAGMA_END _Pragma("GCC diagnostic pop")
| ^~~~~~~~~~~~~~~~~~~~~~~~
/build/reproducible-path/neovim-0.10.4/src/nvim/assert_defs.h:111:9: warning:
"ASSERT_CONCAT_" redefined
111 | #define ASSERT_CONCAT_(a, b) a##b
| ^~~~~~~~~~~~~~
tmp_pseudoheader.h:1020:9: note: this is the location of the previous definition
1020 | #define ASSERT_CONCAT_(a,b) a ##b
| ^~~~~~~~~~~~~~
/build/reproducible-path/neovim-0.10.4/src/nvim/map_defs.h:40:9: warning: "Set"
redefined
40 | #define Set(type) Set_##type
| ^~~
tmp_pseudoheader.h:3260:9: note: this is the location of the previous definition
3260 | #define Set(type) Set_ ##type
| ^~~
/build/reproducible-path/neovim-0.10.4/src/nvim/map_defs.h:41:9: warning: "Map"
redefined
41 | #define Map(T, U) Map_##T##U
| ^~~
tmp_pseudoheader.h:348:9: note: this is the location of the previous definition
348 | #define Map(T,U) Map_ ##T ##U
| ^~~
/build/reproducible-path/neovim-0.10.4/src/nvim/map_defs.h:87:9: warning:
"MH_DECLS" redefined
87 | #define MH_DECLS(T, K, K_query) \
| ^~~~~~~~
tmp_pseudoheader.h:2583:9: note: this is the location of the previous definition
2583 | #define MH_DECLS(T,K,K_query) typedef struct { MapHash h; K *keys; }
Set(T); uint32_t mh_find_bucket_ ##T(Set(T) *set, K_query key, bool put);
uint32_t mh_get_ ##T(Set(T) *set, K_query key); void mh_rehash_ ##T(Set(T)
*set); uint32_t mh_put_ ##T(Set(T) *set, K_query key, MHPutStatus *new);
| ^~~~~~~~
/build/reproducible-path/neovim-0.10.4/src/nvim/map_defs.h:98:9: warning:
"KEY_DECLS" redefined
98 | #define KEY_DECLS(T) \
| ^~~~~~~~~
tmp_pseudoheader.h:448:9: note: this is the location of the previous definition
448 | #define KEY_DECLS(T) MH_DECLS(T, T, T) uint32_t mh_delete_ ##T(Set(T)
*set, T *key); static inline bool set_put_ ##T(Set(T) *set, T key, T
**key_alloc) { MHPutStatus status; uint32_t k = mh_put_ ##T(set, key, &status);
if (key_alloc) { *key_alloc = &set->keys[k]; } return status != kMHExisting; }
static inline T set_del_ ##T(Set(T) *set, T key) { mh_delete_ ##T(set, &key);
return key; } static inline bool set_has_ ##T(Set(T) *set, T key) { return
mh_get_ ##T(set, key) != MH_TOMBSTONE; }
| ^~~~~~~~~
/build/reproducible-path/neovim-0.10.4/src/nvim/map_defs.h:121:9: warning:
"MAP_DECLS" redefined
121 | #define MAP_DECLS(T, U) \
| ^~~~~~~~~
tmp_pseudoheader.h:508:9: note: this is the location of the previous definition
508 | #define MAP_DECLS(T,U) typedef struct { Set(T) set; U *values; } Map(T,
U); static inline U map_get_ ##T ##U(Map(T, U) *map, T key) { uint32_t k =
mh_get_ ##T(&map->set, key); return k == MH_TOMBSTONE ? value_init_ ##U :
map->values[k]; } U *map_ref_ ##T ##U(Map(T, U) *map, T key, T **key_alloc); U
*map_put_ref_ ##T ##U(Map(T, U) *map, T key, T **key_alloc, bool *new_item);
static inline void map_put_ ##T ##U(Map(T, U) *map, T key, U value) { U *val =
map_put_ref_ ##T ##U(map, key, NULL, NULL); *val = value; } U map_del_ ##T
##U(Map(T, U) *map, T key, T *key_alloc);
| ^~~~~~~~~
/build/reproducible-path/neovim-0.10.4/src/nvim/map_defs.h:142:9: warning:
"quasiquote" redefined
142 | #define quasiquote(x, y) x##y
| ^~~~~~~~~~
tmp_pseudoheader.h:530:9: note: this is the location of the previous definition
530 | #define quasiquote(x,y) x ##y
| ^~~~~~~~~~
/build/reproducible-path/neovim-0.10.4/src/nvim/map_defs.h:171:9: warning:
"set_has" redefined
171 | #define set_has(T, set, key) set_has_##T(set, key)
| ^~~~~~~
tmp_pseudoheader.h:1029:9: note: this is the location of the previous definition
1029 | #define set_has(T,set,key) set_has_ ##T(set, key)
| ^~~~~~~
/build/reproducible-path/neovim-0.10.4/src/nvim/map_defs.h:172:9: warning:
"set_put" redefined
172 | #define set_put(T, set, key) set_put_##T(set, key, NULL)
| ^~~~~~~
tmp_pseudoheader.h:4080:9: note: this is the location of the previous definition
4080 | #define set_put(T,set,key) set_put_ ##T(set, key, NULL)
| ^~~~~~~
/build/reproducible-path/neovim-0.10.4/src/nvim/map_defs.h:173:9: warning:
"set_put_ref" redefined
173 | #define set_put_ref(T, set, key, key_alloc) set_put_##T(set, key,
key_alloc)
| ^~~~~~~~~~~
tmp_pseudoheader.h:499:9: note: this is the location of the previous definition
499 | #define set_put_ref(T,set,key,key_alloc) set_put_ ##T(set, key,
key_alloc)
| ^~~~~~~~~~~
/build/reproducible-path/neovim-0.10.4/src/nvim/map_defs.h:174:9: warning:
"set_put_idx" redefined
174 | #define set_put_idx(T, set, key, status) mh_put_##T(set, key, status)
| ^~~~~~~~~~~
tmp_pseudoheader.h:1137:9: note: this is the location of the previous definition
1137 | #define set_put_idx(T,set,key,status) mh_put_ ##T(set, key, status)
| ^~~~~~~~~~~
/build/reproducible-path/neovim-0.10.4/src/nvim/map_defs.h:175:9: warning:
"set_del" redefined
175 | #define set_del(T, set, key) set_del_##T(set, key)
| ^~~~~~~
tmp_pseudoheader.h:2477:9: note: this is the location of the previous definition
2477 | #define set_del(T,set,key) set_del_ ##T(set, key)
| ^~~~~~~
/build/reproducible-path/neovim-0.10.4/src/nvim/map_defs.h:185:9: warning:
"map_get" redefined
185 | #define map_get(T, U) map_get_##T##U
| ^~~~~~~
tmp_pseudoheader.h:1605:9: note: this is the location of the previous definition
1605 | #define map_get(T,U) map_get_ ##T ##U
| ^~~~~~~
/build/reproducible-path/neovim-0.10.4/src/nvim/map_defs.h:187:9: warning:
"map_put" redefined
187 | #define map_put(T, U) map_put_##T##U
| ^~~~~~~
tmp_pseudoheader.h:3924:9: note: this is the location of the previous definition
3924 | #define map_put(T,U) map_put_ ##T ##U
| ^~~~~~~
/build/reproducible-path/neovim-0.10.4/src/nvim/map_defs.h:188:9: warning:
"map_ref" redefined
188 | #define map_ref(T, U) map_ref_##T##U
| ^~~~~~~
tmp_pseudoheader.h:1658:9: note: this is the location of the previous definition
1658 | #define map_ref(T,U) map_ref_ ##T ##U
| ^~~~~~~
/build/reproducible-path/neovim-0.10.4/src/nvim/map_defs.h:189:9: warning:
"map_put_ref" redefined
189 | #define map_put_ref(T, U) map_put_ref_##T##U
| ^~~~~~~~~~~
tmp_pseudoheader.h:1632:9: note: this is the location of the previous definition
1632 | #define map_put_ref(T,U) map_put_ref_ ##T ##U
| ^~~~~~~~~~~
/build/reproducible-path/neovim-0.10.4/src/nvim/map_defs.h:190:9: warning:
"map_del" redefined
190 | #define map_del(T, U) map_del_##T##U
| ^~~~~~~
tmp_pseudoheader.h:2341:9: note: this is the location of the previous definition
2341 | #define map_del(T,U) map_del_ ##T ##U
| ^~~~~~~
In file included from ./src/nvim/strings.h:8,
from tmp_pseudoheader.h:3111:
/build/reproducible-path/neovim-0.10.4/src/nvim/api/private/defs.h:22:10:
warning: "Dict" redefined
22 | # define Dict(name) KeyDict_##name
| ^~~~
tmp_pseudoheader.h:825:9: note: this is the location of the previous definition
825 | #define Dict(name) KeyDict_ ##name
| ^~~~
E5113: Error while calling lua chunk:
E5113: Error while calling lua chunk:
E5113: Error while calling lua chunk:
E5113: Error while calling lua chunk:
E5113: Error while calling lua chunk:
E5113: Error while calling lua chunk:
CMake Error at /build/reproducible-path/neovim-0.10.4/cmake/RunTests.cmake:103
(message):
unit tests failed with error: 1
FAILED: test/CMakeFiles/unittest
/build/reproducible-path/neovim-0.10.4/build/test/CMakeFiles/unittest
cd /build/reproducible-path/neovim-0.10.4/build/test && /usr/bin/cmake -D
TEST_TYPE=unit -D BUILD_DIR=/build/reproducible-path/neovim-0.10.4/build -D
CIRRUS_CI= -D CI_BUILD=OFF -D
DEPS_INSTALL_DIR=/build/reproducible-path/neovim-0.10.4/build/usr -D
NVIM_PRG=/build/reproducible-path/neovim-0.10.4/build/bin/nvim -D
TEST_DIR=/build/reproducible-path/neovim-0.10.4/test -D
WORKING_DIR=/build/reproducible-path/neovim-0.10.4 -P
/build/reproducible-path/neovim-0.10.4/cmake/RunTests.cmake
ninja: build stopped: subcommand failed.
make[1]: *** [debian/rules:149: override_dh_auto_test-arch] Error 1
make[1]: Leaving directory '/build/reproducible-path/neovim-0.10.4'
make: *** [debian/rules:82: binary] Error 2
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
--------------------------------------------------------------------------------
Build finished at 2025-08-30T09:27:46Z
-------------------------------------------------------------------------------
The above is just how the build ends and not necessarily the most relevant part.
If required, the full build log is available here (for the next 30 days):
https://debusine.debian.net/artifact/2405287/
The most likely cause of build failures is the removed backwards compatibility
for
CMake versions earlier than 3.5. You can find additional information in my
debian-devel announcement:
https://lists.debian.org/debian-devel/2025/04/msg00310.html
About the archive rebuild: The build was made on debusine.debian.net,
using sbuild.
You can find the build task here:
https://debusine.debian.net/work-request/154203/
If this is really a bug in one of the build-depends, please use
reassign and affects, so that this is still visible in the BTS web
page for this package.
Thanks,
Timo