svalinn / DAGMC

Direct Accelerated Geometry Monte Carlo Toolkit
https://svalinn.github.io/DAGMC
Other
100 stars 63 forks source link

error building when make DAGMC with MCNP6_BETA2 version #809

Closed hgmeier1185 closed 2 years ago

hgmeier1185 commented 2 years ago

Describe the Bug
I tried to build DAGMC with MCNP6_BETA2 source. When applied the corresponding patch everything went ok. Also, the cmake ran without problem. However, when tried "make" I got the following errors:

/home/user/dagmc_bld/DAGMC/src/src/mcnp/mcnp6/Source/src/fmesh_mod.F90:201.54:

subroutine dagmc_fmesh_get_error_data( fm_id, fref ) bind(c)
                                                  1

Error: Variable 'fref' at (1) cannot have the POINTER attribute because procedure 'dagmc_fmesh_get_error_data' is BIND(C) /home/user/dagmc_bld/DAGMC/src/src/mcnp/mcnp6/Source/src/fmesh_mod.F90:207.56:

subroutine dagmc_fmesh_get_scratch_data( fm_id, fref ) bind(c)
                                                    1

Error: Variable 'fref' at (1) cannot have the POINTER attribute because procedure 'dagmc_fmesh_get_scratch_data' is BIND(C) /home/user/dagmc_bld/DAGMC/src/src/mcnp/mcnp6/Source/src/fmesh_mod.F90:193.54:

subroutine dagmc_fmesh_get_tally_data( fm_id, fref ) bind(c)
                                                  1

Error: Variable 'fref' at (1) cannot have the POINTER attribute because procedure 'dagmc_fmesh_get_tally_data' is BIND(C) /home/user/dagmc_bld/DAGMC/src/src/mcnp/mcnp6/Source/src/fmesh_mod.F90:220.45:

subroutine dagmc_make_fortran_pointer( fref, carray, size ) bind(c) 1 Error: Variable 'fref' at (1) cannot have the POINTER attribute because procedure 'dagmc_make_fortran_pointer' is BIND(C) make[2]: [src/mcnp/mcnp6/CMakeFiles/mcnp6.mpi.dir/Source/src/fmesh_mod.F90.o] Error 1 make[1]: [src/mcnp/mcnp6/CMakeFiles/mcnp6.mpi.dir/all] Error 2 make: *** [all] Error 2

To Reproduce
I used cmake 3.2 like this: /cmake ../src -DMOAB_DIR=$HOME/dagmc_bld/MOAB -DBUILD_MCNP6=ON
-DBUILD_MCNP_MPI=ON -DCMAKE_INSTALL_PREFIX=$HOME/DAGMC_MCNP602 -DMCNP6_DATAPATH=$HOME/user/MCNP6.02/data -DCMAKE_CXX_COMPILER=$HOME/dagmc_bld/mpich-install/bin/mpicxx

Please complete the following information regarding your system:

Thanks in advance,

hgmeier1185 commented 2 years ago

Well, I made a little progress, I found that by default cmake uses C Compiler 4.8.5 no matters that a later version is installed. I managed to go a little further specifying the desired compiler when run cmake: CC=/path/c_compiler(version 8.3.0) cmake ../src -DMOAB_DIR=$HOME/dagmc_bld/MOAB -DBUILD_MCNP6=ON -DBUILD_MCNP_MPI=ON -DCMAKE_INSTALL_PREFIX=$HOME/DAGMC_MCNP602 -DMCNP6_DATAPATH=$HOME/user/MCNP6.02/data -DCMAKE_CXX_COMPILER=$HOME/dagmc_bld/mpich-install/bin/mpicxx

Then when run make it goes a little further but later I found the next error:

Error copying Fortran module "src/mcnp/mcnp6/gkssim.mod". Tried "src/mcnp/mcnp6/GKSSIM.mod" and "src/mcnp/mcnp6/gkssim.mod". make[2]: [src/mcnp/mcnp6/CMakeFiles/mcnp6.mpi.dir/gkssim.mod.stamp] Error 1 make[1]: [src/mcnp/mcnp6/CMakeFiles/mcnp6.mpi.dir/all] Error 2 make: *** [all] Error 2

I tried also specifying CXX=/path/cxx_compiler and FC=/path/fortran_compiler, and I got the same error,

Thank in advance again,

hgmeier1185 commented 2 years ago

Well, if it useful for someone, I researched and gkssim is related with plotting, so I used -DBUILD_MCNP_PLOT=ON and was able to installed it!!!

gonuke commented 2 years ago

Thanks for the info @hgmeier1185, and sorry that we left you on your own to figure this out. It should be possible to build without plotting, so this may still be an issue we need to keep an eye out for. However, we'll focus on non-beta versions COE that.