Bug 83355

Summary: FTBFS: src/mesa/program/program_lexer.l:122:64: error: unknown type name 'YYSTYPE'
Product: Mesa Reporter: Kai <kai>
Component: Mesa coreAssignee: mesa-dev
Status: RESOLVED FIXED QA Contact:
Severity: blocker    
Priority: medium    
Version: git   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments: buildlog showing the FTBFS

Description Kai 2014-09-01 13:56:57 UTC
Created attachment 105562 [details]
buildlog showing the FTBFS

When trying to build Mesa from Git master (d571f2b15d), I get:
> libtool: compile:  gcc -DPACKAGE_NAME=\"Mesa\" -DPACKAGE_TARNAME=\"mesa\" -DPACKAGE_VERSION=\"10.4.0-devel\" "-DPACKAGE_STRING=\"Mesa 10.4.0-devel\"" "-DPACKAGE_BUGREPORT=\"https://bugs.freedesktop.org/enter_bug.cgi?product=Mesa\"" -DPACKAGE_URL=\"\" -DPACKAGE=\"mesa\" -DVERSION=\"
> 10.4.0-devel\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DYYTEXT_POINTER=1 -DHAVE___BUILTIN_BSWA
> P32=1 -DHAVE___BUILTIN_BSWAP64=1 -DHAVE_DLADDR=1 -DHAVE_CLOCK_GETTIME=1 -DHAVE_PTHREAD=1 -I. -I../../../../src/mesa -DUSE_EXTERNAL_DXTN_LIB=1 -D_GNU_SOURCE -DHAVE_PTHREAD -DUSE_SSE41 -DTEXTURE_FLOAT_ENABLED -DUSE_X86_64_ASM -DHAVE_DLOPEN -DHAVE_POSIX_MEMALIGN -DHAVE_LIBDRM -DGLX_US
> E_DRM -DHAVE_LIBUDEV -DGLX_INDIRECT_RENDERING -DGLX_DIRECT_RENDERING -DGLX_USE_TLS -DHAVE_PTHREAD -DHAVE_ALIAS -DHAVE_DRI3 -DHAVE_MINCORE -DHAVE_LLVM=0x0306 -DLLVM_VERSION_PATCH=0 -I../../../../include -I../../../../src -I../../../../src/glsl -I../../src/glsl -I../../../../src/glsl
> /glcpp -I../../../../src/mesa -I../../src/mesa -I../../../../src/mesa/main -I../../src/mesa/main -I../../../../src/mapi -I../../src/mapi -I../../../../src/gallium/include -I../../../../src/gallium/auxiliary -I./x86-64 -I../../../../src/mesa/x86-64 -D_FORTIFY_SOURCE=2 -I/usr/lib/llv
> m-3.6/include -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -fvisibility=hidden -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wall -Wall -std=c99 -Werror=implicit-function-declaration -Werror=missing-prototypes -fno-strict-a
> liasing -fno-builtin-memcmp -MT lex.yy.lo -MD -MP -MF .deps/lex.yy.Tpo -c ../../src/mesa/program/lex.yy.c  -fPIC -DPIC -o .libs/lex.yy.o
> ../../../../src/mesa/program/program_lexer.l:122:64: error: unknown type name 'YYSTYPE'
>  handle_ident(struct asm_parser_state *state, const char *text, YYSTYPE *lval)
>                                                                 ^
> ../../src/mesa/program/lex.yy.c:1226:5: error: unknown type name 'YYSTYPE'
>      YYSTYPE * yylval_r;
>      ^
> ../../src/mesa/program/lex.yy.c:1277:1: error: unknown type name 'YYSTYPE'
>  YYSTYPE * _mesa_program_lexer_get_lval (yyscan_t yyscanner );
>  ^
> ../../src/mesa/program/lex.yy.c:1279:36: error: unknown type name 'YYSTYPE'
>  void _mesa_program_lexer_set_lval (YYSTYPE * yylval_param ,yyscan_t yyscanner );
>                                     ^
> ../../src/mesa/program/lex.yy.c:1398:17: error: unknown type name 'YYSTYPE'
>                 (YYSTYPE * yylval_param,YYLTYPE * yylloc_param ,yyscan_t yyscanner);
>                  ^
> ../../src/mesa/program/lex.yy.c:1401:17: error: unknown type name 'YYSTYPE'
>                 (YYSTYPE * yylval_param, YYLTYPE * yylloc_param , yyscan_t yyscanner)
>                  ^
> ../../src/mesa/program/lex.yy.c:1421:1: note: in expansion of macro 'YY_DECL'
>  YY_DECL
>  ^
> ../../src/mesa/program/lex.yy.c:3475:1: error: unknown type name 'YYSTYPE'
>  YYSTYPE * _mesa_program_lexer_get_lval  (yyscan_t yyscanner)
>  ^
> ../../src/mesa/program/lex.yy.c:3481:36: error: unknown type name 'YYSTYPE'
>  void _mesa_program_lexer_set_lval (YYSTYPE *  yylval_param , yyscan_t yyscanner)
>                                     ^
> ../../src/mesa/program/lex.yy.c:2773:26: warning: 'yy_get_previous_state' defined but not used [-Wunused-function]
>      static yy_state_type yy_get_previous_state (yyscan_t yyscanner)
>                           ^
> ../../src/mesa/program/lex.yy.c:2806:26: warning: 'yy_try_NUL_trans' defined but not used [-Wunused-function]
>      static yy_state_type yy_try_NUL_trans  (yy_state_type yy_current_state , yyscan_t yyscanner)
>                           ^
> ../../src/mesa/program/lex.yy.c:2638:12: warning: 'yy_get_next_buffer' defined but not used [-Wunused-function]
>  static int yy_get_next_buffer (yyscan_t yyscanner)
>             ^
> ../../../../src/mesa/program/program_lexer.l:80:1: warning: 'mask_from_char' defined but not used [-Wunused-function]
>  mask_from_char(char c)
>  ^
> ../../../../src/mesa/program/program_lexer.l:101:1: warning: 'swiz_from_char' defined but not used [-Wunused-function]
>  swiz_from_char(char c)
>  ^
> ../../src/mesa/program/lex.yy.c:2831:17: warning: 'yyunput' defined but not used [-Wunused-function]
>      static void yyunput (int c, register char * yy_bp , yyscan_t yyscanner)


