GEOS-DEV / thirdPartyLibs

Repository to build the GEOSX third party libraries
3 stars 12 forks source link

Scotch make error? #217

Closed booorrit0 closed 1 year ago

booorrit0 commented 1 year ago

Hello, please see the errors message below when compiling the third party libraries. Thank you.

a - parmetis_dgraph_order.o a - parmetis_dgraph_order_f.o a - parmetis_dgraph_part.o a - parmetis_dgraph_part_f.o /usr/bin/ld: cannot find -lesmumps: No such file or directory collect2: error: ld returned 1 exit status make[5]: [Makefile:47: main_esmumps] Error 1 make[4]: [Makefile:56: scotch] Error 2 make[3]: [Makefile:116: esmumps] Error 2 make[3]: Waiting for unfinished jobs.... ar: u' modifier ignored sinceD' is the default (see U') ar: creating libesmumps.a a - graph_graph.o a - order.o a - order_scotch_graph.o a - dof.o a - symbol.o a - symbol_fax_graph.o a - esmumps.o a - esmumps_f.o a - esmumps_strats.o ar:u' modifier ignored since D' is the default (seeU') ar: creating libesmumps.a a - graph_graph.o a - order.o a - order_scotch_graph.o a - dof.o a - symbol.o a - symbol_fax_graph.o a - esmumps.o a - esmumps_f.o a - esmumps_strats.o make[2]: [CMakeFiles/scotch.dir/build.make:86: scotch/src/scotch-stamp/scotch-build] Error 2 make[1]: [CMakeFiles/Makefile2:750: CMakeFiles/scotch.dir/all] Error 2 make: *** [Makefile:101: all] Error 2

klevzoff commented 1 year ago

This is a known issue of Scotch when building on a high number of cores. We have a workaround in the form of SCOTCH_NUM_PROC CMake flag. You can either put

set(SCOTCH_NUM_PROC 1 CACHE STRING "")

in your host-config file, or pass -DSCOTCH_NUM_PROC=1 on the command line when running the config-build.py script.

booorrit0 commented 1 year ago

Thank you, will try this out.

drmichaeltcvx commented 1 year ago

Thanks for the addressing this....

I have been running into this issue as we build TPL using large number of cores on nodes using our automated build-install procedure. I was suspecting that cmake was at times building and linking scotch before dependent libraries and it would fail. My "smart" workaround was to keep trying until the dependencies would happen to build ahead of scotch.