Open robnagler opened 6 days ago
I started looking into this.
Pinging @lucafedeli88 because the build logic is probably mostly on the PICSAR end (i.e., not WarpX).
See, for example, lines 43-51 from https://github.com/ECP-WarpX/picsar/blob/6b46dbe083daf30286631c82818d4285c2676371/multi_physics/QED/CMakeLists.txt:
if(PXRMP_QED_TABLEGEN)
find_package(Boost 1.66.0)
if(Boost_FOUND)
target_link_libraries(PXRMP_QED INTERFACE Boost::boost)
target_compile_definitions(PXRMP_QED INTERFACE PXRMP_HAS_BOOST=1)
else()
message( FATAL_ERROR "Table generation (PXRMP_QED_TABLEGEN) requires Boost (>= 1.66)!" )
endif()
endif()
Not sure how to tell find_package
to discard anything other than what is found in BOOST_ROOT
.
On the WarpX end, I can open a PR to update how we set BOOST_ROOT
here and see if that is enough to fix the issue:
https://github.com/ECP-WarpX/WarpX/blob/4739e10a3c22f3b870755bebcf40dfbf51d0e984/Tools/machines/perlmutter-nersc/perlmutter_gpu_warpx.profile.example#L17-L18
However, I still need to understand which one of these I should set:
$ ls /global/common/software/spackecp/perlmutter/e4s-23.08/default/spack/opt/spack/linux-sles15-zen3/gcc-12.3.0/ | grep "boost"
boost-1.83.0-2duyuvmto7nxhdxbmtdzfqta2zd2e6gp
boost-1.83.0-2yqnluod73zoeujxzoe2tbob2d6vgbok
boost-1.83.0-7v65wrlbpdcvmjqcxl5ozjlokrmsxolu
boost-1.83.0-bofy2gbvluorrgdlsqeyw6cexrbsmpdu
boost-1.83.0-jn7ias45dtk7uwh4baobb2ndhq73ndxc
boost-1.83.0-nxqk3hnci5g3wqv75wvsmuke3w74mzxi
Will open a PR to try things out and link to this issue.
@robnagler
Could you try the fix in #5477? I would recommend that you try from scratch (re-source profile, re-install dependencies, re-build WarpX, re-run test), just in case.
Description
NERSC perlmutter build script(s) needs updating for boost. The e4s 23.05 was EOL on 9/30.
Cmake finds boost 1.66 in /usr/include when it should find boost 1.82 (1.83)
Expected behavior
Compilation should find boost in BOOST_ROOT.
How to reproduce
build with perlmutter gpu
System information
Perlmutter
Steps taken so far
There are two boost configs which come up, and currently trying those:
Additional information
The build succeeds, but running results in:
Exception: Dimensionality '3d' was not compiled in this Python install. Please recompile with -DWarpX_DIMS=3
Note: it would be great if cmake would fail if
$BOOST_ROOT
does not exist. Instead, it's just ignored.