[llvm-dev] llvm build failed while Linking CXX shared library ../../../lib/libc++.so

Ioannis Koukoulis via llvm-dev llvm-dev at lists.llvm.org
Wed Mar 30 01:48:55 PDT 2016


FIXED!
Dimitry thank you for your advice!
To formalize it a bit.
In order to build  Clang Static Analyzer <http://clang-analyzer.llvm.org/>
one does not need to download the libcxx, or compiler-rt (as long as he has
a native version of a libc eg glibc) as instructed by the following link
http://clang.llvm.org/get_started.html#build.

Notice: The latter link should maybe be amended to reflect that Clang
Static Analyzer fails if all the components are installed. That is prudent,
as the fromer link ultimately redirects to the latter for building
instructions.



Ioannis Koukoulis

On 29 March 2016 at 11:11, Ioannis Koukoulis <i.g.koukoulis at gmail.com>
wrote:

> Hi Dimitry, this definitely worked. I am passed by the linking errors
> regarding libc++ or similar. My build stopped now at 95% while linking a
> clang extra, I am not pretty sure which because i do not have my laptop,
> possible the clang-rename, if such exists.
> No undefined references here, however, my hdd's free space run out, so
> this might be the cause. I have to move or expand now, alas!! The build is
> too big.
> I will keep you posted as soon as i'll get down to it. Thank you so far.
>
>
>
>
>
> Ioannis Koukoulis
>
> On 29 March 2016 at 00:31, Dimitry Andric <dimitry at andric.com> wrote:
>
>> Hi Ioannis,
>>
>> Just delete the projects/libcxx directory, then rebuild from scratch.
>> You should only need to checkout llvm (in the top level directory) and cfe
>> (into the tools/clang subdirectory).
>>
>> -Dimitry
>>
>> On 29 Mar 2016, at 00:08, Ioannis Koukoulis <i.g.koukoulis at gmail.com>
>> wrote:
>>
>> Hi Dimitry,
>>
>> I do not particularly need to build libc++ from the package. Is the name
>> of the package's libc++, libcxx, because this is where the installation
>> starts finding undefined references, during linking CXX shared library
>> ../../../lib/libc++.so. Please check below the first part of the log when
>> the first error appear, I omited repeating results. Furthermore, the
>> undefined references are thousands!
>> If you say that libc++ is not need it how can I skip it's interference.
>> Shall I check out the package again without the particular libc++, of
>> invoke cmake with a particular parameter?
>>
>>
>> .
>> .
>> [ 52%] Built target gtest
>> [ 52%] Built target gtest_main
>> Linking CXX shared library ../../../lib/libc++.so
>> CMakeFiles/cxx.dir/__/src/ios.cpp.o: In function
>> `std::__1::iostream_category()':
>> /opt/llvm/llvm/projects/libcxx/src/ios.cpp:71: undefined reference to
>> `__cxa_guard_acquire'
>> /opt/llvm/llvm/projects/libcxx/src/ios.cpp:71: undefined reference to
>> `__cxa_guard_release'
>> CMakeFiles/cxx.dir/__/src/ios.cpp.o: In function
>> `std::__1::ios_base::clear(unsigned int)':
>> CMakeFiles/cxx.dir/__/src/ios.cpp.o: In function
>> `std::__1::basic_istream<char, std::__1::char_traits<char>
>> >::operator>>(std::__1::basic_streambuf<char, std::__1::char_traits<char>
>> >*)':
>> /opt/llvm/llvm/projects/libcxx/include/istream:900: undefined reference
>> to `__cxa_begin_catch'
>> /opt/llvm/llvm/projects/libcxx/include/istream:900: undefined reference
>> to `__cxa_end_catch'
>> .
>> .
>> .
>>
>> Best
>>
>>
>>
>>
>> Ioannis Koukoulis
>>
>> On 27 March 2016 at 00:22, Dimitry Andric <dimitry at andric.com> wrote:
>>
>>> Hi Ioannis,
>>>
>>> If you only want the clang static analyzer, there is no need to check
>>> out and build libc++ as part of the process.  The rest of the build can
>>> just use the system C++ library, which will be libstdc++ on Xubuntu.
>>>
>>> That said, without the full build log, it is hard to say what went
>>> wrong.  Specifically, which references were undefined?
>>>
>>> -Dimitry
>>>
>>> > On 26 Mar 2016, at 16:04, Ioannis Koukoulis via llvm-dev <
>>> llvm-dev at lists.llvm.org> wrote:
>>> >
>>> > Hello everybody,
>>> >
>>> > I am very new to llvm and I am struggling to install it on my 15.10
>>> Xubuntu with kernel 4.2.0-34-generic #39-Ubuntu SMP x86_64 GNU/Linux.
>>> >
>>> > I essentially intend to use the clang static analyzer, but it seems
>>> that I have to build it on top of llvm and clang.
>>> >
>>> > Unfortunately I run into the following problem.
>>> > CXX shared library ../../../lib/libc++.so
>>> > at around 52% of the procedure (while building target gtest_main)
>>> > followed by a handful of undefined references
>>> >
>>> > the last lines consist of the following messages:
>>> > collect2: error: ld returned 1 exit status
>>> > projects/libcxx/lib/CMakeFiles/cxx.dir/build.make:735: recipe for
>>> target 'lib/libc++.so.1.0' failed
>>> > make[2]: *** [lib/libc++.so.1.0] Error 1
>>> > CMakeFiles/Makefile2:11552: recipe for target
>>> 'projects/libcxx/lib/CMakeFiles/cxx.dir/all' failed
>>> > make[1]: *** [projects/libcxx/lib/CMakeFiles/cxx.dir/all] Error 2
>>> > Makefile:136: recipe for target 'all' failed
>>> > make: *** [all] Error 2
>>> >
>>> > Can someone please help me go further?
>>> >
>>> >
>>> > _______________________________________________
>>> > LLVM Developers mailing list
>>> > llvm-dev at lists.llvm.org
>>> > http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>>>
>>>
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20160330/7fa99f43/attachment.html>


More information about the llvm-dev mailing list