How about a std configure / make system?

A forum dedicated to feature requests and the future direction of OpenSees, i.e. what would you like, what do you need, what should we explore

Moderators: silvia, selimgunay, Moderators

Post Reply
hjmangalam
Posts: 11
Joined: Wed Jun 01, 2011 3:28 pm
Location: UC Irvine

How about a std configure / make system?

Post by hjmangalam » Wed Jul 03, 2013 8:50 am

After patching the Makefile.def a few times, and remembering that it took several days to (fail to) compile this previously, I'm going to politely, plaintively suggest that perhaps OpenSees should switch to a more standard environment flag-respecting build system, either cmake, or the GNU build chain. Many of the build files seem to have been written in the mid 00s and haven't been updated.

I really respect the contribution of open source developers and especially this system, but I can't rationalize spending a week building this thing.

The final straw was this:

In file included from commands.cpp:245:0:
/data/apps/sources/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN/SuperLU.h:48:23: fatal error: slu_ddefs.h: No such file or directory
compilation terminated.

OK - in the OTHER subdir, there are no less than 6 SuperLU subdirs.:
AMD BLAS CSPARSE LAPACK SuperLU SuperLU_3.0 SuperLU_DIST_2.0 SuperLU_MT UMFPACK
ARPACK CBLAS ITPACK METIS SuperLU_4.1 SuperLU_DIST_2.5 Triangle tetgen1.4.3

the slu_ddefs.h file that;s not being found is in:

$ find . -name slu_ddefs.h
./SuperLU_4.1/SRC/slu_ddefs.h

The OTHER dir that seems to be related to specifying this is in Makefile.def:
84 SUPERLUdir = $(HOME)/OpenSees/OTHER/SuperLU

but when that is changed or symlinked to SuperLU_4.1 it still fails.

If slu_ddefs.h id copied to SuperLU/SRC, it still fails.

For a system that seems to have ambitions of very widespread use, and has designed a pretty glitzy web site in support of it, it is among the most difficult packages to build that I've seen.

Now, I could be stupid, I could be incompetent, I could be illiterate, but I've managed to install hundreds of ill-behaved apps for Linux and while I'm sure that I could slog thru it, there are other more pressing demands on my time, so with great regret, I am telling the engineering group that wants OpenSees that they will not be getting it installed on our cluster unless there is a mor reliable install process made available.

fmk
Site Admin
Posts: 5883
Joined: Fri Jun 11, 2004 2:33 pm
Location: UC Berkeley
Contact:

Re: How about a std configure / make system?

Post by fmk » Mon Jul 22, 2013 3:14 pm

we would love to switch. it's not a trivial switch given the size of the program and dependencies, and we just don't have the resources. It's basically me looking after user questions and problems, message board, builds, website, developer requests, etc, etc. etc.

on top of that i have my own research to do.

as this is a community resource, feel free to help out

if you ever get back to the problem, i strongly using the Makefile.def.EC2-XXX as a starting point. these are the most recent Makefile.def's. they are also kept up to date and do include the list of commands that are needed to build OpenSees on machines with only the bare operating system installed. i will be removing the others, the ones that remain are for specific HPC machines (some of which have rather old and obsolete versions of the needed software packages on them)

Post Reply