[Openmp-dev] ld too old?

Jeff Hammond via Openmp-dev openmp-dev at lists.llvm.org
Thu Dec 19 17:14:15 PST 2019


Please response on the list.

You'll have to look at the Clang docs for minimum compiler versions but I
think this is a library issue and perhaps can be solved by setting
-std=c++11 or perhaps the ABI preprocess macro (
https://gcc.gnu.org/onlinedocs/libstdc++/manual/using_dual_abi.html).

Jeff

On Thu, Dec 19, 2019 at 5:09 PM Itaru Kitayama <itaru.kitayama at gmail.com>
wrote:

> are you saying for tunk Clang we need GCC 9 or higher? Clang right now
> depends on 8.3.0.
>
> On Fri, Dec 20, 2019 at 9:59 AM Jeff Hammond <jeff.science at gmail.com>
> wrote:
>
>> This likely has nothing to do with ld.  You appear to need a newer
>> compiler or, more specifically, a newer C++ standard library.
>>
>>
>> https://stackoverflow.com/questions/37004976/undefined-reference-to-processstd-cxx11basic-string-when-compiling-a and
>> similar things you can find online have details.
>>
>> Jeff
>>
>> On Thu, Dec 19, 2019 at 3:39 PM Itaru Kitayama via Openmp-dev <
>> openmp-dev at lists.llvm.org> wrote:
>>
>>> Is the ld I'm using too old? I can work around this with -fuse-ld=lld
>>> though.
>>>
>>> $ clang++ -fopenmp -fopenmp-targets=nvptx64 test.cpp
>>> /usr/local/software/jureca/Stages/2019a/software/binutils/2.32-GCCcore-8.3.0/bin/ld:
>>> /p/project/cjzam11/kitayama1/opt/clang/201912192353/bin/../lib/libomptarget.so:
>>> undefined reference to `std::__cxx11::basic_string<char,
>>> std::char_traits<char>, std::allocator<char> >::basic_string(char const*,
>>> std::allocator<char> const&)@GLIBCXX_3.4.21'
>>> /usr/local/software/jureca/Stages/2019a/software/binutils/2.32-GCCcore-8.3.0/bin/ld:
>>> /p/project/cjzam11/kitayama1/opt/clang/201912192353/bin/../lib/libomptarget.so:
>>> undefined reference to `std::__cxx11::basic_string<char,
>>> std::char_traits<char>, std::allocator<char> >::_M_create(unsigned long&,
>>> unsigned long)@GLIBCXX_3.4.21'
>>> /usr/local/software/jureca/Stages/2019a/software/binutils/2.32-GCCcore-8.3.0/bin/ld:
>>> /p/project/cjzam11/kitayama1/opt/clang/201912192353/bin/../lib/libomptarget.so:
>>> undefined reference to `std::__cxx11::basic_string<char,
>>> std::char_traits<char>, std::allocator<char> >::_M_dispose()@GLIBCXX_3.4.21'
>>> /usr/local/software/jureca/Stages/2019a/software/binutils/2.32-GCCcore-8.3.0/bin/ld:
>>> /p/project/cjzam11/kitayama1/opt/clang/201912192353/bin/../lib/libomptarget.so:
>>> undefined reference to `std::__cxx11::basic_string<char,
>>> std::char_traits<char>, std::allocator<char> >::operator=(char
>>> const*)@GLIBCXX_3.4.21'
>>> /usr/local/software/jureca/Stages/2019a/software/binutils/2.32-GCCcore-8.3.0/bin/ld:
>>> /p/project/cjzam11/kitayama1/opt/clang/201912192353/bin/../lib/libomptarget.so:
>>> undefined reference to `std::__cxx11::basic_string<char,
>>> std::char_traits<char>, std::allocator<char> >::_M_capacity(unsigned
>>> long)@GLIBCXX_3.4.21'
>>> /usr/local/software/jureca/Stages/2019a/software/binutils/2.32-GCCcore-8.3.0/bin/ld:
>>> /p/project/cjzam11/kitayama1/opt/clang/201912192353/bin/../lib/libomptarget.so:
>>> undefined reference to `std::__cxx11::basic_string<char,
>>> std::char_traits<char>, std::allocator<char> >::_M_data()
>>> const at GLIBCXX_3.4.21'
>>> /usr/local/software/jureca/Stages/2019a/software/binutils/2.32-GCCcore-8.3.0/bin/ld:
>>> /p/project/cjzam11/kitayama1/opt/clang/201912192353/bin/../lib/libomptarget.so:
>>> undefined reference to `std::__cxx11::basic_string<char,
>>> std::char_traits<char>, std::allocator<char> >::c_str() const at GLIBCXX_3.4.21
>>> '
>>> /usr/local/software/jureca/Stages/2019a/software/binutils/2.32-GCCcore-8.3.0/bin/ld:
>>> /p/project/cjzam11/kitayama1/opt/clang/201912192353/bin/../lib/libomptarget.so:
>>> undefined reference to `std::__cxx11::basic_string<char,
>>> std::char_traits<char>, std::allocator<char> >::_S_copy_chars(char*, char*,
>>> char*)@GLIBCXX_3.4.21'
>>> /usr/local/software/jureca/Stages/2019a/software/binutils/2.32-GCCcore-8.3.0/bin/ld:
>>> /p/project/cjzam11/kitayama1/opt/clang/201912192353/bin/../lib/libomptarget.so:
>>> undefined reference to `std::__cxx11::basic_string<char,
>>> std::char_traits<char>, std::allocator<char>
>>> >::_M_data(char*)@GLIBCXX_3.4.21'
>>> /usr/local/software/jureca/Stages/2019a/software/binutils/2.32-GCCcore-8.3.0/bin/ld:
>>> /p/project/cjzam11/kitayama1/opt/clang/201912192353/bin/../lib/libomptarget.so:
>>> undefined reference to `std::__cxx11::basic_string<char,
>>> std::char_traits<char>, std::allocator<char>
>>> >::_M_local_data()@GLIBCXX_3.4.21'
>>> /usr/local/software/jureca/Stages/2019a/software/binutils/2.32-GCCcore-8.3.0/bin/ld:
>>> /p/project/cjzam11/kitayama1/opt/clang/201912192353/bin/../lib/libomptarget.so:
>>> undefined reference to `std::__cxx11::basic_string<char,
>>> std::char_traits<char>, std::allocator<char>
>>> >::basic_string()@GLIBCXX_3.4.21'
>>> /usr/local/software/jureca/Stages/2019a/software/binutils/2.32-GCCcore-8.3.0/bin/ld:
>>> /p/project/cjzam11/kitayama1/opt/clang/201912192353/bin/../lib/libomptarget.so:
>>> undefined reference to `std::__cxx11::basic_string<char,
>>> std::char_traits<char>, std::allocator<char>
>>> >::~basic_string()@GLIBCXX_3.4.21'
>>> /usr/local/software/jureca/Stages/2019a/software/binutils/2.32-GCCcore-8.3.0/bin/ld:
>>> /p/project/cjzam11/kitayama1/opt/clang/201912192353/bin/../lib/libomptarget.so:
>>> undefined reference to `std::__cxx11::basic_string<char,
>>> std::char_traits<char>, std::allocator<char>
>>> >::operator=(std::__cxx11::basic_string<char, std::char_traits<char>,
>>> std::allocator<char> > const&)@GLIBCXX_3.4.21'
>>> /usr/local/software/jureca/Stages/2019a/software/binutils/2.32-GCCcore-8.3.0/bin/ld:
>>> /p/project/cjzam11/kitayama1/opt/clang/201912192353/bin/../lib/libomptarget.so:
>>> undefined reference to `std::__cxx11::basic_string<char,
>>> std::char_traits<char>, std::allocator<char> >::_M_set_length(unsigned
>>> long)@GLIBCXX_3.4.21'
>>> /usr/local/software/jureca/Stages/2019a/software/binutils/2.32-GCCcore-8.3.0/bin/ld:
>>> /p/project/cjzam11/kitayama1/opt/clang/201912192353/bin/../lib/libomptarget.so:
>>> undefined reference to `std::__cxx11::basic_string<char,
>>> std::char_traits<char>, std::allocator<char>
>>> >::_Alloc_hider::_Alloc_hider(char*, std::allocator<char>
>>> const&)@GLIBCXX_3.4.21'
>>> clang-10: error: linker command failed with exit code 1 (use -v to see
>>> invocation)
>>> _______________________________________________
>>> Openmp-dev mailing list
>>> Openmp-dev at lists.llvm.org
>>> https://lists.llvm.org/cgi-bin/mailman/listinfo/openmp-dev
>>>
>>
>>
>> --
>> Jeff Hammond
>> jeff.science at gmail.com
>> http://jeffhammond.github.io/
>>
>

-- 
Jeff Hammond
jeff.science at gmail.com
http://jeffhammond.github.io/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/openmp-dev/attachments/20191219/85a60ce6/attachment.html>


More information about the Openmp-dev mailing list