LLNL / libROM

Model reduction library with an emphasis on large scale parallelism and linear subspace methods
https://www.librom.net
Other
201 stars 36 forks source link

spack build fails #5

Open rw-anderson opened 5 years ago

rw-anderson commented 5 years ago

A spack build fails on my machine when make determines that configure.ac is newer than aclocal.m4, and wants to rebuild aclocal.m4. This leads to problems with a version mismatch in the autotools on my local machine vs what was run to build what's in the repo.

I think there are two possible routes to solving this issue.

  1. Have spack download a tarball instead of check out the git archive. The tarball will be a distribution tarball with a configure script and makefile, but no autotools stuff.

  2. Remove all generated files from the repo, so automake rebuilds everything fresh, which should prevent problems with version mismatches.

I think solution 1. is preferable and will sidestep a lot of possible headaches with requiring autotools on the destination machine.

rw-anderson commented 5 years ago

I attempted to go down path 1. here, but quickly ran into problems with the 'make dist' target being broken. After chasing many twisty turns into 15+ year old m4 scripts, I decided to take a shot at refurbishing the automake system, trying to stick to standard autoconf library macros and simplifying things where possible.

It's to a state now where it builds using a branch of spack from here, at least on the machine I'm currently developing on. https://github.com/rw-anderson/spack/tree/features/rwa/librom-update

Still need to resurrect some of the options like elemental, test on a few different machines, and clean up.

SudhakarYogaraj commented 2 years ago

Installing using "spack install librom" gives the following error: Error: RuntimeError: Cannot generate configure: missing dependencies: autoconf, automake, libtool.

I understand this is due to the use of CMake instead of autoconf tools. Could you please explain how to solve this issue?

kevinhkhuynh commented 2 years ago

Installing using "spack install librom" gives the following error: Error: RuntimeError: Cannot generate configure: missing dependencies: autoconf, automake, libtool.

I understand this is due to the use of CMake instead of autoconf tools. Could you please explain how to solve this issue?

Hello. We are looking into this spack error and will have some instructions on how to solve this issue soon.

kevinhkhuynh commented 2 years ago

Installing using "spack install librom" gives the following error: Error: RuntimeError: Cannot generate configure: missing dependencies: autoconf, automake, libtool.

I understand this is due to the use of CMake instead of autoconf tools. Could you please explain how to solve this issue?

Sorry for the delay. We have put in a PR to spack to update the broken package there and it is currently in review. We will let you know once it has been fixed.

SudhakarYogaraj commented 2 years ago

Thanks. Please update once it is fixed.

lujiabo98 commented 2 years ago

@kevinhkhuynh Hello, I met the same problem when use spack to install libROM today. Would you please tell me how to solve it?

