[llvm-dev] libcxx build error.

Srikanth Bemineni via llvm-dev llvm-dev at lists.llvm.org
Sat Sep 26 18:45:36 PDT 2015


Hi,

Is libcxx supported on gcc 4.4.7 which comes with CentOS 6.6. Are LLVM
releases very much constrained to the gcc version specified in the software
requirements ?
I followed the patch mentioned in this link
http://comments.gmane.org/gmane.comp.compilers.clang.scm/87139

Index: include/__config
===================================================================
--- include/__config	(revision 194869)
+++ include/__config	(working copy)
 <at>  <at>  -389,9 +389,7  <at>  <at>
 #endif

 #if _GNUC_VER < 404
-#define _LIBCPP_HAS_NO_ADVANCED_SFINAE
 #define _LIBCPP_HAS_NO_DECLTYPE
-#define _LIBCPP_HAS_NO_DEFAULTED_FUNCTIONS
 #define _LIBCPP_HAS_NO_DELETED_FUNCTIONS
 #define _LIBCPP_HAS_NO_UNICODE_CHARS
 #define _LIBCPP_HAS_NO_VARIADICS
 <at>  <at>  -402,6 +400,11  <at>  <at>
 #define _LIBCPP_HAS_NO_NULLPTR
 #endif

+#if _GNUC_VER < 407
+#define _LIBCPP_HAS_NO_ADVANCED_SFINAE
+#define _LIBCPP_HAS_NO_DEFAULTED_FUNCTIONS
+#endif
+
 #endif  // __GXX_EXPERIMENTAL_*CXX0X*__

 #define _LIBCPP_BEGIN_NAMESPACE_STD namespace std { namespace
_LIBCPP_NAMESPACE {




To get rid of the type_traits:3280 error. But I am now stuck with





[ 54%] Building CXX object
projects/libcxx/lib/CMakeFiles/cxx.dir/__/src/string.cpp.o
In file included from
/home/bemineni/llvm/llvm-3.4.2/projects/libcxx/include/memory:603,
                 from
/home/bemineni/llvm/llvm-3.4.2/projects/libcxx/include/algorithm:627,
                 from
/home/bemineni/llvm/llvm-3.4.2/projects/libcxx/include/string:439,
                 from
/home/bemineni/llvm/llvm-3.4.2/projects/libcxx/src/string.cpp:12:
/home/bemineni/llvm/llvm-3.4.2/projects/libcxx/include/tuple:461:
error: ‘std::__1::__tuple_impl<std::__1::__tuple_indices<_Indx ...>,
_Tp ...>::__tuple_impl(std::__1::__tuple_impl<std::__1::__tuple_indices<_Indx
...>, _Tp ...>&&)’ cannot be defaulted
make[2]: *** [projects/libcxx/lib/CMakeFiles/cxx.dir/__/src/string.cpp.o]
Error 1
make[1]: *** [projects/libcxx/lib/CMakeFiles/cxx.dir/all] Error 2
make: *** [all] Error 2

Srikanth Bemineni


On Sat, Sep 26, 2015 at 5:04 PM, Srikanth Bemineni <
bemineni.srikanth at gmail.com> wrote:

> Hi,
>
> I am trying to build llvm 3.4.2 on Centos 6.6. I am getting this below
> build error , while building the libcxx. I followed the build procedure
> based of http://clang.llvm.org/get_started.html. I cannot move to a
> higher version, Since we need to develop on CentOS 6.6  and LLVM 3.4.2 ,is
> the last version that supports gcc 3.4.2. Starting from LLVM 3.5.0, there
> has been a huge  jump to gcc 4.7.0.
>
> I am just starting to get acquainted to LLVM. So please bare with my
> questions.
>
> Linking CXX executable ../../bin/not
> [ 52%] Built target not
> Scanning dependencies of target yaml-bench
> [ 52%] Building CXX object
> utils/yaml-bench/CMakeFiles/yaml-bench.dir/YAMLBench.cpp.o
> Linking CXX executable ../../bin/yaml-bench
> [ 52%] Built target yaml-bench
> Scanning dependencies of target cxx
> [ 52%] Building CXX object
> projects/libcxx-3.4.2/lib/CMakeFiles/cxx.dir/__/src/string.cpp.o
> In file included from
> /home/bemineni/llvm/llvm-3.4.2/projects/libcxx-3.4.2/include/algorithm:624,
>                  from
> /home/bemineni/llvm/llvm-3.4.2/projects/libcxx-3.4.2/include/string:439,
>                  from
> /home/bemineni/llvm/llvm-3.4.2/projects/libcxx-3.4.2/src/string.cpp:12:
> /home/bemineni/llvm/llvm-3.4.2/projects/libcxx-3.4.2/include/type_traits:3280:
> error: expected primary-expression before ‘decltype’
> /home/bemineni/llvm/llvm-3.4.2/projects/libcxx-3.4.2/include/type_traits:3280:
> error: expected ‘;’ before ‘decltype’
> In file included from
> /home/bemineni/llvm/llvm-3.4.2/projects/libcxx-3.4.2/include/algorithm:626,
>                  from
> /home/bemineni/llvm/llvm-3.4.2/projects/libcxx-3.4.2/include/string:439,
>                  from
> /home/bemineni/llvm/llvm-3.4.2/projects/libcxx-3.4.2/src/string.cpp:12:
> /home/bemineni/llvm/llvm-3.4.2/projects/libcxx-3.4.2/include/utility:320:
> error: ‘std::__1::pair<_T1, _T2>::pair(std::__1::pair<_T1, _T2>&&)’ cannot
> be defaulted
> In file included from
> /home/bemineni/llvm/llvm-3.4.2/projects/libcxx-3.4.2/include/memory:603,
>                  from
> /home/bemineni/llvm/llvm-3.4.2/projects/libcxx-3.4.2/include/algorithm:627,
>                  from
> /home/bemineni/llvm/llvm-3.4.2/projects/libcxx-3.4.2/include/string:439,
>                  from
> /home/bemineni/llvm/llvm-3.4.2/projects/libcxx-3.4.2/src/string.cpp:12:
> /home/bemineni/llvm/llvm-3.4.2/projects/libcxx-3.4.2/include/tuple:461:
> error: ‘std::__1::__tuple_impl<std::__1::__tuple_indices<_Indx ...>, _Tp
> ...>::__tuple_impl(std::__1::__tuple_impl<std::__1::__tuple_indices<_Indx
> ...>, _Tp ...>&&)’ cannot be defaulted
> make[2]: ***
> [projects/libcxx-3.4.2/lib/CMakeFiles/cxx.dir/__/src/string.cpp.o] Error 1
> make[1]: *** [projects/libcxx-3.4.2/lib/CMakeFiles/cxx.dir/all] Error 2
> make: *** [all] Error 2
>
>
>
> With Regards
> Srikanth Bemineni
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150926/78f6e069/attachment.html>


More information about the llvm-dev mailing list