Hi, Rudi Heitbaum wrote: > When compiling grub-2.12 with gcc-15-20241208 the following line causes > the following error: > > https://git.savannah.gnu.org/cgit/gnulib.git/tree/lib/base64.c#n62 > > ../../grub-core/lib/gnulib/base64.c:65:3: > error: initializer-string for array of 'char' is too long > [-Werror=unterminated-string-initialization] > > 65 | "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
No, this line is not causing an error. This line causes a warning, and it is either your use of CPPFLAGS and CFLAGS or grub's configure.ac which adds '-Werror' and thus turns the warning into an error. Use of -Werror with gnulib is unsupported. We cannot avoid all compiler warnings on all systems, in particular because some warnings are style warnings and opposite warnings exist as well. In this case, the code is perfectly fine: it initializes an array of size 64 with 64 characters. There is no better way to write such an initialization. So, you need to remove that particular warning from your CPPFLAGS and CFLAGS or from grub's configure.ac. See also <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117178>, <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116082>. Bruno