WSL system: ubuntu20.04 The Error Information is: ` ljb@DESKTOP-075U1PK:~/spack/bin$ ./spack install librom ==> Warning: Missing a source id for librom@develop [+] /home/ljb/spack/opt/spack/linux-ubuntu20.04-zen2/gcc-9.4.0/libiconv-1.16-xmcs67a7vcefccfdr5wypuzufn66tqc6 [+] /home/ljb/spack/opt/spack/linux-ubuntu20.04-zen2/gcc-9.4.0/zlib-1.2.12-jbd75byn4kc2yosf6xawzqlmqmqszxth [+] /home/ljb/spack/opt/spack/linux-ubuntu20.04-zen2/gcc-9.4.0/libsigsegv-2.13-azfnq5ahh6myp6u2n26oi7iimg7ptz4y [+] /home/ljb/spack/opt/spack/linux-ubuntu20.04-zen2/gcc-9.4.0/berkeley-db-18.1.40-m5ephzch7jvde4i7srenc646dzb3yafu [+] /home/ljb/spack/opt/spack/linux-ubuntu20.04-zen2/gcc-9.4.0/pkgconf-1.8.0-izrtaeucfycz3wibfp36v4w7ojkhpdhw [+] /home/ljb/spack/opt/spack/linux-ubuntu20.04-zen2/gcc-9.4.0/findutils-4.9.0-opntxepcfq7sbqnrmthf2isplsgfr6wl [+] /home/ljb/spack/opt/spack/linux-ubuntu20.04-zen2/gcc-9.4.0/libmd-1.0.4-s7t2fzqxv2cafcgze2ype2jdzphmxkb3 [+] /home/ljb/spack/opt/spack/linux-ubuntu20.04-zen2/gcc-9.4.0/xz-5.2.5-diom7esjpzatnfzl4ydjdawheqtnaj6n [+] /home/ljb/spack/opt/spack/linux-ubuntu20.04-zen2/gcc-9.4.0/zstd-1.5.2-raash355fqjqeryhgaxaba23r4rwn57b [+] /home/ljb/spack/opt/spack/linux-ubuntu20.04-zen2/gcc-9.4.0/libffi-3.4.2-2c5a3bexk7vy5ineprluolecm2oknrsc [+] /home/ljb/spack/opt/spack/linux-ubuntu20.04-zen2/gcc-9.4.0/sed-4.8-5m4v6lglrqpomndag6qpsp2t7wz5xlcm [+] /home/ljb/spack/opt/spack/linux-ubuntu20.04-zen2/gcc-9.4.0/util-macros-1.19.3-ewultadngwozcwoc262w3me2apie6553 [+] /home/ljb/spack/opt/spack/linux-ubuntu20.04-zen2/gcc-9.4.0/libszip-2.1.1-xmmsjv2wpswrunkjdww55ckm4yd7j2zl [+] /home/ljb/spack/opt/spack/linux-ubuntu20.04-zen2/gcc-9.4.0/diffutils-3.8-fnufbjuaznnbqtwho7peisz2mlr55odv [+] /home/ljb/spack/opt/spack/linux-ubuntu20.04-zen2/gcc-9.4.0/pigz-2.7-engi3eslshaxcwmty7ixaiwgckiedr7h [+] /home/ljb/spack/opt/spack/linux-ubuntu20.04-zen2/gcc-9.4.0/m4-1.4.19-zn2p3volxordgdmh76f42shx4peoxyoo [+] /home/ljb/spack/opt/spack/linux-ubuntu20.04-zen2/gcc-9.4.0/util-linux-uuid-2.37.4-g4owi6cqggunt5i2vigjk74sxye6ddvp [+] /home/ljb/spack/opt/spack/linux-ubuntu20.04-zen2/gcc-9.4.0/ncurses-6.2-z2rjqy4v3anhodg2kiuckbll7v2omtdk [+] /home/ljb/spack/opt/spack/linux-ubuntu20.04-zen2/gcc-9.4.0/libbsd-0.11.5-4rj3ww2pulwxph3njarfjybtdddzsxpj [+] /home/ljb/spack/opt/spack/linux-ubuntu20.04-zen2/gcc-9.4.0/libxml2-2.9.13-ruvgpuso4oyarli2or7zlq2pgrom2l4g [+] /home/ljb/spack/opt/spack/linux-ubuntu20.04-zen2/gcc-9.4.0/bzip2-1.0.8-i3gd6bh3w25lmkwxru33xcb3l7rotn4b [+] /home/ljb/spack/opt/spack/linux-ubuntu20.04-zen2/gcc-9.4.0/libtool-2.4.7-wuclst5sptcr7lshipuk4maao4dxnuwv [+] /home/ljb/spack/opt/spack/linux-ubuntu20.04-zen2/gcc-9.4.0/readline-8.1-ccmn5725lvz7psy35oh6lkg4ph5jpk5z [+] /home/ljb/spack/opt/spack/linux-ubuntu20.04-zen2/gcc-9.4.0/libedit-3.1-20210216-h7uduael3k2z3vt7j2kprhkxq5ivxwwg [+] /home/ljb/spack/opt/spack/linux-ubuntu20.04-zen2/gcc-9.4.0/expat-2.4.8-oaqwisj66oujolmmubzikv2b67vd4oel [+] /home/ljb/spack/opt/spack/linux-ubuntu20.04-zen2/gcc-9.4.0/tar-1.34-lkpvwapyhciji754vjefhon3hdexjewg [+] /home/ljb/spack/opt/spack/linux-ubuntu20.04-zen2/gcc-9.4.0/boost-1.79.0-bfgyhmzkb5bhpqkam4rrlur76khtyabc [+] /home/ljb/spack/opt/spack/linux-ubuntu20.04-zen2/gcc-9.4.0/libpciaccess-0.16-fjsnvlni6aqnktz62lpa3tbjtfcp4nyc [+] /home/ljb/spack/opt/spack/linux-ubuntu20.04-zen2/gcc-9.4.0/sqlite-3.38.5-hgvx47enbjcabqwecx5od62ejy4mdqlw [+] /home/ljb/spack/opt/spack/linux-ubuntu20.04-zen2/gcc-9.4.0/gdbm-1.19-np6xjv6jyguhxa34djfl33pocwdb5hsk [+] /home/ljb/spack/opt/spack/linux-ubuntu20.04-zen2/gcc-9.4.0/gettext-0.21-ndywk5l4wb5dqeqymznpdfwg6xzu52du [+] /home/ljb/spack/opt/spack/linux-ubuntu20.04-zen2/gcc-9.4.0/hwloc-2.7.1-3b7is3ql7b7t5cipxqbi2u5qbnz6yjop [+] /home/ljb/spack/opt/spack/linux-ubuntu20.04-zen2/gcc-9.4.0/perl-5.34.1-hvrzrg2omvcb4qhljjiiquo6br235mcg [+] /home/ljb/spack/opt/spack/linux-ubuntu20.04-zen2/gcc-9.4.0/openblas-0.3.20-qbm5uv3ntjerkx4jzrprmelytviwoq2e [+] /home/ljb/spack/opt/spack/linux-ubuntu20.04-zen2/gcc-9.4.0/autoconf-2.69-m5bndtu2kmc3aqy7hrkadnltezwgmerg [+] /home/ljb/spack/opt/spack/linux-ubuntu20.04-zen2/gcc-9.4.0/openssl-1.1.1o-s7ffuzqn566loccmntwcaztrallr6lwu [+] /home/ljb/spack/opt/spack/linux-ubuntu20.04-zen2/gcc-9.4.0/bison-3.8.2-nsryzv545h6ogqdbpzhobds6jqyurmh4 [+] /home/ljb/spack/opt/spack/linux-ubuntu20.04-zen2/gcc-9.4.0/automake-1.16.5-v5dhgfiqk5ugcqcu7xa44qrec4sit5ej [+] /home/ljb/spack/opt/spack/linux-ubuntu20.04-zen2/gcc-9.4.0/openssh-9.0p1-p4qc7wrsce53a2sxzi6wzdazmamvkkfp [+] /home/ljb/spack/opt/spack/linux-ubuntu20.04-zen2/gcc-9.4.0/cmake-3.23.1-vuonwlfyqxnxss7nz4yla255ilmrcghk [+] /home/ljb/spack/opt/spack/linux-ubuntu20.04-zen2/gcc-9.4.0/libevent-2.1.12-hqufjqzdjlfauazqeadqi2syzqju5lye [+] /home/ljb/spack/opt/spack/linux-ubuntu20.04-zen2/gcc-9.4.0/python-3.9.12-4lh3bcy5vm3j7hz6t3u65sj3esqtog2m [+] /home/ljb/spack/opt/spack/linux-ubuntu20.04-zen2/gcc-9.4.0/flex-2.6.3-jvxntcqs43jfceckslsia2lkdnxko4x7 [+] /home/ljb/spack/opt/spack/linux-ubuntu20.04-zen2/gcc-9.4.0/numactl-2.0.14-xn7rvhpulzifunle7itpct33ow3xbpas [+] /home/ljb/spack/opt/spack/linux-ubuntu20.04-zen2/gcc-9.4.0/pmix-4.1.2-2suwxdpsrk2n4vjiwjze72izxtfheral [+] /home/ljb/spack/opt/spack/linux-ubuntu20.04-zen2/gcc-9.4.0/graphviz-2.49.0-cgrqlz5vngwh42rq2xnjvwc4jkgoq3yy [+] /home/ljb/spack/opt/spack/linux-ubuntu20.04-zen2/gcc-9.4.0/doxygen-1.9.3-eybaeqimivjzxwszztdjzrdy2o6dzuxu [+] /home/ljb/spack/opt/spack/linux-ubuntu20.04-zen2/gcc-9.4.0/openmpi-4.1.3-o2cujgppvl4fztcp6xeq7qphwgg5oz4r [+] /home/ljb/spack/opt/spack/linux-ubuntu20.04-zen2/gcc-9.4.0/hdf5-1.12.2-ynlukcfvnkbvnoxbfdblc4qdadftzlf5 ==> Installing librom-develop-b6jy6gomfsajnbpr3dypdmjk75xl4l7f ==> No binary for librom-develop-b6jy6gomfsajnbpr3dypdmjk75xl4l7f found: installing from source ==> No patches needed for librom ==> librom: Executing phase: 'autoreconf' ==> Error: RuntimeError: Cannot generate configure: missing dependencies: autoconf, automake, libtool.

Please add the following lines to the package:

depends_on('autoconf', type='build', when='@develop')
depends_on('automake', type='build', when='@develop')
depends_on('libtool', type='build', when='@develop')

Update the version (when='@develop') as needed.

/home/ljb/spack/lib/spack/spack/build_systems/autotools.py:330, in _require_build_deps: 327 msg += (" depends_on('{0}', type='build', when='@{1}')\n" 328 .format(dep, spec.version)) 329

330 msg += "\nUpdate the version (when='@@{0}') as needed.".format(spec.version) 331 raise RuntimeError(msg)

See build log for details: /tmp/ljb/spack-stage/spack-stage-librom-develop-b6jy6gomfsajnbpr3dypdmjk75xl4l7f/spack-build-out.txt`