sandialabs / seacas

The Sandia Engineering Analysis Code Access System (SEACAS) is a suite of preprocessing, postprocessing, translation, and utility applications supporting finite element analysis software using the Exodus database file format.
Other
131 stars 79 forks source link

installation issue: not creating lib and include folder with ./install-tpl.sh #454

Closed nirsun closed 4 months ago

nirsun commented 4 months ago

Hi seacas users/developers,

I am not able to get all external TPL libraries built and installed into ${ACCESS}/lib and ${ACCESS}/include after executing MPI=YES ./install-tpl.sh The command reports to be successfully downloading several packages (shown below) and stops as soon as these downloads are over (stops usually within a minute; I remember MPI=YES ./install-tpl.sh taking about 3-4 minutes when it was successfully executed before in my another conda env).

Hence this step does not create the necessary lib and include folder. I am using Apple M2 Max Sonoma 14.4.1.

Here are the steps I took.

conda create -n ww_apr17_2024 -c conda-forge -c defaults numpy matplotlib pandas geopandas shapely=1.8.4 mkdir ww_apr17_2024 cd ww_apr17_2024 conda activate ww_apr17_2024 git clone https://github.com/sandialabs/seacas.git cd seacas && export ACCESS=$(pwd) MPI=YES ./install-tpl.sh

When the last step is performed, it displays the following and stops (I get my terminal back):

+++ HDF5 +++ Downloading... --2024-04-17 15:25:48-- https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-1.14/hdf5-1.14.3/src/hdf5-1.14.3.tar.bz2 Resolving support.hdfgroup.org (support.hdfgroup.org)... Connecting to support.hdfgroup.org (support.hdfgroup.org)... connected. HTTP request sent, awaiting response... 200 OK Length: 16320137 (16M) [application/x-tar] Saving to: ‘hdf5-1.14.3.tar.bz2’

hdf5-1.14.3.tar.bz2 100%[===========================================>] 15.56M 911KB/s in 36s

2024-04-17 15:26:25 (438 KB/s) - ‘hdf5-1.14.3.tar.bz2’ saved [16320137/16320137]

mkdir: /Users/mycomp/watershed_workflow/ww_apr17_2024/seacas/lib: No such file or directory mkdir: /Users/mycomp/watershed_workflow/ww_apr17_2024/seacas/lib/hdf5: No such file or directory mkdir: /Users/mycomp/watershed_workflow/ww_apr17_2024/seacas/lib/hdf5/lib: No such file or directory +++ PnetCDF +++ Downloading... --2024-04-17 15:26:28-- https://parallel-netcdf.github.io/Release/pnetcdf-1.13.0.tar.gz Resolving parallel-netcdf.github.io (parallel-netcdf.github.io) ... Connecting to parallel-netcdf.github.io ... connected. HTTP request sent, awaiting response... 200 OK Length: 2394235 (2.3M) [application/gzip] Saving to: ‘pnetcdf-1.13.0.tar.gz’

pnetcdf-1.13.0.tar.gz 100%[===========================================>] 2.28M 12.7MB/s in 0.2s

2024-04-17 15:26:29 (12.7 MB/s) - ‘pnetcdf-1.13.0.tar.gz’ saved [2394235/2394235]

+++ NetCDF +++ Downloading... Cloning into 'netcdf-c'... remote: Enumerating objects: 66698, done. remote: Counting objects: 100% (24/24), done. remote: Compressing objects: 100% (20/20), done. remote: Total 66698 (delta 6), reused 11 (delta 4), pack-reused 66674 Receiving objects: 100% (66698/66698), 62.44 MiB | 20.54 MiB/s, done. Resolving deltas: 100% (50977/50977), done. +++ CGNS +++ Downloading... Cloning into 'CGNS'... remote: Enumerating objects: 12025, done. remote: Counting objects: 100% (2012/2012), done. remote: Compressing objects: 100% (320/320), done. remote: Total 12025 (delta 1821), reused 1769 (delta 1690), pack-reused 10013 Receiving objects: 100% (12025/12025), 18.84 MiB | 25.31 MiB/s, done. Resolving deltas: 100% (8960/8960), done. +++ MatIO +++ Downloading... Cloning into 'matio'... remote: Enumerating objects: 9942, done. remote: Counting objects: 100% (1585/1585), done. remote: Compressing objects: 100% (518/518), done. remote: Total 9942 (delta 1185), reused 1322 (delta 1067), pack-reused 8357 Receiving objects: 100% (9942/9942), 5.05 MiB | 20.02 MiB/s, done. Resolving deltas: 100% (7488/7488), done. +++ FMT +++ Downloading... Cloning into 'fmt'... remote: Enumerating objects: 35141, done. remote: Counting objects: 100% (4124/4124), done. remote: Compressing objects: 100% (278/278), done. remote: Total 35141 (delta 3949), reused 3878 (delta 3830), pack-reused 31017 Receiving objects: 100% (35141/35141), 14.90 MiB | 22.75 MiB/s, done. Resolving deltas: 100% (23887/23887), done. +++ Catch2 +++ Downloading... Cloning into 'Catch2'... remote: Enumerating objects: 39291, done. remote: Counting objects: 100% (5461/5461), done. remote: Compressing objects: 100% (925/925), done. remote: Total 39291 (delta 4972), reused 4763 (delta 4536), pack-reused 33830 Receiving objects: 100% (39291/39291), 25.63 MiB | 27.43 MiB/s, done. Resolving deltas: 100% (28144/28144), done. +++ GNU Parallel +++ Downloading... --2024-04-17 15:26:41-- https://ftp.gnu.org/gnu/parallel/parallel-latest.tar.bz2 Resolving ftp.gnu.org (ftp.gnu.org)... Connecting to ftp.gnu.org ... connected. HTTP request sent, awaiting response... 200 OK Length: 2567373 (2.4M) [application/x-bzip2] Saving to: ‘parallel-latest.tar.bz2’

