Re: [AMBER] Amber 20 compilation with the intel 2019.1.1 compiler

From: Scott Brozell <sbrozell.iqb.rutgers.edu>
Date: Wed, 21 Oct 2020 19:04:20 -0400

Hi,

While it is possible that there is some issue with your version of
intel and Amber's boost, a number of other possibilities exist.
It would be useful to verify that Amber's boost is being used.
Unfortunately, there is no way to get that info without re-configuring
and specifying -verbose. If you are going to do that then you
might as well redo the installation via:
make veryclean
This removes all stuff except the executables from the previous
build. Leftover libraries from other compilers can also cause
problems.

As far as workarounds, the simplest would be to have make ignore errors:
make -i

Another easy one is to edit config.h and change
HAS_BOOST=yes
to
HAS_BOOST=

scott

On Wed, Oct 21, 2020 at 01:31:27PM +0200, Vlad Cojocaru wrote:
> No errors, no warnings for the boost configure, all seemed to have
> worked perfectly?? ...
>
> I kept with the legacy build because it worked most of the time for me,
> and I did not want to change something that works and also did not
> works... But sure, I can try to build with cmake and/or also disable
> metatwist as Dave suggested.
>
> On 2020-10-20 23:37, Scott Brozell wrote:
> > The legacy build made metatwist for me (on the git master):
> > ./configure --miniconda -verbose intel
> > ...
> > [MoFT] CXX metatwist.cpp
> > ...
> > icpc -std=c++0x -o /tmp/amber/bin/metatwist metatwist.o -L/tmp/amber/lib -lboost_program_options -lboost_iostreams -lboost_regex -lboost_system -lboost_timer -lboost_chrono -lboost_filesystem -lboost_graph -mkl=sequential -lz -lbz2
> >
> > 2972 -rwxr-xr-x 1 scott 3041344 Oct 19 22:02 ./bin/metatwist
> >
> >
> > The errors below are all boost related.
> > What happened during this stage of configure ?
> > Configuring boost (may be time-consuming)...
> >
> > You can look in file AmberTools/src/boost_config.log
> >
> > scott
> >
> > On Tue, Oct 20, 2020 at 01:50:49PM -0400, David A Case wrote:
> >> On Tue, Oct 20, 2020, Vlad Cojocaru wrote:
> >>> However, after passing this, I am receiving lots of undefined reference
> >>> errors from the metatwist source code.
> >>>
> >>> The compilation is after successful ./configure -noX11 intel (intel
> >>> 19.1.1) (no complains from configure at all, all tests for requirements
> >>> passed including for bzip2 and zlib).
> >> Something is broken with the legacy build and metatwist. Simple option
> >> is just to comment out that part of the build (in
> >> $AMBERHOME/src/Makefile).
> > On Tue, Oct 20, 2020 at 04:46:37PM +0200, Vlad Cojocaru wrote:
> >> Thanks to Scott's answer I solved the previous issue that indeed was
> >> related to linking the intel compiler against an old gcc version.
> >> However, after passing this, I am receiving lots of undefined reference
> >> errors from the metatwist source code.
> >>
> >> The compilation is after successful ./configure -noX11 intel (intel
> >> 19.1.1) (no complains from configure at all, all tests for requirements
> >> passed including for bzip2 and zlib).
> >>
> >> ld:
> >> metatwist.o:(.data.rel.ro._ZTVN5boost15program_options11typed_valueISt6vectorIdSaIdEEcEE[_ZTVN5boost15program_options11typed_valueISt6vectorIdSaIdEEcEE]+0x38):
> >> undefined reference to
> >> `boost::program_options::value_semantic_codecvt_helper<char>::parse(boost::any&,
> >> std::vector<std::__cxx11::basic_string<char, std::char_traits<char>,
> >> std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char,
> >> std::char_traits<char>, std::allocator<char> > > > const&, bool) const'
> >> ld:
> >> metatwist.o:(.data.rel.ro._ZTVN5boost15program_options11typed_valueImcEE[_ZTVN5boost15program_options11typed_valueImcEE]+0x38):
> >> undefined reference to
> >> `boost::program_options::value_semantic_codecvt_helper<char>::parse(boost::any&,
> >> std::vector<std::__cxx11::basic_string<char, std::char_traits<char>,
> >> std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char,
> >> std::char_traits<char>, std::allocator<char> > > > const&, bool) const'
> >> ld:
> >> metatwist.o:(.data.rel.ro._ZTVN5boost15program_options20invalid_option_valueE[_ZTVN5boost15program_options20invalid_option_valueE]+0x30):
> >> undefined reference to
> >> `boost::program_options::error_with_option_name::substitute_placeholders(std::__cxx11::basic_string<char,
> >> std::char_traits<char>, std::allocator<char> > const&) const'
> >> ld:
> >> metatwist.o:(.data.rel.ro._ZTVN5boost16exception_detail19error_info_injectorINS_15program_options16validation_errorEEE[_ZTVN5boost16exception_detail19error_info_injectorINS_15program_options16validation_errorEEE]+0x30):
> >> undefined reference to
> >> `boost::program_options::error_with_option_name::substitute_placeholders(std::__cxx11::basic_string<char,
> >> std::char_traits<char>, std::allocator<char> > const&) const'
> >> ld:
> >> metatwist.o:(.data.rel.ro._ZTVN5boost16exception_detail10clone_implINS0_19error_info_injectorINS_15program_options16validation_errorEEEEE[_ZTVN5boost16exception_detail10clone_implINS0_19error_info_injectorINS_15program_options16validation_errorEEEEE]+0x38):
> >> undefined reference to
> >> `boost::program_options::error_with_option_name::substitute_placeholders(std::__cxx11::basic_string<char,
> >> std::char_traits<char>, std::allocator<char> > const&) const'
> >> ld:
> >> metatwist.o:(.data.rel.ro._ZTVN5boost16exception_detail19error_info_injectorINS_15program_options20invalid_option_valueEEE[_ZTVN5boost16exception_detail19error_info_injectorINS_15program_options20invalid_option_valueEEE]+0x30):
> >> undefined reference to
> >> `boost::program_options::error_with_option_name::substitute_placeholders(std::__cxx11::basic_string<char,
> >> std::char_traits<char>, std::allocator<char> > const&) const'
> >> ld:
> >> metatwist.o:(.data.rel.ro._ZTVN5boost16exception_detail10clone_implINS0_19error_info_injectorINS_15program_options20invalid_option_valueEEEEE[_ZTVN5boost16exception_detail10clone_implINS0_19error_info_injectorINS_15program_options20invalid_option_valueEEEEE]+0x38):
> >> undefined reference to
> >> `boost::program_options::error_with_option_name::substitute_placeholders(std::__cxx11::basic_string<char,
> >> std::char_traits<char>, std::allocator<char> > const&) const'
> >> Makefile:30: recipe for target
> >> '/u/vcojocar/apps/amber/20_tools-20_pnetcdf-1.12.1_impi-2019.7_intel-2019.1.1/bin/metatwist'
> >> failed
> >> make[2]: ***
> >> [/u/vcojocar/apps/amber/20_tools-20_pnetcdf-1.12.1_impi-2019.7_intel-2019.1.1/bin/metatwist]
> >> Error 1
> >> make[2]: Leaving directory
> >> '/cobra/u/vcojocar/apps/amber/20_tools-20_pnetcdf-1.12.1_impi-2019.7_intel-2019.1.1/AmberTools/src/moft'
> >> Makefile:36: recipe for target 'serial' failed
> >>
> >> On 2020-10-20 04:10, Scott Brozell wrote:
> >>> That bit about "on a supercomputer" didn't penetrate my noggin
> >>> initially. Go ahead call me Fickian (the 'F' can be pronounced
> >>> with a 'Th' sound as well :).
> >>>
> >>> Anyway, this now seems like a not-so-super-computer issue. Ie,
> >>> support there should verify their Intel and GNU compatibility.
> >>> Here's some context:
> >>>
> >>> Intel compilers use the GNU tools on the cluster: header files, libraries, and
> >>> linker. The details of Intel and GNU compatibility and interoperability can be
> >>> controlled in several ways. On Foo clusters the default mechanism of control is
> >>> based on modules. An alternative way to control compatibility and
> >>> interoperability is with Intel compiler options; see the 'GNU gcc
> >>> Interoperability' section of the Intel compiler man pages for details.
> >>>
> >>> To view the GNU compatibility, use the '-v' intel compiler option.
> >>>
> >>> scott
> >>>
> >>> On Mon, Oct 19, 2020 at 09:44:09PM -0400, Scott Brozell wrote:
> >>>> On Mon, Oct 19, 2020 at 07:47:43PM +0200, Vlad Cojocaru wrote:
> >>>>> I am trying to install Amber 20 on a supercomputer with the intel 19.1.1
> >>>>> compiler but the serial compilation fails at cpptraj with the error below.
> >>>>> Has anyone seen this before and has an idea how to fix it ?
> >>>>>
> >>>>> In file included from Traj_GmxXtc.cpp(1):
> >>>>> Traj_GmxXtc.h(40): error: identifier "off_t" is undefined
> >>>>> ?????????? std::vector<off_t> frameOffsets_; ///< Frame offsets for reading
> >>>>> ?????????????????????????????????? ^
> >>>>>
> >>>>> compilation aborted for Traj_GmxXtc.cpp (code 2)
> >>>>> ../config.h:45: recipe for target 'Traj_GmxXtc.o' failed
> >>>>> make[4]: *** [Traj_GmxXtc.o] Error 2
> >>>> I routinely build with intel; last was 19.0.5 on oct 15 on
> >>>> Red Hat Enterprise Linux Server release 7.7 (Maipo)
> >>>>
> >>>> I don't have 19.1.1 but i suspect your problem is GNU/OS related.
> >>>> off_t comes from sys/types.h via bits/types.h
> >>>> My system has several versions of these but they haven't changed significantly:
> >>>> 8 -rw-r--r-- 1 root root 6771 Apr 30 2019 /usr/include/sys/types.h
> >>>> 8 -rw-r--r-- 1 root root 6838 Jan 24 2014 /usr/lib/x86_64-redhat-linux6E/include/sys/types.h
> >>>> 8 -rw-r--r-- 1 root root 7729 Apr 30 2019 /usr/include/bits/types.h
> >>>> 8 -rw-r--r-- 1 root root 7601 Jan 24 2014 /usr/lib/x86_64-redhat-linux6E/include/bits/types.h
> >>>>
> >>>> My first guess is that you have intel compilers layered on top of
> >>>> really old gnu compilers.
> >>>> So check into updating your gnu with your OS's package management tool.
> >>>> If you send verbose and verbatim details then someone can probably quote
> >>>> exactly what to execute. Those details should include
> >>>> cat /etc/*release
> >>>> gcc -v
> >>>> icc -v
> >>>>
> >>>> For the compilers, eg, ...
> >>>> gcc version 8.4.0 (GCC)
> >>>> icc version 19.0.5.281 (gcc version 8.4.0 compatibility)
> >>>>
> >>>> scott

_______________________________________________
AMBER mailing list
AMBER.ambermd.org
http://lists.ambermd.org/mailman/listinfo/amber
Received on Wed Oct 21 2020 - 16:30:02 PDT
Custom Search