Skip to content

Commit

Permalink
grub2: Workaround flex bug
Browse files Browse the repository at this point in the history
I think the flex update in 6bded45
causes this failure, presumably due to upstream breakage:

````
gcc -DHAVE_CONFIG_H -I.  -Wall -W -DGRUB_UTIL=1 -D_FILE_OFFSET_BITS=64 -I./include -DGRUB_FILE=\"grub_script.yy.c\" -I. -I. -I. -I. -I./include -I./include -I./grub-core/lib/libgcrypt-grub/src/  -I./grub-core/lib/minilzo -I./grub-core/lib/xzembed -DMINILZO_HAVE_CONFIG_H -D_FILE_OFFSET_BITS=64 -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  -fno-builtin -Wno-undef  -c -o libgrubmods_a-grub_script.yy.o `test -f 'grub_script.yy.c' || echo './'`grub_script.yy.c
./grub-core/script/yylex.l:34:0: error: "yyalloc" redefined [-Werror]
 #define yyalloc(size, scanner)   (grub_malloc((size)))
 ^
grub_script.yy.c:104:0: note: this is the location of the previous definition

 ^
./grub-core/script/yylex.l:35:0: error: "yyfree" redefined [-Werror]
 #define yyfree(ptr, scanner)   (grub_free((ptr)))
 ^
grub_script.yy.c:108:0: note: this is the location of the previous definition

 ^
./grub-core/script/yylex.l:36:0: error: "yyrealloc" redefined [-Werror]
 #define yyrealloc(ptr, size, scanner) (grub_realloc((ptr), (size)))
 ^
grub_script.yy.c:106:0: note: this is the location of the previous definition

 ^
cc1: all warnings being treated as errors
make[2]: *** [Makefile:7540: libgrubmods_a-grub_script.yy.o] Error 1
````

Work around it for now.
  • Loading branch information
dezgeg committed Jan 5, 2017
1 parent 5d3563f commit be2a2db
Showing 1 changed file with 3 additions and 0 deletions.
3 changes: 3 additions & 0 deletions pkgs/tools/misc/grub/2.0x.nix
Expand Up @@ -54,6 +54,9 @@ stdenv.mkDerivation rec {

hardeningDisable = [ "all" ];

# Work around a bug in the generated flex lexer (upstream flex bug?)
NIX_CFLAGS_COMPILE = "-Wno-error";

preConfigure =
'' for i in "tests/util/"*.in
do
Expand Down

0 comments on commit be2a2db

Please sign in to comment.