The entire build log is attached to this bug.
Comment 1 Emil Velikov 2014-09-01 14:24:51 UTC
Parallel 'make install' was never tested to work (see the release announcements).
With that aside a the following patch [1] will revert the commit and resolve the original issue in another way. Feel free to give it a try and/or drop the parallelism :)

http://lists.freedesktop.org/archives/mesa-dev/2014-September/066966.html
Comment 2 Kai 2014-09-01 14:50:02 UTC
Thanks Emil, the patch fixes the build again. You can have my
  Tested-by: Kai Wasserbäch <kai@dev.carbon-project.org>

With regards to the parallel build: I always build in parallel and consider it a valuable feature, since it speeds up build times immensely. So I hope you're not considering to drop support for parallel builds.
Comment 3 Emil Velikov 2014-09-01 15:03:37 UTC
(In reply to comment #2)
> Thanks Emil, the patch fixes the build again. You can have my
>   Tested-by: Kai Wasserbäch <kai@dev.carbon-project.org>
> 
Thanks.

> With regards to the parallel build: I always build in parallel and consider
> it a valuable feature, since it speeds up build times immensely. So I hope
> you're not considering to drop support for parallel builds.
build != install

Parallelism... I'm not planning on removing it - on the opposite. My intent is to get things properly in the automake way from 'make dist{,check}' to 'make install'. It will take some time, so feel free to chip in :)
Comment 4 Kai 2014-09-02 10:48:00 UTC
Confirmed fixed by 5a4e0f3873657d874eb5ff52819f42ea38d54b91 on master.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.