0

I'm trying to set up pocl-0.11 on an ARM (llvm-3.3). I used ./configure --enable-debug --disable-icd --enable-testsuites=all (I'd like to get pocl to run without ICD loader as a first step).

During configure I got a couple of warnings about disabled tests due to missing glut, libDSL, boostlib, etc. Since the warnings 'only' concern some testsuites, I assume the configure is fine and I guess some basic tests will still be enabled!? Furthermore I get the output:

checking LLC host CPU... cortex-a9 configure: using the ARM optimized kernel lib for the native device <stdin>:1:19: error: 'test' declared as an array with a negative size constant int test[sizeof(long)==8?1:-1]={1}; (Is that relevant? I don't really know what to do with this message.)

Eventually configure succeeds and make & make install run without any hint of a problem. make check then fails all tests, even: check for pocl version FAILED (testsuite.at:29) The 001/testsuite.log file indicates a linker problem!?

Do you have any idea? Am I missing a configure flag or an environment variable? I didn't touch --prefix or any other paths.

random
  • 47
  • 1
  • 7

1 Answers1

1

LLVM 3.3 is quite old and its support will be dropped after the next pocl release. The configure error message you see probably means it fails to detect your CPU features correctly, but the testsuite error indicates that not all LLVM symbols are properly linked in. You can try fixing this by using a shared LLVM library, but I really suggest you to upgrade LLVM. The upcoming 3.7 should work now and has fixed several issues and includes better OpenCL C Clang support.

  • I see. Thank you, I'll give it a shot. Somehow i thoght I even already had 3.8 compiled and installed and the pocl configure script didn't like it. But browsing around now, it seems as LLVM 3.7 is the newest version?! I don't know what I did install there... This actually made me going with an older version (3.3) to make sure it's not too new :D Okay, so I'll try 3.7 and will give feedback as soon as it's compiled and tested. (tomorrow) – random Aug 19 '15 at 07:53
  • Sorry for the delay! I finally finished compiling LLVM3.7. Make check of LLVM worked fine. So I pulled the most recent pocl version from the git repository. (Autoconfig on the ARM is too old so I exectued ./autogen.sh on another system as suggested by the error message) Configuring on the ARM worked, but compilation fails. [The output is here](http://pastebucket.com/90785). Also in my Intel VM with Lubuntu (now also LLVM 3.7) it failed at this step. (However LLVM 3.3 + pocl worked there) Thanks for your support! Although I'm running out of time and have to pause my work on the project. – random Aug 26 '15 at 08:07
  • Please add this as an issue to pocl's github at https://github.com/pocl/pocl/issues . We are currently stabilizing the 0.12 release and this seems like a regression that comes with LLVM 3.7. Please try also LLVM 3.6. – Pekka Jääskeläinen Aug 27 '15 at 09:04
  • Thanks, yes I compiled the LLVM 3.6 (this time unintentionally with clang). Pocl seems to work now, although some tests failed. (similar looking errors) I can't tell if it works now because it's LLVM 3.6 or because of compiling with clang. – random Aug 29 '15 at 09:15