Re: [AMBER-Developers] std=c++0x

From: Ben Roberts <ben.roberts.geek.nz>
Date: Tue, 22 Feb 2011 15:56:18 -0500

Hi Dan,

On 21/2/2011, at 11:21 p.m., Daniel Roe wrote:

> Hi,
>
> On Mon, Feb 21, 2011 at 9:06 PM, Ben Roberts <ben.roberts.geek.nz> wrote:
>> I noticed that someone added this option to the C++ flags recently. Unfortunately, it seems to cause issues, at least when building with the Intel compilers on the Mac. Reduce and gleap, at least, don't take kindly to it.
>
> This was from me. It was one of two things I found necessary for
> compilation with the latest intel compilers (v12). I sent a note about
> it earlier (here are the Cliff's notes):
>
> 1) The '-shared-intel' flag is needed during fortran (maybe also C,but
> definitely fortran) link steps for dynamic linking of libraries
> (http://archive.ambermd.org/201012/0085.html).
> 2) The '-std=c++0x' flag is needed during compilation of c++ files
> that include <iomanip> when the header files belong to gnu > 4.4
> (http://software.intel.com/en-us/forums/showthread.php?t=78677&p=1&wapkw=%28Multi+Threading+.NET*+Environment%29).
>
> Seeing as how #2 is a very specific case there could either be a flag
> to turn it on if necessary (or turn it off if you're on a Mac or
> something).
>
> I'm curious as to what issues come up. What exactly fails, and what
> version of icc/icpc (and what version headers are being accessed)? I'm
> wondering if this is compiler or architecture specific. On my fedora14
> box with intel 12.0 and gnu headers 4.5.1 the -std=c++0x was necessary
> for compilation.
>
>> Given how close we are to the impending release of AT, is it worth taking that option out for the moment?
>
> I'm more for figuring out how to make it so that AT will compile with
> the v12 compilers, but if people don't think it's worth it I'm not
> going to lose any sleep over it.

I'll see if I can figure out what's going on at this end. I've attached the parts of the build log that failed at reduce, where the first failure occurred.

The issues seem to arise from certain of the gcc-4.4 headers. I'm downloading and installing the MacPorts gcc-4.5 now to see if that makes a difference.

Ben

icpc -O -DCHARFUNCMACROS -DINCTEMPLATEDEFNS -DBOOLPREDEFINED -DBRACKETOPERPARMS -DLISTFRIENDFIX -std=c++0x -Wall -c Point3d.cpp -o Point3d.o
/opt/local/include/gcc44/c++/bits/stringfwd.h(67): error: identifier "char16_t" is undefined
    template<> struct char_traits<char16_t>;
                                  ^

/opt/local/include/gcc44/c++/bits/stringfwd.h(68): error: identifier "char32_t" is undefined
    template<> struct char_traits<char32_t>;
                                  ^

/opt/local/include/gcc44/c++/bits/stringfwd.h(70): error: identifier "char16_t" is undefined
    typedef basic_string<char16_t> u16string;
                         ^

/opt/local/include/gcc44/c++/bits/stringfwd.h(71): error: identifier "char32_t" is undefined
    typedef basic_string<char32_t> u32string;
                         ^

/opt/local/include/gcc44/c++/exception_ptr.h(112): error: copy constructor for class "std::__exception_ptr::exception_ptr" may not have a parameter of type "std::__exception_ptr::exception_ptr"
        exception_ptr(exception_ptr&& __o) throw()
                      ^

/opt/local/include/gcc44/c++/exception_ptr.h(112): error: expected a ")"
        exception_ptr(exception_ptr&& __o) throw()
                                   ^

/opt/local/include/gcc44/c++/exception_ptr.h(122): error: expected a ")"
        operator=(exception_ptr&& __o) throw()
                               ^

/opt/local/include/gcc44/c++/exception_ptr.h(143): error: identifier "type_info" is undefined
        const type_info*
              ^

/opt/local/include/gcc44/c++/exception_ptr.h(113): error: identifier "__o" is undefined
        : _M_exception_object(__o._M_exception_object)
                              ^

/opt/local/include/gcc44/c++/exception_ptr.h(124): error: expected a ">"
          exception_ptr(static_cast<exception_ptr&&>(__o)).swap(*this);
                                                 ^

/opt/local/include/gcc44/c++/exception_ptr.h(124): error: identifier "__o" is undefined
          exception_ptr(static_cast<exception_ptr&&>(__o)).swap(*this);
                                                     ^

/opt/local/include/gcc44/c++/bits/cpp_type_traits.h(180): error: identifier "char16_t" is undefined
      struct __is_integer<char16_t>
                          ^

/opt/local/include/gcc44/c++/bits/cpp_type_traits.h(187): error: identifier "char32_t" is undefined
      struct __is_integer<char32_t>
                          ^

/opt/local/include/gcc44/c++/bits/cpp_type_traits.h(187): error: class "std::__is_integer<<error-type>>" has already been defined
      struct __is_integer<char32_t>
             ^

/opt/local/include/gcc44/c++/tr1_impl/type_traits(112): error: identifier "char16_t" is undefined
    _DEFINE_SPEC(0, __is_integral_helper, char16_t, true)
    ^

/opt/local/include/gcc44/c++/tr1_impl/type_traits(113): error: identifier "char32_t" is undefined
    _DEFINE_SPEC(0, __is_integral_helper, char32_t, true)
    ^

/opt/local/include/gcc44/c++/tr1_impl/type_traits(113): error: class "std::__is_integral_helper<<error-type>>" has already been defined
    _DEFINE_SPEC(0, __is_integral_helper, char32_t, true)
    ^

/opt/local/include/gcc44/c++/tr1_impl/type_traits(226): error: expected an identifier
    template<typename _Res, typename... _ArgTypes>
                                    ^

/opt/local/include/gcc44/c++/tr1_impl/type_traits(227): error: expected a ")"
      struct is_function<_Res(_ArgTypes...)>
                              ^

/opt/local/include/gcc44/c++/tr1_impl/type_traits(227): error: a template argument list is not allowed in a declaration of a primary template
      struct is_function<_Res(_ArgTypes...)>
             ^

/opt/local/include/gcc44/c++/tr1_impl/type_traits(229): error: expected an identifier
    template<typename _Res, typename... _ArgTypes>
                                    ^

/opt/local/include/gcc44/c++/tr1_impl/type_traits(230): error: expected a ")"
      struct is_function<_Res(_ArgTypes......)>
                              ^

/opt/local/include/gcc44/c++/tr1_impl/type_traits(230): error: a template argument list is not allowed in a declaration of a primary template
      struct is_function<_Res(_ArgTypes......)>
             ^

/opt/local/include/gcc44/c++/tr1_impl/type_traits(232): error: expected an identifier
    template<typename _Res, typename... _ArgTypes>
                                    ^

/opt/local/include/gcc44/c++/tr1_impl/type_traits(233): error: expected a ")"
      struct is_function<_Res(_ArgTypes...) const>
                              ^

/opt/local/include/gcc44/c++/tr1_impl/type_traits(233): error: expected a ">"
      struct is_function<_Res(_ArgTypes...) const>
                                            ^

/opt/local/include/gcc44/c++/tr1_impl/type_traits(235): error: expected an identifier
    template<typename _Res, typename... _ArgTypes>
                                    ^

/opt/local/include/gcc44/c++/tr1_impl/type_traits(236): error: expected a ")"
      struct is_function<_Res(_ArgTypes......) const>
                              ^

/opt/local/include/gcc44/c++/tr1_impl/type_traits(236): error: expected a ">"
      struct is_function<_Res(_ArgTypes......) const>
                                               ^

/opt/local/include/gcc44/c++/tr1_impl/type_traits(238): error: expected an identifier
    template<typename _Res, typename... _ArgTypes>
                                    ^

/opt/local/include/gcc44/c++/tr1_impl/type_traits(239): error: expected a ")"
      struct is_function<_Res(_ArgTypes...) volatile>
                              ^

/opt/local/include/gcc44/c++/tr1_impl/type_traits(239): error: expected a ">"
      struct is_function<_Res(_ArgTypes...) volatile>
                                            ^

/opt/local/include/gcc44/c++/tr1_impl/type_traits(241): error: expected an identifier
    template<typename _Res, typename... _ArgTypes>
                                    ^

/opt/local/include/gcc44/c++/tr1_impl/type_traits(242): error: expected a ")"
      struct is_function<_Res(_ArgTypes......) volatile>
                              ^

/opt/local/include/gcc44/c++/tr1_impl/type_traits(242): error: expected a ">"
      struct is_function<_Res(_ArgTypes......) volatile>
                                               ^

/opt/local/include/gcc44/c++/tr1_impl/type_traits(244): error: expected an identifier
    template<typename _Res, typename... _ArgTypes>
                                    ^

/opt/local/include/gcc44/c++/tr1_impl/type_traits(245): error: expected a ")"
      struct is_function<_Res(_ArgTypes...) const volatile>
                              ^

/opt/local/include/gcc44/c++/tr1_impl/type_traits(245): error: expected a ">"
      struct is_function<_Res(_ArgTypes...) const volatile>
                                            ^

/opt/local/include/gcc44/c++/tr1_impl/type_traits(247): error: expected an identifier
    template<typename _Res, typename... _ArgTypes>
                                    ^

/opt/local/include/gcc44/c++/tr1_impl/type_traits(248): error: expected a ")"
      struct is_function<_Res(_ArgTypes......) const volatile>
                              ^

/opt/local/include/gcc44/c++/tr1_impl/type_traits(248): error: expected a ">"
      struct is_function<_Res(_ArgTypes......) const volatile>
                                               ^

/opt/local/include/gcc44/c++/type_traits(81): error: expected a ">"
      struct is_rvalue_reference<_Tp&&>
                                    ^

/opt/local/include/gcc44/c++/type_traits(105): error: expected a ">"
      struct remove_reference<_Tp&&>
                                 ^

/opt/local/include/gcc44/c++/type_traits(135): catastrophic error: rvalue references not yet implemented
      { typedef _Tp&& type; };
                   ^

compilation aborted for Point3d.cpp (code 4)
make[2]: *** [Point3d.o] Error 4
installing ./libpdb...
icpc -O -DBOOLPREDEFINED -DHASSSCANFEXTERN -std=c++0x -Wall -c pdb_read.cpp -o pdb_read.o
/opt/local/include/gcc44/c++/bits/stringfwd.h(67): error: identifier "char16_t" is undefined
    template<> struct char_traits<char16_t>;
                                  ^

/opt/local/include/gcc44/c++/bits/stringfwd.h(68): error: identifier "char32_t" is undefined
    template<> struct char_traits<char32_t>;
                                  ^

/opt/local/include/gcc44/c++/bits/stringfwd.h(70): error: identifier "char16_t" is undefined
    typedef basic_string<char16_t> u16string;
                         ^

/opt/local/include/gcc44/c++/bits/stringfwd.h(71): error: identifier "char32_t" is undefined
    typedef basic_string<char32_t> u32string;
                         ^

/opt/local/include/gcc44/c++/exception_ptr.h(112): error: copy constructor for class "std::__exception_ptr::exception_ptr" may not have a parameter of type "std::__exception_ptr::exception_ptr"
        exception_ptr(exception_ptr&& __o) throw()
                      ^

/opt/local/include/gcc44/c++/exception_ptr.h(112): error: expected a ")"
        exception_ptr(exception_ptr&& __o) throw()
                                   ^

/opt/local/include/gcc44/c++/exception_ptr.h(122): error: expected a ")"
        operator=(exception_ptr&& __o) throw()
                               ^

/opt/local/include/gcc44/c++/exception_ptr.h(143): error: identifier "type_info" is undefined
        const type_info*
              ^

/opt/local/include/gcc44/c++/exception_ptr.h(113): error: identifier "__o" is undefined
        : _M_exception_object(__o._M_exception_object)
                              ^

/opt/local/include/gcc44/c++/exception_ptr.h(124): error: expected a ">"
          exception_ptr(static_cast<exception_ptr&&>(__o)).swap(*this);
                                                 ^

/opt/local/include/gcc44/c++/exception_ptr.h(124): error: identifier "__o" is undefined
          exception_ptr(static_cast<exception_ptr&&>(__o)).swap(*this);
                                                     ^

/opt/local/include/gcc44/c++/bits/cpp_type_traits.h(180): error: identifier "char16_t" is undefined
      struct __is_integer<char16_t>
                          ^

/opt/local/include/gcc44/c++/bits/cpp_type_traits.h(187): error: identifier "char32_t" is undefined
      struct __is_integer<char32_t>
                          ^

/opt/local/include/gcc44/c++/bits/cpp_type_traits.h(187): error: class "std::__is_integer<<error-type>>" has already been defined
      struct __is_integer<char32_t>
             ^

/opt/local/include/gcc44/c++/tr1_impl/type_traits(112): error: identifier "char16_t" is undefined
    _DEFINE_SPEC(0, __is_integral_helper, char16_t, true)
    ^

/opt/local/include/gcc44/c++/tr1_impl/type_traits(113): error: identifier "char32_t" is undefined
    _DEFINE_SPEC(0, __is_integral_helper, char32_t, true)
    ^

/opt/local/include/gcc44/c++/tr1_impl/type_traits(113): error: class "std::__is_integral_helper<<error-type>>" has already been defined
    _DEFINE_SPEC(0, __is_integral_helper, char32_t, true)
    ^

/opt/local/include/gcc44/c++/tr1_impl/type_traits(226): error: expected an identifier
    template<typename _Res, typename... _ArgTypes>
                                    ^

/opt/local/include/gcc44/c++/tr1_impl/type_traits(227): error: expected a ")"
      struct is_function<_Res(_ArgTypes...)>
                              ^

/opt/local/include/gcc44/c++/tr1_impl/type_traits(227): error: a template argument list is not allowed in a declaration of a primary template
      struct is_function<_Res(_ArgTypes...)>
             ^

/opt/local/include/gcc44/c++/tr1_impl/type_traits(229): error: expected an identifier
    template<typename _Res, typename... _ArgTypes>
                                    ^

/opt/local/include/gcc44/c++/tr1_impl/type_traits(230): error: expected a ")"
      struct is_function<_Res(_ArgTypes......)>
                              ^

/opt/local/include/gcc44/c++/tr1_impl/type_traits(230): error: a template argument list is not allowed in a declaration of a primary template
      struct is_function<_Res(_ArgTypes......)>
             ^

/opt/local/include/gcc44/c++/tr1_impl/type_traits(232): error: expected an identifier
    template<typename _Res, typename... _ArgTypes>
                                    ^

/opt/local/include/gcc44/c++/tr1_impl/type_traits(233): error: expected a ")"
      struct is_function<_Res(_ArgTypes...) const>
                              ^

/opt/local/include/gcc44/c++/tr1_impl/type_traits(233): error: expected a ">"
      struct is_function<_Res(_ArgTypes...) const>
                                            ^

/opt/local/include/gcc44/c++/tr1_impl/type_traits(235): error: expected an identifier
    template<typename _Res, typename... _ArgTypes>
                                    ^

/opt/local/include/gcc44/c++/tr1_impl/type_traits(236): error: expected a ")"
      struct is_function<_Res(_ArgTypes......) const>
                              ^

/opt/local/include/gcc44/c++/tr1_impl/type_traits(236): error: expected a ">"
      struct is_function<_Res(_ArgTypes......) const>
                                               ^

/opt/local/include/gcc44/c++/tr1_impl/type_traits(238): error: expected an identifier
    template<typename _Res, typename... _ArgTypes>
                                    ^

/opt/local/include/gcc44/c++/tr1_impl/type_traits(239): error: expected a ")"
      struct is_function<_Res(_ArgTypes...) volatile>
                              ^

/opt/local/include/gcc44/c++/tr1_impl/type_traits(239): error: expected a ">"
      struct is_function<_Res(_ArgTypes...) volatile>
                                            ^

/opt/local/include/gcc44/c++/tr1_impl/type_traits(241): error: expected an identifier
    template<typename _Res, typename... _ArgTypes>
                                    ^

/opt/local/include/gcc44/c++/tr1_impl/type_traits(242): error: expected a ")"
      struct is_function<_Res(_ArgTypes......) volatile>
                              ^

/opt/local/include/gcc44/c++/tr1_impl/type_traits(242): error: expected a ">"
      struct is_function<_Res(_ArgTypes......) volatile>
                                               ^

/opt/local/include/gcc44/c++/tr1_impl/type_traits(244): error: expected an identifier
    template<typename _Res, typename... _ArgTypes>
                                    ^

/opt/local/include/gcc44/c++/tr1_impl/type_traits(245): error: expected a ")"
      struct is_function<_Res(_ArgTypes...) const volatile>
                              ^

/opt/local/include/gcc44/c++/tr1_impl/type_traits(245): error: expected a ">"
      struct is_function<_Res(_ArgTypes...) const volatile>
                                            ^

/opt/local/include/gcc44/c++/tr1_impl/type_traits(247): error: expected an identifier
    template<typename _Res, typename... _ArgTypes>
                                    ^

/opt/local/include/gcc44/c++/tr1_impl/type_traits(248): error: expected a ")"
      struct is_function<_Res(_ArgTypes......) const volatile>
                              ^

/opt/local/include/gcc44/c++/tr1_impl/type_traits(248): error: expected a ">"
      struct is_function<_Res(_ArgTypes......) const volatile>
                                               ^

/opt/local/include/gcc44/c++/type_traits(81): error: expected a ">"
      struct is_rvalue_reference<_Tp&&>
                                    ^

/opt/local/include/gcc44/c++/type_traits(105): error: expected a ">"
      struct remove_reference<_Tp&&>
                                 ^

/opt/local/include/gcc44/c++/type_traits(135): catastrophic error: rvalue references not yet implemented
      { typedef _Tp&& type; };
                   ^

compilation aborted for pdb_read.cpp (code 4)
make[2]: *** [pdb_read.o] Error 4
installing ./reduce_src...
icpc -c -O3 -DAROMATICS_ACCEPT_HBONDS -DCHARFUNCMACROS -DBOOLPREDEFINED -DBRACKETOPERPARMS -DLEFT_JUSTIFY_NUC_RES_OK -DLISTFRIENDFIX -DINCTEMPLATEDEFNS -DHET_DICTIONARY='"/Volumes/Work/Code/amber-devel/dat/reduce_wwPDB_het_dict.txt"' -I../libpdb -I../toolclasses -std=c++0x -Wall -o GraphToHoldScores.o GraphToHoldScores.cpp
/opt/local/include/gcc44/c++/bits/cpp_type_traits.h(180): error: identifier "char16_t" is undefined
      struct __is_integer<char16_t>
                          ^

/opt/local/include/gcc44/c++/bits/cpp_type_traits.h(187): error: identifier "char32_t" is undefined
      struct __is_integer<char32_t>
                          ^

/opt/local/include/gcc44/c++/bits/cpp_type_traits.h(187): error: class "std::__is_integer<<error-type>>" has already been defined
      struct __is_integer<char32_t>
             ^

/opt/local/include/gcc44/c++/tr1_impl/type_traits(112): error: identifier "char16_t" is undefined
    _DEFINE_SPEC(0, __is_integral_helper, char16_t, true)
    ^

/opt/local/include/gcc44/c++/tr1_impl/type_traits(113): error: identifier "char32_t" is undefined
    _DEFINE_SPEC(0, __is_integral_helper, char32_t, true)
    ^

/opt/local/include/gcc44/c++/tr1_impl/type_traits(113): error: class "std::__is_integral_helper<<error-type>>" has already been defined
    _DEFINE_SPEC(0, __is_integral_helper, char32_t, true)
    ^

/opt/local/include/gcc44/c++/tr1_impl/type_traits(226): error: expected an identifier
    template<typename _Res, typename... _ArgTypes>
                                    ^

/opt/local/include/gcc44/c++/tr1_impl/type_traits(227): error: expected a ")"
      struct is_function<_Res(_ArgTypes...)>
                              ^

/opt/local/include/gcc44/c++/tr1_impl/type_traits(227): error: a template argument list is not allowed in a declaration of a primary template
      struct is_function<_Res(_ArgTypes...)>
             ^

/opt/local/include/gcc44/c++/tr1_impl/type_traits(229): error: expected an identifier
    template<typename _Res, typename... _ArgTypes>
                                    ^

/opt/local/include/gcc44/c++/tr1_impl/type_traits(230): error: expected a ")"
      struct is_function<_Res(_ArgTypes......)>
                              ^

/opt/local/include/gcc44/c++/tr1_impl/type_traits(230): error: a template argument list is not allowed in a declaration of a primary template
      struct is_function<_Res(_ArgTypes......)>
             ^

/opt/local/include/gcc44/c++/tr1_impl/type_traits(232): error: expected an identifier
    template<typename _Res, typename... _ArgTypes>
                                    ^

/opt/local/include/gcc44/c++/tr1_impl/type_traits(233): error: expected a ")"
      struct is_function<_Res(_ArgTypes...) const>
                              ^

/opt/local/include/gcc44/c++/tr1_impl/type_traits(233): error: expected a ">"
      struct is_function<_Res(_ArgTypes...) const>
                                            ^

/opt/local/include/gcc44/c++/tr1_impl/type_traits(235): error: expected an identifier
    template<typename _Res, typename... _ArgTypes>
                                    ^

/opt/local/include/gcc44/c++/tr1_impl/type_traits(236): error: expected a ")"
      struct is_function<_Res(_ArgTypes......) const>
                              ^

/opt/local/include/gcc44/c++/tr1_impl/type_traits(236): error: expected a ">"
      struct is_function<_Res(_ArgTypes......) const>
                                               ^

/opt/local/include/gcc44/c++/tr1_impl/type_traits(238): error: expected an identifier
    template<typename _Res, typename... _ArgTypes>
                                    ^

/opt/local/include/gcc44/c++/tr1_impl/type_traits(239): error: expected a ")"
      struct is_function<_Res(_ArgTypes...) volatile>
                              ^

/opt/local/include/gcc44/c++/tr1_impl/type_traits(239): error: expected a ">"
      struct is_function<_Res(_ArgTypes...) volatile>
                                            ^

/opt/local/include/gcc44/c++/tr1_impl/type_traits(241): error: expected an identifier
    template<typename _Res, typename... _ArgTypes>
                                    ^

/opt/local/include/gcc44/c++/tr1_impl/type_traits(242): error: expected a ")"
      struct is_function<_Res(_ArgTypes......) volatile>
                              ^

/opt/local/include/gcc44/c++/tr1_impl/type_traits(242): error: expected a ">"
      struct is_function<_Res(_ArgTypes......) volatile>
                                               ^

/opt/local/include/gcc44/c++/tr1_impl/type_traits(244): error: expected an identifier
    template<typename _Res, typename... _ArgTypes>
                                    ^

/opt/local/include/gcc44/c++/tr1_impl/type_traits(245): error: expected a ")"
      struct is_function<_Res(_ArgTypes...) const volatile>
                              ^

/opt/local/include/gcc44/c++/tr1_impl/type_traits(245): error: expected a ">"
      struct is_function<_Res(_ArgTypes...) const volatile>
                                            ^

/opt/local/include/gcc44/c++/tr1_impl/type_traits(247): error: expected an identifier
    template<typename _Res, typename... _ArgTypes>
                                    ^

/opt/local/include/gcc44/c++/tr1_impl/type_traits(248): error: expected a ")"
      struct is_function<_Res(_ArgTypes......) const volatile>
                              ^

/opt/local/include/gcc44/c++/tr1_impl/type_traits(248): error: expected a ">"
      struct is_function<_Res(_ArgTypes......) const volatile>
                                               ^

/opt/local/include/gcc44/c++/type_traits(81): error: expected a ">"
      struct is_rvalue_reference<_Tp&&>
                                    ^

/opt/local/include/gcc44/c++/type_traits(105): error: expected a ">"
      struct remove_reference<_Tp&&>
                                 ^

/opt/local/include/gcc44/c++/type_traits(135): catastrophic error: rvalue references not yet implemented
      { typedef _Tp&& type; };
                   ^

compilation aborted for GraphToHoldScores.cpp (code 4)
make[2]: *** [GraphToHoldScores.o] Error 4
make[1]: *** [install] Error 2
make: *** [serial] Error 2



-- 
For greater security, I support S/MIME encryption.



_______________________________________________
AMBER-Developers mailing list
AMBER-Developers.ambermd.org
http://lists.ambermd.org/mailman/listinfo/amber-developers

Received on Tue Feb 22 2011 - 13:00:04 PST
Custom Search