[cfe-dev] Can't compile simple OpenMP code with clang 5.0.0

Керим Хемраев via cfe-dev cfe-dev at lists.llvm.org
Tue Dec 22 15:28:03 PST 2020


Hi Johannes,
 
Thank you for response
 
It seems that I don’t have   libthread. Moreover it is highly likely that omp.h and libomp.so that I used to provide as parameters to clang are not shipped with clang 5 :)
 
I think I should now forget about xeus-cling for a while and simply build the code with latest (or any) version of clang with OpenMP.
 
I’ve tried to do the following:
$ sudo apt-get install clang-10
$ sudo apt-get install libomp-5-dev
 
Now I want to find where are these packages were installed:
$ find  /usr -iname clang-10
/usr/lib/llvm-10/bin/clang-10
/usr/lib/cmake/clang-10
/usr/share/doc/clang-10
/usr/share/bash-completion/completions/clang-10
/usr/share/lintian/overrides/clang-10
/usr/bin/clang-10
 
$ find  /usr -iname libomp-10-dev
/usr/share/doc/libomp-10-dev
 
So I’m afraid that  libomp-10-dev  contains only some docs and there is no library   libomp-10-dev.so (or something)
 
Could you please guide me how to properly install clang with OpenMP that I could build my test script?
 
I’m on Ubuntu  20.04, x64
$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=20.04
DISTRIB_CODENAME=focal
DISTRIB_DESCRIPTION="Ubuntu 20.04.1 LTS"
  
>Среда, 23 декабря 2020, 0:48 +03:00 от Johannes Doerfert <johannesdoerfert at gmail.com>:
> 
>Hi Kerim,
>
>I tried to help below. Looking at xeus-cling I did not immediately see
>why clang 5 is
>required. If this doesn't work as described below, I might spend time
>trying to get it
>to run with clang 11 ;)
>
>On 12/22/20 1:57 PM, Керим Хемраев via cfe-dev wrote:
>> Hi,
>>
>> I’m struggling with compiling simple OpenMP program with clang 5.0.0.
>> Here is the code (foo.cxx):
>>
>> #include   "omp.h"
>> #include   <stdio.h>
>> int   main ( void ) {
>>    #pragma   omp   parallel
>>    printf ( "thread %d \n " ,  omp_get_thread_num ());
>> }
>>
>> As I use clang as part of xeus-cling my clang installation is inside conda packages:
>> $ which clang
>> /home/tasik/miniconda3/envs/cling/bin/clang
>>
>> As this clang package does’t have omp.h I provide additional directories to find omp.h and libomp.so
>> To compile the code I use the command:
>> $ clang -fopenmp -I/home/../usr/lib/llvm-10/include/openmp/ -L/home/../usr/lib/llvm-10/lib foo.cxx
>>
>> And I get errors:
>> /usr/bin/ld: cannot find /lib64/libpthread.so.0
>> /usr/bin/ld: cannot find /usr/lib64/libpthread_nonshared.a
>> clang-5.0: error: linker command failed with exit code 1 (use -v to see invocation)
>
>The error basically means clang looks for the libthread libraries and
>cannot find them.
>Check on you system where they are and provide the path via -L to clang.
>That might allow
>you to proceed. That said, I don't think you are able to mix clang 5 and
>llvm 10 as you
>do now. The headers and libraries clang might pick up need to be
>consistent (with the clang
>version). At least, you need to make sure `omp.h` and `libomp.so` are
>the ones shipped with
>clang 5.
>
>~ Johannes
>
>
>>
>> I really need some help to undertand how to work with clang 5.0.0 OpenMP
>> And I think that it is difficult to update clang’s version as xeus-cling requires mentioned 5.0.0 version...
>>
>>
>> With respect,
>> kerim
>>
>> _______________________________________________
>> cfe-dev mailing list
>>  cfe-dev at lists.llvm.org
>>  https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev
 
 
С уважением,
Керим Хемраев
kerim.khemraev at mail.ru
 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20201223/66400dc9/attachment.html>


More information about the cfe-dev mailing list