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

Reply via email to