Skip to Content.
Sympa Menu

opal - Re: [Opal] boost for OPAL

opal AT lists.psi.ch

Subject: The OPAL Discussion Forum

List archive

Re: [Opal] boost for OPAL


Chronological Thread 
  • From: Achim Gsell <achim.gsell AT psi.ch>
  • To: Nicole Neveu <nneveu AT hawk.iit.edu>
  • Cc: "Adelmann Andreas (PSI)" <andreas.adelmann AT psi.ch>, opal <opal AT lists.psi.ch>
  • Subject: Re: [Opal] boost for OPAL
  • Date: Wed, 28 Feb 2018 17:33:24 +0100

Hi Nicole
On 28 Feb 2018, at 17:30, Nicole Neveu <nneveu AT hawk.iit.edu> wrote:

Achim, 

Here are the paths set by the module:

nneveu@thetalogin6:/projects/awa/lib_source/boost/boost_1_66_0> module display boost/intel/1.64.0
-------------------------------------------------------------------
/soft/environment/modules/modulefiles/boost/intel/1.64.0:

prepend-path     CPLUS_INCLUDE_PATH /soft/libraries/boost/1.64.0/intel/include
prepend-path     LIBRARY_PATH /soft/libraries/boost/1.64.0/intel/lib
prepend-path     LD_LIBRARY_PATH /soft/libraries/boost/1.64.0/intel/lib
prepend-path     PYTHONPATH /soft/libraries/boost/1.64.0/intel/lib
setenv           BOOST_ROOT /soft/libraries/boost/1.64.0/intel
-------------------------------------------------------------------

Does that look off?

This looks good, but there might be something else wrong. What says

echo $LIBRARY_PATH

(after loading the modules)

Achim



Maybe I'm missing something.

Thanks, 

Nicole


On Wed, Feb 28, 2018 at 10:27 AM, Achim Gsell <achim.gsell AT psi.ch> wrote:
Hi Nicole,

On 28 Feb 2018, at 16:55, Nicole Neveu <nneveu AT hawk.iit.edu> wrote:

After running with -v, looks like the link flags aren't the problem:
-L/soft/libraries/boost/1.64.0/intel/lib
-L/soft/libraries/boost/1.64.0/intel/lib/
-lboost_chrono
-lboost_filesystem
-lboost_regex 
-lboost_serialization
-lboost_system 
-lboost_iostreams

Maybe there is a problem with the boost module I'm using.
I will try building boost myself. 

Are you sure you link against the right boost libraries? The 're_detail' methods are tagged with the boost version:

boost/regex/config.hpp:#define BOOST_REGEX_DETAIL_NS BOOST_JOIN(re_detail_, BOOST_VERSION)

To me it looks like, that boost include files and libraries do not match. What directories are in the environment variable LIBRARY_PATH?

Best

Achim



Nicole

On Wed, Feb 28, 2018 at 7:51 AM, Adelmann Andreas (PSI) <andreas.adelmann AT psi.ch> wrote:
Can you see the library when linking, i.e. make VERBOSE=1

Cheers Andreas 
------
Dr. sc. math. Andreas (Andy) Adelmann
Staff Scientist - Deputy Labor Head LSM
Paul Scherrer Institut WBBA/219 CH-5232 Villigen PSI
Phone Office: xx41 56 310 42 33 Fax: xx41 56 310 31 91
Phone Home: xx41 62 891 91 44
-------------------------------------------------------
Friday: ETH HPK G 28   +41 44 632 75 22
============================================
The more exotic, the more abstract the knowledge, 
the more profound will be its consequences.
Leon Lederman 
============================================





On 28 Feb 2018, at 09:53, Achim Gsell <Achim.Gsell AT psi.ch> wrote:

Hi Nicole

On 27 Feb 2018, at 23:08, Nicole Neveu <nneveu AT hawk.iit.edu> wrote:

Going to gcc 7.2 almost got me there (made it 100% - Linking executable).
Now it's failing at the link step.

I wonder if it has to do with this cmake warning:
 Manually-specified variables were not used by the project:

    BUILD_LIBOPAL
    USE_H5HUT2

When I use ccmake to manually check what those env vars are set to, they match the cmake command (by default?). 
Here's the cmake command:
CXX=mpiicpc CC=mpiicc cmake \
 -DCMAKE_INSTALL_PREFIX:STRING="${PREFIX}" \
 -DCMAKE_BUILD_TYPE:STRING=Release \
 -DUSE_H5HUT2:BOOL=ON \
 -DENABLE_DKS:BOOL=OFF \
 -DENABLE_IPPLTESTS:BOOL=FALSE \
 -DENABLE_SAAMG_SOLVER:BOOL=FALSE \
 -DDBG_SCALARFIELD:BOOL=OFF \
 -DDBG_STENCIL:BOOL=OFF \
 -DBUILD_LIBOPAL:BOOL=OFF \
 -DNO_FIELD_ASSIGN_OPTIMIZATION:BOOL=OFF \
 -DBUILD_OPAL_UNIT_TESTS:BOOL=OFF  "${SRC_DIR}/$P/src"

The errors point to gnu_cxx:
Attributes.cpp:(.text+0x340d): undefined reference to `boost::re_detail_106400::perl_matcher<__gnu_cxx::__normal_iterator<char const*,.........

Maybe I need to explicitly link to a gnu library?

No. This symbol should be in 'libboost_regex'.

Did you compile boost yourself? Which compiler has been used to compile boost? Which boost version are you using? 1.64.0 should work.

Best

Achim


Thanks, 

Nicole

On Tue, Feb 27, 2018 at 10:02 AM, Nicole Neveu <nneveu AT hawk.iit.edu> wrote:
Hi Everyone, 

Thanks for the great information. 

@Achim, you were exactly right! The default gcc is 4.85!
I will try building with a newer version now.

And special thanks for all the great build instruction on the wiki!

Nicole

On Tue, Feb 27, 2018 at 7:50 AM, Achim Gsell <achim.gsell AT psi.ch> wrote:
Hi Nicole

On 24 Feb 2018, at 01:21, Nicole Neveu <nneveu AT hawk.iit.edu> wrote:

Can OPAL be compiled with boost 1.64 on linux?
Has anyone tried that?

At present boost 1.64 is the recommended version! A toolchain with current versions is under testing. This will include boost 1.66.0.

I'm getting a lot of warnings when building boost 1.62.
I would ignore them since they are warnings, but I get boost errors when compiling opal (during make).

There is something you must have in mind when compiling with Intel compiler: the Intel compiler does NOT include a STL implementation. STL is taken from the gcc  found in the path! If you have an old gcc in your PATH, it is very likely that you get lot of warnings and/or errors!

Check with the command "which gcc" which gcc is used. Get the version of used gcc with "gcc -v". gcc should be at least version 5.x.y.

Best

Achim





Paul Scherrer Institut
WHGA/U136
CH-5232 Villigen PSI
+41 56 310 36 74





Paul Scherrer Institut
WHGA/U136
CH-5232 Villigen PSI
+41 56 310 36 74




Paul Scherrer Institut
WHGA/U136
CH-5232 Villigen PSI
+41 56 310 36 74




Archive powered by MHonArc 2.6.19.

Top of Page