Picongpu: PNGwriter fail to work

Created on 18 Dec 2019  路  9Comments  路  Source: ComputationalRadiationPhysics/picongpu

Hi, I am now trying with PNGwriter (it doesn't work before, and now too). The error I got is in the following file. I am not sure what is the problem that cause this. I can only install PNGwriter-0.5.5 but I see there is a newer version.

stds.zip

plugin third party

Most helpful comment

We do not officially support 0.5.5, but only 0.7.0. Does not mean 0.5.5 must not work, but it's possible there are some incompatibilities or bugs that prevent it.

No, this means we only support 0.7.0 ;-)
Already for 0.4.3: https://github.com/ComputationalRadiationPhysics/picongpu/blob/0.4.3/INSTALL.rst#pngwriter

The CMake files changed due to modernization, so do not bother trying the older releases.

I am confused about this line in the module:
setenv PNGwriter_DIR /apps/applications/picongpu/0.4.3

They installed PIConGPU and all its dependencies into one prefix. This looks okay, but PNGwriter should be updated by the sysadmin that set this up, I guess.

I can only install PNGwriter-0.5.5

What is the exact problem when trying to install newer versions of PNGwriter?

Added export PNGWRITER_ROOT=$HOME/lib/pngwriter

This is case sensitive and must read export PNGwriter_ROOT=$HOME/lib/pngwriter. Or just set export CMAKE_PREFIX_PATH=$HOME/lib/pngwriter:$CMAKE_PREFIX_PATH as suggested by Ren茅 and the docs :-)

The version I installed is indeed version 0.7.0 (correction to previous thread). But the version appear in stdout is 0.5.5

Wow, this looks like CMake picks up the right 0.7.0 version but compiling PIConGPU picks up another header of PNGwriter somehow.
Can you double-check your environment if there is another install of PNGwriter swirling around that interferes?

All 9 comments

We do not officially support 0.5.5, but only 0.7.0. Does not mean 0.5.5 must not work, but it's possible there are some incompatibilities or bugs that prevent it. Could you try compiling 0.7.0 manually, or is it anyhow not possible?

Hi @sbastrakov, thanks for replying.
The picongpu module in ARIS has the following lines:

/apps/modulefiles/applications/picongpu/0.4.3:

module-whatis    Enable usage for the PICONGPU Package 
setenv       PICONGPUROOT /apps/applications/picongpu/0.4.3 
prereq   gnu/6.4.0 
prereq   cuda/9.2.148 
prereq   python/2.7.13 
prereq   cmake 
prereq   make 
prereq   utils 
prereq   git 
prepend-path     PATH /apps/applications/picongpu/0.4.3/bin 
prepend-path     INCLUDE /apps/applications/picongpu/0.4.3/include 
prepend-path     LD_LIBRARY_PATH /apps/applications/picongpu/0.4.3/lib 
prepend-path     LD_LIBRARY_PATH /apps/applications/picongpu/0.4.3/lib64 
prepend-path     MANPATH /apps/applications/picongpu/0.4.3/share/man 
prepend-path     CMAKE_PREFIX_PATH /apps/applications/picongpu/0.4.3 
setenv       PNGwriter_DIR /apps/applications/picongpu/0.4.3 

Since this doesnt work since the first run, I stop using pngwriter. Until recently I try to fix this. So I installed it based on the instruction on the manual. During the compilation, the pngwriter is found
-- Found PNGwriter: /users/hpce3/jfuhong/lib/pngwriter/lib/cmake/PNGwriter

