Hi Gary,
Gary Lin via Grub-devel wrote,
> This patch series imports the Argon2 code and tests from libgcrypt and
> adds Argon2 support to LUKS2.
I am trying to use your patch series, but compilation is failing.
I am using Debian 12 with gcc 12.
Attached is the logfile of the make invocation with the failures.
Any ideas why it is working for you? Older gcc? Or are you using
--disable-werror in the configure step?
best regards
Waldemar
make all-recursive
make[1]: Entering directory '/root/grub/build'
Making all in grub-core/lib/gnulib
make[2]: Entering directory '/root/grub/build/grub-core/lib/gnulib'
make all-recursive
make[3]: Entering directory '/root/grub/build/grub-core/lib/gnulib'
make[4]: Entering directory '/root/grub/build/grub-core/lib/gnulib'
make[4]: Nothing to be done for 'all-am'.
make[4]: Leaving directory '/root/grub/build/grub-core/lib/gnulib'
make[3]: Leaving directory '/root/grub/build/grub-core/lib/gnulib'
make[2]: Leaving directory '/root/grub/build/grub-core/lib/gnulib'
Making all in .
make[2]: Entering directory '/root/grub/build'
gcc -DHAVE_CONFIG_H -I. -I.. -Wall -W -DGRUB_UTIL=1 -D_FILE_OFFSET_BITS=64
-I./include -DGRUB_FILE=\"grub-core/lib/libgcrypt-grub/cipher/arcfour.c\" -I.
-I.. -I. -I.. -I../include -I./include -I../grub-core/lib/libgcrypt-grub/src/
-I../grub-core/lib/libgcrypt_wrap -I../grub-core/lib/posix_wrap
-D_GCRYPT_IN_LIBGCRYPT=1 -D_GCRYPT_CONFIG_H_INCLUDED=1 -I../include/grub/gcrypt
-D_FILE_OFFSET_BITS=64 -std=gnu99 -fno-common -Wall -W -Wshadow
-Wpointer-arith -Wundef -Wchar-subscripts -Wcomment -Wdeprecated-declarations
-Wdisabled-optimization -Wdiv-by-zero -Wfloat-equal -Wformat-extra-args
-Wformat-security -Wformat-y2k -Wimplicit -Wimplicit-function-declaration
-Wimplicit-int -Wmain -Wmissing-braces -Wmissing-format-attribute -Wmultichar
-Wparentheses -Wreturn-type -Wsequence-point -Wshadow -Wsign-compare -Wswitch
-Wtrigraphs -Wunknown-pragmas -Wunused -Wunused-function -Wunused-label
-Wunused-parameter -Wunused-value -Wunused-variable -Wwrite-strings
-Wnested-externs -Wstrict-prototypes -Wcast-align -Wextra -Wattributes
-Wendif-labels -Winit-self -Wint-to-pointer-cast -Winvalid-pch
-Wmissing-field-initializers -Wnonnull -Woverflow -Wvla -Wpointer-to-int-cast
-Wstrict-aliasing -Wvariadic-macros -Wvolatile-register-var -Wpointer-sign
-Wmissing-include-dirs -Wmissing-prototypes -Wmissing-declarations -Wformat=2
-Werror -Wno-sign-compare -Wno-missing-field-initializers -Wno-redundant-decls
-Wno-undef -fno-builtin -MT
grub-core/lib/libgcrypt-grub/cipher/libgrubgcry_a-arcfour.o -MD -MP -MF
grub-core/lib/libgcrypt-grub/cipher/.deps-util/libgrubgcry_a-arcfour.Tpo -c -o
grub-core/lib/libgcrypt-grub/cipher/libgrubgcry_a-arcfour.o `test -f
'grub-core/lib/libgcrypt-grub/cipher/arcfour.c' || echo
'../'`grub-core/lib/libgcrypt-grub/cipher/arcfour.c
In file included from ../grub-core/lib/libgcrypt-grub/cipher/types.h:2,
from ../grub-core/lib/libgcrypt-grub/cipher/arcfour.c:30:
../grub-core/lib/libgcrypt_wrap/cipher_wrap.h:82: error: "strtoul" redefined
[-Werror]
82 | #define strtoul grub_strtoul
|
In file included from ../grub-core/lib/libgcrypt_wrap/cipher_wrap.h:76:
../include/grub/gcrypt/g10lib.h:207: note: this is the location of the previous
definition
207 | #define strtoul(a,b,c) ((unsigned long)strtol((a),(b),(c)))
|
../grub-core/lib/libgcrypt-grub/cipher/arcfour.c:127:5: error: initialization
of ‘int’ from ‘const char *’ makes integer from pointer without a cast
[-Werror=int-conversion]
127 | "ARCFOUR", NULL, NULL, 1, 128, sizeof (ARCFOUR_context),
| ^~~~~~~~~
../grub-core/lib/libgcrypt-grub/cipher/arcfour.c:127:5: note: (near
initialization for ‘_gcry_cipher_spec_arcfour.algo’)
../grub-core/lib/libgcrypt-grub/cipher/arcfour.c:127:5: error: initializer
element is not computable at load time
../grub-core/lib/libgcrypt-grub/cipher/arcfour.c:127:5: note: (near
initialization for ‘_gcry_cipher_spec_arcfour.algo’)
../grub-core/lib/libgcrypt-grub/cipher/arcfour.c:127:16: error: initialization
of ‘unsigned char:1’ from ‘void *’ makes integer from pointer without a cast
[-Werror=int-conversion]
127 | "ARCFOUR", NULL, NULL, 1, 128, sizeof (ARCFOUR_context),
| ^~~~
../grub-core/lib/libgcrypt-grub/cipher/arcfour.c:127:16: note: (near
initialization for ‘_gcry_cipher_spec_arcfour.flags.disabled’)
../grub-core/lib/libgcrypt-grub/cipher/arcfour.c:127:22: error: initialization
of ‘unsigned char:1’ from ‘void *’ makes integer from pointer without a cast
[-Werror=int-conversion]
127 | "ARCFOUR", NULL, NULL, 1, 128, sizeof (ARCFOUR_context),
| ^~~~
../grub-core/lib/libgcrypt-grub/cipher/arcfour.c:127:22: note: (near
initialization for ‘_gcry_cipher_spec_arcfour.flags.fips’)
../grub-core/lib/libgcrypt-grub/cipher/arcfour.c:127:28: error: initialization
of ‘const char *’ from ‘int’ makes pointer from integer without a cast
[-Werror=int-conversion]
127 | "ARCFOUR", NULL, NULL, 1, 128, sizeof (ARCFOUR_context),
| ^
../grub-core/lib/libgcrypt-grub/cipher/arcfour.c:127:28: note: (near
initialization for ‘_gcry_cipher_spec_arcfour.name’)
../grub-core/lib/libgcrypt-grub/cipher/arcfour.c:127:31: error: initialization
of ‘const char **’ from ‘int’ makes pointer from integer without a cast
[-Werror=int-conversion]
127 | "ARCFOUR", NULL, NULL, 1, 128, sizeof (ARCFOUR_context),
| ^~~
../grub-core/lib/libgcrypt-grub/cipher/arcfour.c:127:31: note: (near
initialization for ‘_gcry_cipher_spec_arcfour.aliases’)
../grub-core/lib/libgcrypt-grub/cipher/arcfour.c:127:36: error: initialization
of ‘const gcry_cipher_oid_spec_t *’ {aka ‘const struct gcry_cipher_oid_spec *’}
from ‘long unsigned int’ makes pointer from integer without a cast
[-Werror=int-conversion]
127 | "ARCFOUR", NULL, NULL, 1, 128, sizeof (ARCFOUR_context),
| ^~~~~~
../grub-core/lib/libgcrypt-grub/cipher/arcfour.c:127:36: note: (near
initialization for ‘_gcry_cipher_spec_arcfour.oids’)
../grub-core/lib/libgcrypt-grub/cipher/arcfour.c:128:5: error: initialization
of ‘long unsigned int’ from ‘gcry_err_code_t (*)(void *, const byte *, unsigned
int)’ {aka ‘gpg_err_code_t (*)(void *, const unsigned char *, unsigned int)’}
makes integer from pointer without a cast [-Werror=int-conversion]
128 | arcfour_setkey, NULL, NULL, encrypt_stream, encrypt_stream,
| ^~~~~~~~~~~~~~
../grub-core/lib/libgcrypt-grub/cipher/arcfour.c:128:5: note: (near
initialization for ‘_gcry_cipher_spec_arcfour.blocksize’)
../grub-core/lib/libgcrypt-grub/cipher/arcfour.c:128:21: error: initialization
of ‘long unsigned int’ from ‘void *’ makes integer from pointer without a cast
[-Werror=int-conversion]
128 | arcfour_setkey, NULL, NULL, encrypt_stream, encrypt_stream,
| ^~~~
../grub-core/lib/libgcrypt-grub/cipher/arcfour.c:128:21: note: (near
initialization for ‘_gcry_cipher_spec_arcfour.keylen’)
../grub-core/lib/libgcrypt-grub/cipher/arcfour.c:128:27: error: initialization
of ‘long unsigned int’ from ‘void *’ makes integer from pointer without a cast
[-Werror=int-conversion]
128 | arcfour_setkey, NULL, NULL, encrypt_stream, encrypt_stream,
| ^~~~
../grub-core/lib/libgcrypt-grub/cipher/arcfour.c:128:27: note: (near
initialization for ‘_gcry_cipher_spec_arcfour.contextsize’)
../grub-core/lib/libgcrypt-grub/cipher/arcfour.c:128:33: error: initialization
of ‘gcry_err_code_t (*)(void *, const unsigned char *, unsigned int, struct
cipher_bulk_ops *)’ {aka ‘gpg_err_code_t (*)(void *, const unsigned char *,
unsigned int, struct cipher_bulk_ops *)’} from incompatible pointer type ‘void
(*)(void *, byte *, const byte *, unsigned int)’ {aka ‘void (*)(void *,
unsigned char *, const unsigned char *, unsigned int)’}
[-Werror=incompatible-pointer-types]
128 | arcfour_setkey, NULL, NULL, encrypt_stream, encrypt_stream,
| ^~~~~~~~~~~~~~
../grub-core/lib/libgcrypt-grub/cipher/arcfour.c:128:33: note: (near
initialization for ‘_gcry_cipher_spec_arcfour.setkey’)
../grub-core/lib/libgcrypt-grub/cipher/arcfour.c:128:49: error: initialization
of ‘unsigned int (*)(void *, unsigned char *, const unsigned char *)’ from
incompatible pointer type ‘void (*)(void *, byte *, const byte *, unsigned
int)’ {aka ‘void (*)(void *, unsigned char *, const unsigned char *, unsigned
int)’} [-Werror=incompatible-pointer-types]
128 | arcfour_setkey, NULL, NULL, encrypt_stream, encrypt_stream,
| ^~~~~~~~~~~~~~
../grub-core/lib/libgcrypt-grub/cipher/arcfour.c:128:49: note: (near
initialization for ‘_gcry_cipher_spec_arcfour.encrypt’)
../grub-core/lib/libgcrypt-grub/cipher/arcfour.c:126:3: error: missing braces
around initializer [-Werror=missing-braces]
126 | {
| ^
cc1: all warnings being treated as errors
make[2]: *** [Makefile:6403:
grub-core/lib/libgcrypt-grub/cipher/libgrubgcry_a-arcfour.o] Error 1
make[2]: Leaving directory '/root/grub/build'
make[1]: *** [Makefile:12468: all-recursive] Error 1
make[1]: Leaving directory '/root/grub/build'
make: *** [Makefile:4058: all] Error 2
_______________________________________________
Grub-devel mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/grub-devel