Picongpu: Compiling LaserWakefield example fails on boost

Created on 5 Jan 2019  路  5Comments  路  Source: ComputationalRadiationPhysics/picongpu

I am trying to compile LaserWakefield example, but it fails with 4 errors, one of which is

error: exception specification for virtual function "boost::system::error_category::std_category::equivalent(const std::error_code &, int) const" is incompatible with that of overridden function "std::_V2::error_category::equivalent(const std::error_code &, int) const"

Installation
spack install picongpu %[email protected] ^[email protected] %[email protected]

Additional Information
Linux x86_64 4.15.0-43-generic on Ubuntu
boost-1.65.1
Cuda driver version : 390.77

affects latest release bug examples third party install

All 5 comments

Hi and thanks for the report!

The install line should read

spack install picongpu backend=cuda ^[email protected] %[email protected]

and then the next thing must be:

spack load picongpu backend=cuda ^[email protected] %[email protected]

Can you provide more output of the steps you do afterwards? Especially, I would need to see the output of pic-build to see which boost is selected by CMake under the hood.

Hi and thanks for the report!

The install line should read

spack install picongpu backend=cuda ^[email protected] %[email protected]

and then the next thing must be:

spack load picongpu backend=cuda ^[email protected] %[email protected]

Can you provide more output of the steps you do afterwards? Especially, I would need to see the output of pic-build to see which boost is selected by CMake under the hood.

Thank you for replying.

Boost version: 1.65.1

I have attached the build.log from pic-build, which is failing. Before building, pic-create runs smoothly.

Also to mention that earlier I have tried installing with gcc 7.3 and cuda 9.2, for which the example successfully compiles, but fails at runtime because of driver issues.
Specifically the error is
cuda 9.2.88 driver 390.77 CUDA driver version is insufficient for CUDA runtime version

cuda 9.2.88 driver 390.77 CUDA driver version is insufficient for CUDA runtime version

If you want to use CUDA 9.2: We can't automatically install the latest Nvidia CUDA drivers for you. Is your system already CUDA capable and can you install with sudo or your admin the latest drivers?

Boost version: 1.65.1

Hm, boost is flaky. You can go to ~/src/spack-repo/packages/picongpu/package.py and just try to install a different boost version to use, e.g. 1.68.0:

iff --git a/packages/picongpu/package.py b/packages/picongpu/package.py
index c2626e3..7640b19 100644
--- a/packages/picongpu/package.py
+++ b/packages/picongpu/package.py
@@ -87,8 +87,8 @@ class Picongpu(Package):
     depends_on('util-linux', type='run', when='platform=darwin')  # GNU getopt
     depends_on('[email protected]:9.2', when='backend=cuda')
     depends_on('[email protected]')
-    depends_on('[email protected]:1.65.1 cxxstd=11')
-    depends_on('[email protected] cxxstd=11', when='backend=cuda ^cuda@9:')
+    depends_on('[email protected]:1.68.0 cxxstd=11')
+    depends_on('[email protected] cxxstd=11', when='backend=cuda ^cuda@9:')
     # note: NOT cuda aware!
     # depends_on('[email protected]:', type=['link', 'run'])
     depends_on('[email protected]:3.99', type=['link', 'run'])

then spack install picongpu ... and spack load picongpu ... as before.

If you want to use CUDA 9.2: We can't automatically install the latest Nvidia CUDA drivers for you. Is your system already CUDA capable and can you install with sudo or your admin the latest drivers?

Thank you for replying.
It is a shared system, so I can't update the drivers! I figured it was a driver problem, so I opted for cuda 8.0

Hm, boost is flaky. You can go to ~/src/spack-repo/packages/picongpu/package.py and just try to install a different boost version to use, e.g. 1.68.0:

iff --git a/packages/picongpu/package.py b/packages/picongpu/package.py
index c2626e3..7640b19 100644
--- a/packages/picongpu/package.py
+++ b/packages/picongpu/package.py
@@ -87,8 +87,8 @@ class Picongpu(Package):
     depends_on('util-linux', type='run', when='platform=darwin')  # GNU getopt
     depends_on('[email protected]:9.2', when='backend=cuda')
     depends_on('[email protected]')
-    depends_on('[email protected]:1.65.1 cxxstd=11')
-    depends_on('[email protected] cxxstd=11', when='backend=cuda ^cuda@9:')
+    depends_on('[email protected]:1.68.0 cxxstd=11')
+    depends_on('[email protected] cxxstd=11', when='backend=cuda ^cuda@9:')
     # note: NOT cuda aware!
     # depends_on('[email protected]:', type=['link', 'run'])
     depends_on('[email protected]:3.99', type=['link', 'run'])

then spack install picongpu ... and spack load picongpu ... as before.

Will try that in sometime. For now I have installed with
spack install picongpu backend=cuda ^[email protected] ^[email protected] %[email protected] which works. There's a gcc 5.5.0 bug which I have mentioned in issue #2851

Was this page helpful?
0 / 5 - 0 ratings

Related issues

hightower8083 picture hightower8083  路  4Comments

ax3l picture ax3l  路  4Comments

ax3l picture ax3l  路  4Comments

psychocoderHPC picture psychocoderHPC  路  4Comments

ax3l picture ax3l  路  3Comments