The picongpu.profile has the following line:
```export PNG_ROOT=$HOME/lib/libpng
export CMAKE_PREFIX_PATH=$PNG_ROOT:$CMAKE_PREFIX_PATH
export LD_LIBRARY_PATH=$PNG_ROOT/lib:$LD_LIBRARY_PATH
export CMAKE_PREFIX_PATH=$HOME/lib/pngwriter:$CMAKE_PREFIX_PATH
export LD_LIBRARY_PATH=$HOME/lib/pngwriter/lib:$LD_LIBRARY_PATH

The version I installed is indeed version 0.7.0 (correction to previous thread). But the version appear in `stdout` is 

Third party:
OS: Linux-2.6.32-754.23.1.el6.x86_64
arch: x86_64
CXX: GNU (6.4.0)
CMake: 3.12.1
CUDA: 9.2.148
mallocMC: 2.3.1
Boost: 1.65.1
MPI:
standard: 3.1
flavor: OpenMPI (2.1.6)
PNGwriter: 0.5.5
libSplash: 1.7.0 (Format 4.0)
ADIOS: 1.13.1
```
Did I miss some setting for the path?

Thanks for details @StevE-Ong . I am confused about this line in the module:

setenv PNGwriter_DIR /apps/applications/picongpu/0.4.3

shouldn't it point to the pngwriter directory instead? With it being installed for everyone somewhere in /apps/applications I guess.

Local installation that you tried should be fine as well, just works only for your account. It all seems reasonable, until the 0.5.5 version in the output, just checked it gives 0.7.0 for me on our cluster. I honestly do not have a good idea why it happens. Could you check that perhaps you rebuilt from an existing build directory and not in a new one? Or manually check your include directories and libraries linked after the cmake generation was done, to see if they point to the right installation of pngwriter.

I search pngwriter in the location /apps/applications/picongpu/0.4.3. The pngwriter is version 5. While the one found during compilation is version 7 which installed in my directory. Added export PNGWRITER_ROOT=$HOME/lib/pngwriter but no luck. No idea what is the problem. I will stop it for awhile and run without pngwriter and come back again.

@StevE-Ong To point cmake to your libraries it is better to use the CMAKE_PREFIX_PATH.
e.g. CMAKE_PREFIX_PATH=$HOME/lib/pngwriter:$CMAKE_PREFIX_PATH

Before calling pic-build again, please remove the folder .build to remove any cmake cache side effects.

In case @psychocoderHPC 's suggestion does not help, you can see and potentially fix the path manually after cmake is done. From a setup directory run pic-build, then cd .build/ and ccmake . Then you can see the resulting options and could also fix it there.

We do not officially support 0.5.5, but only 0.7.0. Does not mean 0.5.5 must not work, but it's possible there are some incompatibilities or bugs that prevent it.

No, this means we only support 0.7.0 ;-)
Already for 0.4.3: https://github.com/ComputationalRadiationPhysics/picongpu/blob/0.4.3/INSTALL.rst#pngwriter

The CMake files changed due to modernization, so do not bother trying the older releases.

I am confused about this line in the module:
setenv PNGwriter_DIR /apps/applications/picongpu/0.4.3

They installed PIConGPU and all its dependencies into one prefix. This looks okay, but PNGwriter should be updated by the sysadmin that set this up, I guess.

I can only install PNGwriter-0.5.5

What is the exact problem when trying to install newer versions of PNGwriter?

Added export PNGWRITER_ROOT=$HOME/lib/pngwriter

This is case sensitive and must read export PNGwriter_ROOT=$HOME/lib/pngwriter. Or just set export CMAKE_PREFIX_PATH=$HOME/lib/pngwriter:$CMAKE_PREFIX_PATH as suggested by Ren茅 and the docs :-)

The version I installed is indeed version 0.7.0 (correction to previous thread). But the version appear in stdout is 0.5.5

Wow, this looks like CMake picks up the right 0.7.0 version but compiling PIConGPU picks up another header of PNGwriter somehow.
Can you double-check your environment if there is another install of PNGwriter swirling around that interferes?

Hello @StevE-Ong , did our suggestions help to resolve the issue?

Apparently there is something wrong with the PNG_writer in the system. But it does not post any serious problem to the simulation. If the issue is solved in the future I will post a note here. I will close this issue for the moment. Thanks for the helps and advises.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

cbontoiu picture cbontoiu  路  3Comments

berceanu picture berceanu  路  4Comments

mikewang2000 picture mikewang2000  路  3Comments

sbastrakov picture sbastrakov  路  3Comments

saipavankalyan picture saipavankalyan  路  3Comments