Bug 29620

Summary: link errors in glcpp/glcpp
Product: Mesa Reporter: David Ronis <David.Ronis>
Component: OtherAssignee: mesa-dev
Status: RESOLVED DUPLICATE QA Contact:
Severity: critical    
Priority: medium    
Version: git   
Hardware: x86 (IA32)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:

Description David Ronis 2010-08-17 12:21:34 UTC
I'm getting link errors (below) involving talloc.   I've checked and at least some of the symbols are in the libs.  I'm using gcc-4.5.1 have 2.0.3 of talloc installed.  This worked the last time I tried to build mesa (1-2 weeks ago, and samba hasn't changed here in the mean time).

Here's the log:

ar: creating libglsl.a
/usr/bin/g++ -I. -I../mesa -I../mapi -I../../include  -march=native -msse2 -mfpmath=sse -O3 -ffast-math -funroll-loops -fomit-frame-pointer -floop-interchange -floop-strip-mine -floop-block -Wall -Wmissing-prototypes -std=c99 -ffast-math -fvisibility=hidden -fno-strict-aliasing  -fPIC  -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM -D_GNU_SOURCE -DPTHREADS -DHAVE_POSIX_MEMALIGN -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER -DGLX_DIRECT_RENDERING -DGLX_INDIRECT_RENDERING -DHAVE_ALIAS -DHAVE_XCB_DRI2 -DHAVE_XEXTPROTO_71  -DFEATURE_GL=1  ../mesa/program/hash_table.o ../mesa/program/symbol_table.o main.o ../../src/glsl/libglsl.a -L/usr/local/samba/lib -ltalloc   -o glsl_compiler
/usr/bin/gcc -I. -I../mesa -I../mapi -I../../include  -march=native -msse2 -mfpmath=sse -O3 -ffast-math -funroll-loops -fomit-frame-pointer -floop-interchange -floop-strip-mine -floop-block -Wall -Wmissing-prototypes -std=c99 -ffast-math -fvisibility=hidden -fno-strict-aliasing  -fPIC  -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM -D_GNU_SOURCE -DPTHREADS -DHAVE_POSIX_MEMALIGN -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER -DGLX_DIRECT_RENDERING -DGLX_INDIRECT_RENDERING -DHAVE_ALIAS -DHAVE_XCB_DRI2 -DHAVE_XEXTPROTO_71  -DFEATURE_GL=1  glcpp/glcpp-lex.o glcpp/glcpp-parse.o glcpp/pp.o glcpp/glcpp.o ../mesa/program/hash_table.o ../../src/glsl/libglsl.a -L/usr/local/samba/lib -ltalloc   -o glcpp/glcpp
glcpp/glcpp-parse.o: In function `add_builtin_define':
glcpp-parse.c:(.text+0x587): undefined reference to `_talloc_reference'
glcpp-parse.c:(.text+0x5ff): undefined reference to `_talloc_steal'
glcpp/glcpp-parse.o: In function `_glcpp_parser_expand_token_list':
glcpp-parse.c:(.text+0x686): undefined reference to `talloc_free'
glcpp-parse.c:(.text+0x6f4): undefined reference to `talloc_free'
glcpp-parse.c:(.text+0x74e): undefined reference to `talloc_free'
glcpp-parse.c:(.text+0x80e): undefined reference to `_talloc_steal'
glcpp-parse.c:(.text+0x86b): undefined reference to `_talloc_reference'
glcpp-parse.c:(.text+0x8f4): undefined reference to `talloc_free'
glcpp-parse.c:(.text+0xaab): undefined reference to `_talloc_reference'
glcpp-parse.c:(.text+0xc5f): undefined reference to `_talloc_reference'
glcpp-parse.c:(.text+0xcee): undefined reference to `talloc_free'
glcpp-parse.c:(.text+0xf6e): undefined reference to `_talloc_reference'
glcpp-parse.c:(.text+0x107c): undefined reference to `_talloc_reference'
glcpp-parse.c:(.text+0x10ce): undefined reference to `_talloc_reference'
glcpp-parse.c:(.text+0x1137): undefined reference to `talloc_free'
glcpp-parse.c:(.text+0x147e): undefined reference to `_talloc_steal'
glcpp-parse.c:(.text+0x1597): undefined reference to `talloc_free'
glcpp-parse.c:(.text+0x1623): undefined reference to `_talloc_reference'
glcpp/glcpp-parse.o: In function `_glcpp_parser_expand_if':
glcpp-parse.c:(.text+0x1883): undefined reference to `_talloc_reference'
glcpp-parse.c:(.text+0x1976): undefined reference to `_talloc_reference'
glcpp-parse.c:(.text+0x19b1): undefined reference to `talloc_free'
glcpp-parse.c:(.text+0x19e3): undefined reference to `talloc_free'
glcpp/glcpp-parse.o: In function `.L452':
glcpp-parse.c:(.text+0x2975): undefined reference to `_talloc_steal'
glcpp/glcpp-parse.o: In function `.L450':
glcpp-parse.c:(.text+0x2a21): undefined reference to `_talloc_steal'
glcpp/glcpp-parse.o: In function `.L449':
glcpp-parse.c:(.text+0x2a7c): undefined reference to `_talloc_steal'
glcpp/glcpp-parse.o: In function `.L448':
glcpp-parse.c:(.text+0x2adf): undefined reference to `_talloc_reference'
glcpp/glcpp-parse.o: In function `.L447':
glcpp-parse.c:(.text+0x2ba9): undefined reference to `_talloc_reference'
glcpp/glcpp-parse.o: In function `.L396':
glcpp-parse.c:(.text+0x2d62): undefined reference to `talloc_free'
glcpp-parse.c:(.text+0x2dba): undefined reference to `talloc_free'
glcpp/glcpp-parse.o: In function `.L411':
glcpp-parse.c:(.text+0x2ed0): undefined reference to `talloc_free'
glcpp/glcpp-parse.o: In function `.L410':
glcpp-parse.c:(.text+0x2f49): undefined reference to `talloc_free'
glcpp/glcpp-parse.o: In function `.L406':
glcpp-parse.c:(.text+0x3010): undefined reference to `talloc_free'
glcpp/glcpp-parse.o:glcpp-parse.c:(.text+0x30ab): more undefined references to `talloc_free' follow
glcpp/glcpp-parse.o: In function `.L438':
glcpp-parse.c:(.text+0x3181): undefined reference to `_talloc_steal'
glcpp/glcpp-parse.o: In function `.L437':
glcpp-parse.c:(.text+0x321d): undefined reference to `_talloc_steal'
glcpp/glcpp-parse.o: In function `.L446':
glcpp-parse.c:(.text+0x3266): undefined reference to `_talloc_reference'
glcpp/glcpp-parse.o: In function `.L402':
glcpp-parse.c:(.text+0x3510): undefined reference to `talloc_free'
glcpp-parse.c:(.text+0x351a): undefined reference to `talloc_free'
glcpp/glcpp-parse.o: In function `.L401':
glcpp-parse.c:(.text+0x35fb): undefined reference to `_talloc_steal'
glcpp-parse.c:(.text+0x3620): undefined reference to `_talloc_steal'
glcpp/glcpp-parse.o: In function `.L400':
glcpp-parse.c:(.text+0x370d): undefined reference to `_talloc_steal'
glcpp-parse.c:(.text+0x3732): undefined reference to `_talloc_steal'
glcpp/glcpp-parse.o: In function `.L399':
glcpp-parse.c:(.text+0x3821): undefined reference to `_talloc_steal'
glcpp/glcpp-parse.o: In function `.L445':
glcpp-parse.c:(.text+0x3a2d): undefined reference to `_talloc_reference'
glcpp-parse.c:(.text+0x3a99): undefined reference to `talloc_free'
glcpp/glcpp-parse.o: In function `glcpp_parser_destroy':
glcpp-parse.c:(.text+0x40e9): undefined reference to `talloc_free'
glcpp/pp.o: In function `preprocess':
pp.c:(.text+0x65f): undefined reference to `_talloc_steal'
glcpp/glcpp.o: In function `main':
glcpp.c:(.text+0xe8): undefined reference to `talloc_free'
collect2: ld returned 1 exit status
gmake[2]: *** [glcpp/glcpp] Error 1
gmake[2]: *** Waiting for unfinished jobs....
main.o: In function `compile_shader(gl_shader*)':
main.cpp:(.text+0x399): undefined reference to `talloc_free'
main.cpp:(.text+0x3b6): undefined reference to `talloc_free'
main.o: In function `main':
main.cpp:(.text+0x847): undefined reference to `talloc_free'
main.cpp:(.text+0x85d): undefined reference to `talloc_free'
../../src/glsl/libglsl.a(pp.o): In function `preprocess':
pp.c:(.text+0x65f): undefined reference to `_talloc_steal'
../../src/glsl/libglsl.a(ast_to_hir.o): In function `ast_declarator_list::hir(exec_list*, _mesa_glsl_parse_state*)':
ast_to_hir.cpp:(.text+0x3edb): undefined reference to `talloc_free'
../../src/glsl/libglsl.a(builtin_function.o): In function `read_builtins(unsigned int, char const*, char const**, unsigned int)':
builtin_function.cpp:(.text+0x2f5): undefined reference to `talloc_free'
builtin_function.cpp:(.text+0x31f): undefined reference to `talloc_free'
../../src/glsl/libglsl.a(builtin_function.o): In function `_mesa_glsl_release_functions()':
builtin_function.cpp:(.text+0x39e): undefined reference to `talloc_free'
../../src/glsl/libglsl.a(builtin_function.o): In function `_mesa_glsl_initialize_functions(exec_list*, _mesa_glsl_parse_state*)':
builtin_function.cpp:(.text+0x7cb): undefined reference to `_talloc_steal'
builtin_function.cpp:(.text+0x813): undefined reference to `_talloc_steal'
builtin_function.cpp:(.text+0x85b): undefined reference to `_talloc_steal'
builtin_function.cpp:(.text+0x8a3): undefined reference to `_talloc_steal'
builtin_function.cpp:(.text+0x8eb): undefined reference to `_talloc_steal'
../../src/glsl/libglsl.a(builtin_function.o):builtin_function.cpp:(.text+0x933): more undefined references to `_talloc_steal' follow
../../src/glsl/libglsl.a(glsl_types.o): In function `_mesa_glsl_release_types':
glsl_types.cpp:(.text+0xdac): undefined reference to `talloc_free'
../../src/glsl/libglsl.a(glsl_types.o): In function `glsl_type::operator delete(void*)':
glsl_types.cpp:(.text._ZN9glsl_typedlEPv[glsl_type::operator delete(void*)]+0x17): undefined reference to `talloc_free'
../../src/glsl/libglsl.a(ir_constant_propagation.o): In function `do_constant_propagation(exec_list*)':
ir_constant_propagation.cpp:(.text+0xdc6): undefined reference to `talloc_free'
ir_constant_propagation.cpp:(.text+0xe0f): undefined reference to `talloc_free'
../../src/glsl/libglsl.a(ir_copy_propagation.o): In function `do_copy_propagation(exec_list*)':
ir_copy_propagation.cpp:(.text+0x944): undefined reference to `talloc_free'
../../src/glsl/libglsl.a(ir_copy_propagation.o):ir_copy_propagation.cpp:(.text+0x98d): more undefined references to `talloc_free' follow
../../src/glsl/libglsl.a(ir.o): In function `steal_memory(ir_instruction*, void*)':
ir.cpp:(.text+0xa7): undefined reference to `_talloc_steal'
../../src/glsl/libglsl.a(ir_dead_code.o): In function `do_dead_code(exec_list*)':
ir_dead_code.cpp:(.text+0x124): undefined reference to `talloc_free'
../../src/glsl/libglsl.a(ir_dead_code_local.o): In function `dead_code_local_basic_block(ir_instruction*, ir_instruction*, void*)':
ir_dead_code_local.cpp:(.text+0x2b3): undefined reference to `talloc_free'
../../src/glsl/libglsl.a(ir_dead_functions.o): In function `do_dead_functions(exec_list*)':
ir_dead_functions.cpp:(.text+0x1df): undefined reference to `talloc_free'
ir_dead_functions.cpp:(.text+0x255): undefined reference to `talloc_free'
ir_dead_functions.cpp:(.text+0x27e): undefined reference to `talloc_free'
../../src/glsl/libglsl.a(ir_reader.o):ir_reader.cpp:(.text+0x19c6): more undefined references to `talloc_free' follow
../../src/glsl/libglsl.a(glcpp-parse.o): In function `add_builtin_define':
glcpp-parse.c:(.text+0x587): undefined reference to `_talloc_reference'
glcpp-parse.c:(.text+0x5ff): undefined reference to `_talloc_steal'
../../src/glsl/libglsl.a(glcpp-parse.o): In function `_glcpp_parser_expand_token_list':
glcpp-parse.c:(.text+0x686): undefined reference to `talloc_free'
glcpp-parse.c:(.text+0x6f4): undefined reference to `talloc_free'
glcpp-parse.c:(.text+0x74e): undefined reference to `talloc_free'
glcpp-parse.c:(.text+0x80e): undefined reference to `_talloc_steal'
glcpp-parse.c:(.text+0x86b): undefined reference to `_talloc_reference'
glcpp-parse.c:(.text+0x8f4): undefined reference to `talloc_free'
glcpp-parse.c:(.text+0xaab): undefined reference to `_talloc_reference'
glcpp-parse.c:(.text+0xc5f): undefined reference to `_talloc_reference'
glcpp-parse.c:(.text+0xcee): undefined reference to `talloc_free'
glcpp-parse.c:(.text+0xf6e): undefined reference to `_talloc_reference'
glcpp-parse.c:(.text+0x107c): undefined reference to `_talloc_reference'
glcpp-parse.c:(.text+0x10ce): undefined reference to `_talloc_reference'
glcpp-parse.c:(.text+0x1137): undefined reference to `talloc_free'
glcpp-parse.c:(.text+0x147e): undefined reference to `_talloc_steal'

etc.
Comment 1 Eric Anholt 2010-08-25 12:44:22 UTC
You have some odd version talloc in /usr/local/samba/lib perhaps?
Comment 2 David Ronis 2010-08-25 12:58:38 UTC
The problem is that TALLOC_CFLAGS aren't being set properly.  See bug 29789.
Comment 3 Eric Anholt 2011-04-12 10:10:59 UTC

*** This bug has been marked as a duplicate of bug 29789 ***

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.