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

Marcelo Novaes via Openmp-dev openmp-dev at lists.llvm.org
Thu Aug 10 01:43:01 PDT 2017


Hello Jonas,

I am not able to answer that at least until this weekend, sorry (I am in a
rush with a strict deadline).

But I can get back to you with the answer soon.  If you need it really
soon, let me know.

best regards,
Marcelo


2017-08-10 5:31 GMT-03:00 Jonas Hahnfeld <hahnjo at hahnjo.de>:

> 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
>>
>


-- 
Best,
Marcelo
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/openmp-dev/attachments/20170810/367c15eb/attachment-0001.html>


More information about the Openmp-dev mailing list