[Openmp-dev] [cfe-dev] Error building openmp 3.1 on clang 3.7

Jonas Hahnfeld via Openmp-dev openmp-dev at lists.llvm.org
Thu Aug 10 01:31:24 PDT 2017


Hi Marcelo,

so does this need to be fixed in the source or has that already happened 
for newer versions?

Thanks,
Jonas

Am 2017-08-10 10:27, schrieb Marcelo Novaes:
> Hi Jonas,
> 
> I've figured it out and forgot to reply here.
> 
> Anyways, thank you for the reply!
> 
> best
> 
> --
> Solution: added ffi dynamic lib inside the openmp/src/CMakeLists.txt.
> Then, built openmp (make sure the binary once compiled is linked with
> the correct omp, not gomp (from gcc) checking via ldd).
> 
> 2017-08-10 4:12 GMT-03:00 Jonas Hahnfeld <hahnjo at hahnjo.de>:
> 
>> Hi,
>> 
>> +openmp-dev for discussion about the runtime.
>> 
>> 3.7 is quite old, do you see the same problem with 4.0.1? There
>> might be some patches in that fixed the build for ARM.
>> 
>> Regards,
>> Jonas
>> 
>> Am 2017-08-09 19:15, schrieb Marcelo Novaes via cfe-dev:
>> 
>>> Hi all,
>>> 
>>> Should I be able to use OpenMP 3.1 using Clang 3.7 on  LLVM 3.7 on
>>> an
>>> ARM board with a Linux 3.10.63+?
>>> 
>>> I've built the llvm 3.7 with clang 3.7 successfully, but it didn't
>>> generate omp dynamic lib. I'm getting an error when I try to do a
>>> "make" inside of my build/projects/openmp.
>>> 
>>> Linking C shared library ../../../../lib/libomp.so
>>> CMakeFiles/omp.dir/z_Linux_util.c.o: In function
>>> `__kmp_invoke_microtask':
>>> z_Linux_util.c:(.text.__kmp_invoke_microtask+0x9e): undefined
>>> reference to `ffi_prep_cif'
>>> z_Linux_util.c:(.text.__kmp_invoke_microtask+0xac): undefined
>>> reference to `ffi_call'
>>> z_Linux_util.c:(.text.__kmp_invoke_microtask+0xd4): undefined
>>> reference to `ffi_type_pointer'
>>> z_Linux_util.c:(.text.__kmp_invoke_microtask+0xd8): undefined
>>> reference to `ffi_type_void'
>>> collect2: error: ld returned 1 exit status
>>> make[2]: *** [lib/libomp.so] Error 1
>>> 
>>> However, I have libffi linked, it didn't help.
>>> 
>>> I want to generate a dyn lib I can call, I was calling a dyn from
>>> my
>>> gcc, but clang was not able to execute multi thread code compiled
>>> with
>>> the gcc's dynamic lib (it basically ignored the pragmas).
>>> _______________________________________________
>>> cfe-dev mailing list
>>> cfe-dev at lists.llvm.org
>>> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev [1]
> 
> --
> 
> Best,
> Marcelo
> 
> Links:
> ------
> [1] http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev


More information about the Openmp-dev mailing list