Bug 86760 - mesa doesn't build: recipe for target 'r600_llvm.lo' failed
Summary: mesa doesn't build: recipe for target 'r600_llvm.lo' failed
Status: RESOLVED FIXED
Alias: None
Product: Mesa
Classification: Unclassified
Component: Drivers/Gallium/r600 (show other bugs)
Version: git
Hardware: x86-64 (AMD64) Linux (All)
: medium normal
Assignee: Default DRI bug account
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-11-27 01:47 UTC by Jos van Wolput
Modified: 2014-11-27 04:12 UTC (History)
2 users (show)

See Also:
i915 platform:
i915 features:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jos van Wolput 2014-11-27 01:47:59 UTC
Build failure in mesa 07ae697... (r600g: merge the TXQ and BUFFER constant buffers, committer Dave Airlie)
make ends with the following error:
-----
CC r600_llvm.lo
r600_llvm.c: In function 'llvm_emit_tex':
r600_llvm.c:26:61: error: 'R600_TXQ_CONST_BUFFER' undeclared (first use in this function)
 #define CONSTANT_TXQ_BUFFER (CONSTANT_BUFFER_0_ADDR_SPACE + R600_TXQ_CONST_BUFFER)
                                                             ^
r600_llvm.c:693:46: note: in expansion of macro 'CONSTANT_TXQ_BUFFER'
     llvm_load_const_buffer(bld_base, offset, CONSTANT_TXQ_BUFFER),
                                              ^
r600_llvm.c:26:61: note: each undeclared identifier is reported only once for each function it appears in
 #define CONSTANT_TXQ_BUFFER (CONSTANT_BUFFER_0_ADDR_SPACE + R600_TXQ_CONST_BUFFER)
                                                             ^
r600_llvm.c:693:46: note: in expansion of macro 'CONSTANT_TXQ_BUFFER'
     llvm_load_const_buffer(bld_base, offset, CONSTANT_TXQ_BUFFER),
                                              ^
Makefile:813: recipe for target 'r600_llvm.lo' failed
make[3]: *** [r600_llvm.lo] Error 1
-----
Comment 1 Alexandre Demers 2014-11-27 03:06:54 UTC
Dave, compared to your original patch (http://patchwork.freedesktop.org/patch/37363/), it seems the changes in src/gallium/drivers/r600/r600_llvm.c are missing in the commit.
Comment 2 Dave Airlie 2014-11-27 03:18:35 UTC
oops pushing fix now.
Comment 3 Jos van Wolput 2014-11-27 04:03:49 UTC
(In reply to Dave Airlie from comment #2)
> oops pushing fix now.
Dave,
it still doesn't build after your fix!
Now getting the following error (after make clean):
make
-----
  CC       r600_llvm.lo
r600_llvm.c: In function 'llvm_emit_tex':
r600_llvm.c:692:5: error: too many arguments to function 'llvm_load_const_buffer'
     llvm_load_const_buffer(bld_base, offset, LLVM_R600_BUFFER_INFO_CONST_BUFFER,
     ^
r600_llvm.c:29:21: note: declared here
 static LLVMValueRef llvm_load_const_buffer(
                     ^
r600_llvm.c:693:42: error: expected ')' before ';' token
     lp_build_const_int32(gallivm, 0), "");
                                          ^
r600_llvm.c:691:26: error: too few arguments to function 'LLVMBuildExtractElement'
    LLVMValueRef ZLayer = LLVMBuildExtractElement(gallivm->builder,
                          ^
In file included from ../../../../src/gallium/drivers/radeon/radeon_llvm.h:30:0,
                 from r600_llvm.h:7,
                 from r600_llvm.c:1:
/usr/lib/llvm-3.5/include/llvm-c/Core.h:2700:14: note: declared here
 LLVMValueRef LLVMBuildExtractElement(LLVMBuilderRef, LLVMValueRef VecVal,
              ^
r600_llvm.c:698:3: error: expected ',' or ';' before '}' token
   }
    CC       r600_llvm.lo
r600_llvm.c: In function 'llvm_emit_tex':
r600_llvm.c:692:5: error: too many arguments to function 'llvm_load_const_buffer'
     llvm_load_const_buffer(bld_base, offset, LLVM_R600_BUFFER_INFO_CONST_BUFFER,
     ^
r600_llvm.c:29:21: note: declared here
 static LLVMValueRef llvm_load_const_buffer(
                     ^
r600_llvm.c:693:42: error: expected ')' before ';' token
     lp_build_const_int32(gallivm, 0), "");
                                          ^
r600_llvm.c:691:26: error: too few arguments to function 'LLVMBuildExtractElement'
    LLVMValueRef ZLayer = LLVMBuildExtractElement(gallivm->builder,
                          ^
In file included from ../../../../src/gallium/drivers/radeon/radeon_llvm.h:30:0,
                 from r600_llvm.h:7,
                 from r600_llvm.c:1:
/usr/lib/llvm-3.5/include/llvm-c/Core.h:2700:14: note: declared here
 LLVMValueRef LLVMBuildExtractElement(LLVMBuilderRef, LLVMValueRef VecVal,
              ^
r600_llvm.c:698:3: error: expected ',' or ';' before '}' token
   }
   ^
r600_llvm.c:691:17: warning: unused variable 'ZLayer' [-Wunused-variable]
    LLVMValueRef ZLayer = LLVMBuildExtractElement(gallivm->builder,
                 ^
r600_llvm.c:701:13: error: invalid storage class for function 'emit_cndlt'
 static void emit_cndlt(
             ^
r600_llvm.c:715:13: error: invalid storage class for function 'dp_fetch_args'
 static void dp_fetch_args(
             ^
r600_llvm.c:752:2: error: initializer element is not constant
  .fetch_args = dp_fetch_args,
  ^
r600_llvm.c:752:2: error: (near initialization for 'dot_action.fetch_args')
r600_llvm.c:892:1: error: expected declaration or statement at end of input
 }
 ^
Makefile:813: recipe for target 'r600_llvm.lo' failed
make[3]: *** [r600_llvm.lo] Error 1
 ^
r600_llvm.c:691:17: warning: unused variable 'ZLayer' [-Wunused-variable]
    LLVMValueRef ZLayer = LLVMBuildExtractElement(gallivm->builder,
                 ^
r600_llvm.c:701:13: error: invalid storage class for function 'emit_cndlt'
 static void emit_cndlt(
             ^
r600_llvm.c:715:13: error: invalid storage class for function 'dp_fetch_args'
 static void dp_fetch_args(
             ^
r600_llvm.c:752:2: error: initializer element is not constant
  .fetch_args = dp_fetch_args,
  ^
r600_llvm.c:752:2: error: (near initialization for 'dot_action.fetch_args')
r600_llvm.c:892:1: error: expected declaration or statement at end of input
 }
 ^
Makefile:813: recipe for target 'r600_llvm.lo' failed
make[3]: *** [r600_llvm.lo] Error 1
-----
Comment 4 Dave Airlie 2014-11-27 04:12:19 UTC
this time for sure,

I don't advice using the llvm compiler backend for r600 btw.


bug/show.html.tmpl processed on Feb 24, 2017 at 21:53:34.
(provided by the Example extension).