parallel-latest.tar.bz2 100%[===========================================>] 2.45M 1.16MB/s in 2.1s

2024-04-17 15:26:43 (1.16 MB/s) - ‘parallel-latest.tar.bz2’ saved [2567373/2567373]

gsjaardema commented 4 months ago

The first failure seems to be

mkdir: /Users/mycomp/watershed_workflow/ww_apr17_2024/seacas/lib: No such file or directory

Does /Users/mycomp/watershed_workflow/ww_apr17_2024/seacas exist? If so, can you create the lib dir or do you not have that permission?

nirsun commented 4 months ago

Thank you for the reply. /Users/mycomp/watershed_workflow/ww_apr17_2024/seacas exists. This is the git cloned folder. Yes, I can create any dir manually. I have the permission.

gsjaardema commented 4 months ago

It looks like the script is assuming that /Users/mycomp/watershed_workflow/ww_apr17_2024/seacas/lib already exists. Can you make that directory and retry the script.

I will update the script such that it works even if that direcotry does not exist...

gsjaardema commented 4 months ago

I have updated the install-tpl.sh script to create the lib dir in case it doesnt' exist prior to creating sub directories in the lib dir. This should fix the script or at least get you past that issue. Please let me know if you find any other problems.

nirsun commented 4 months ago

I tried both: 1) manually created lib --> it then created ./hdf5/lib/plugin on its own 2) git cloned new seacas --> created the same path.

In both cases, these folders are empty. The execution stops after reported downloading (of hdf5 and others) as seen before.

gsjaardema commented 4 months ago

Can you send me the output of:

MPI=YES ./install-tpl.sh --help
nirsun commented 4 months ago

Here it is:

(ww_apr17_2024) mycomp@WE49999 seacas % MPI=YES ./install-tpl.sh --help
/Users/mycomp/watershed_workflow/ww_apr17_2024/seacas
Environment Variables used in the script and their default values:

   ACCESS       = /Users/mycomp/watershed_workflow/ww_apr17_2024/seacas (Automatically set to current directory)
   INSTALL_PATH = /Users/mycomp/watershed_workflow/ww_apr17_2024/seacas
   OS           = Darwin (Automatically set)
   COMPILER     = gnu  (gnu clang intel ibm gnubrew gnumacport clangmacport nvidia)
   MPI          = YES (Parallel Build?)

   FORCE        = NO
   DOWNLOAD     = YES
   BUILD        = Invalid value for BUILD (arm64-apple-darwin20.0.0) -- Must be ON, YES, NO, or OFF
   SHARED       = YES
   DEBUG        = NO
   USE_PROXY    = NO

   NETCDF       = YES
   PNETCDF      = YES
   HDF5         = YES
   H5VERSION    = V114
   H5CPP        = NO
   CGNS         = YES
   MATIO        = YES
   METIS        = NO
   PARMETIS     = NO
   GNU_PARALLEL = YES
   FMT          = YES
   NEEDS_ZLIB   = NO
   USE_ZLIB_NG  = NO
   NEEDS_SZIP   = NO
   USE_AEC      = NO
   KOKKOS       = NO
   BB           = NO
   FAODEL       = NO
   ADIOS2       = NO
   CATALYST2    = NO
   CATCH2       = YES
   GTEST        = NO

   SUDO         =  (empty unless need superuser permission via 'sudo')
   JOBS         = 2
   VERBOSE      = 1

(ww_apr17_2024) mycomp@WE49999 seacas % 
gsjaardema commented 4 months ago

The problem is the the environment variable BUILD is set to a value the script does not recognize. See the output above. Try MPI=YES BUILD=YES ./install-tpl.sh

I will add a detection of this to the script.

gsjaardema commented 4 months ago

You can try current repository version of script and see if that works better for you...

nirsun commented 4 months ago

Thank you!

Before using the most recent repo, MPI=YES BUILD=YES ./install-tpl.sh worked fine. I could go all the way down on rest of my installation so that import exodus was successful. While the new repo still requires BUILD=YES to be included, it at least throws a build error (shown below), ERROR: Invalid value for BUILD (arm64-apple-darwin20.0.0) -- Must be ON, YES, NO, or OFF , similar to what MPI=YES ./install-tpl.sh --help reported.

The new repo works fine as well!

This is helpful.

gsjaardema commented 4 months ago

Thanks. Glad we could get it working. There must be something setting the environment variable BUILD to that value. I'm closing this issue; please reopen or submit a new one if further problems.