NOAA-EMC / gfs-utils

Utility programs for global-workflow
0 stars 18 forks source link

Name clash with g2/v3.4.9 and w3emc/v2.10.0 #76

Open DavidHuber-NOAA opened 3 weeks ago

DavidHuber-NOAA commented 3 weeks ago

What is wrong?

The vint executable reports a duplicate module name when building with g2/v3.4.9 and w3emc/v2.10.0:

cd /scratch1/NCEPDEV/global/David.Huber/GW/gw_python_3117/sorc/gfs_utils.fd/build/src/vint.fd && /apps/oneapi/compiler/2022.0.2/linux/bin/intel64/ifort  -I/scratch1/NCEPDEV/nems/Alexander.Richert/spack-stack-py311-aug24/envs/test/install/intel/2021.5.0/bacio-2.4.1-vbtod3z/include_4 -I/scratch1/NCEPDEV/nems/Alexander.Richert/spack-stack-py311-aug24/envs/test/install/intel/2021.5.0/w3emc-2.10.0-aboeq2p/include_d -I/scratch1/NCEPDEV/nems/Alexander.Richert/spack-stack-py311-aug24/envs/test/install/intel/2021.5.0/g2-3.4.9-oosb3dp/include_d -g -traceback -i4 -r8 -O3 -c /scratch1/NCEPDEV/global/David.Huber/GW/gw_python_3117/sorc/gfs_utils.fd/src/vint.fd/vint.f -o CMakeFiles/vint.x.dir/vint.f.o
[ 49%] Linking Fortran executable vint.x
cd /scratch1/NCEPDEV/global/David.Huber/GW/gw_python_3117/sorc/gfs_utils.fd/build/src/vint.fd && /scratch1/NCEPDEV/nems/Alexander.Richert/spack-stack-py311-aug24/envs/test/install/intel/2021.5.0/cmake-3.27.9-lrxc5qr/bin/cmake -E cmake_link_script CMakeFiles/vint.x.dir/link.txt --verbose=NO
/scratch1/NCEPDEV/nems/Alexander.Richert/spack-stack-py311-aug24/envs/test/install/intel/2021.5.0/g2-3.4.9-oosb3dp/lib64/libg2_d.a(skgb.F90.o): In function `skgb_':
/scratch1/NCEPDEV/nems/Alexander.Richert/spack-stack-py311-aug24/cache/build_stage/spack-stage-g2-3.4.9-oosb3dpwtoj4lduwb56qr6a4tupqwble/spack-src/src/skgb.F90:20: multiple definition of `skgb_' 
/scratch1/NCEPDEV/nems/Alexander.Richert/spack-stack-py311-aug24/envs/test/install/intel/2021.5.0/w3emc-2.10.0-aboeq2p/lib64/libw3emc_d.a(skgb.f.o):/scratch1/NCEPDEV/nems/Alexander.Richert/spack-stack-py311-aug24/cache/build_stage/spack-stage-w3emc-2.10.0-aboeq2pyqttjyf27tydjvrixlkqiap5f/spack-src/src/skgb.f:26: first defined here
make[2]: *** [src/vint.fd/CMakeFiles/vint.x.dir/build.make:105: src/vint.fd/vint.x] Error 1
make[2]: Leaving directory '/scratch1/NCEPDEV/global/David.Huber/GW/gw_python_3117/sorc/gfs_utils.fd/build'
make[1]: *** [CMakeFiles/Makefile2:629: src/vint.fd/CMakeFiles/vint.x.dir/all] Error 2
make[1]: Leaving directory '/scratch1/NCEPDEV/global/David.Huber/GW/gw_python_3117/sorc/gfs_utils.fd/build'

What should have happened?

The vint linker should pull the skgb module from either g2 or w3emc.

What machines are impacted?

All or N/A

Steps to reproduce

On Hera:

git clone git@github.com:DavidHuber-NOAA/gfs-utils -b feature/ss_1.8.0
cd gfs-utils/ush
./build.sh

Additional information

Found while testing a version bump for spack-stack release 1.8.0.

Do you have a proposed solution?

Perhaps update the CMakeLists.txt file for vint.

DavidHuber-NOAA commented 3 weeks ago

The fix will be to remove w3emc from the CMakeLists.txt file for vint and tave as the skgb module has been added to g2.