hpc / charliecloud

Now hosted on GitLab.
https://gitlab.com/charliecloud/main
Apache License 2.0
312 stars 60 forks source link

spack build with +squashfuse fails #1829

Closed nschan closed 9 months ago

nschan commented 10 months ago

Hi,

I would like to use squashfs with charliecloud built via spack.

When I try to spack install charliecloud+squashfuse@0.35 I get the following error (I have changed squashfuse version to 0.5.0, but the error was the same with squashfuse@0.1.105:):

6 errors found in build log:
     12    
     13    + [[ -f Makefile ]]
     14    + rm -Rf Makefile.in ./bin/Makefile.in ./doc/Makefile.in ./examples/Makefile.in ./lib/Makefile.in ./misc/Makefile.in ./packaging/Makefile.in ./test/Makefile.in aclocal.m4 bin/config.h.in build-aux configure
     15    + [[ -n '' ]]
     16    + [[ -z '' ]]
     17    + autoreconf --force --install -Wall -Werror
  >> 18    configure.ac:234: installing 'build-aux/compile'
  >> 19    configure.ac:21: installing 'build-aux/config.guess'
  >> 20    configure.ac:21: installing 'build-aux/config.sub'
  >> 21    configure.ac:64: installing 'build-aux/install-sh'
  >> 22    configure.ac:64: installing 'build-aux/missing'
     23    bin/Makefile.am: installing 'build-aux/depcomp'
     24    + [[ ! -e lib/lark ]]
     25    + [[ -e lib/lark ]]
     26    + [[ ! -e lib/lark-0.11.3.dist-info/INSTALLER ]]
     27    + set +x
     28    

     ...

     72    checking if mksquashfs version >= 4.2... ok (4.3)
     73    checking for squashfuse... squashfuse
     74    checking if squashfuse version >= 0.1.100... ok (0.5.0)
     75    checking for fuse_set_signal_handlers in -lfuse3... yes
     76    checking for sqfs_ll_mount in -lsquashfuse_ll... yes
     77    checking for squashfuse/ll.h... no
  >> 78    configure: error: libsquashfuse requested but not found

If i try to spack install charliecloud+squashfuse@0.36 I get a different error:

==> charliecloud: Executing phase: 'autoreconf'
==> Error: ProcessError: Command exited with status 1:
    '/bin/bash' 'autogen.sh'

2 errors found in build log:
     18    + lark_found=1.1.9
     19    + [[ -n 1.1.9 ]]
     20    + [[ 1.1.9 != \1\.\1\.\9 ]]
     21    + [[ -n '' ]]
     22    + [[ -z '' ]]
     23    + autoreconf --force --install -Wall -Werror
  >> 24    configure.ac:310: error: possibly undefined macro: AC_CHECK_LIB
     25          If this token and others are legitimate, please use m4_pattern_allow.
     26          See the Autoconf documentation.
  >> 27    configure.ac:510: error: possibly undefined macro: AC_CHECK_HEADER
     28    autoreconf: /dss/dsshome1/lrz/sys/spack/release/22.2.1/opt/haswell/autoconf/2.69-gcc-qbjhuo4/bin/autoconf failed with exit status: 1

How can I install charliecloud with squashfs via spack? I also tried to install with the tarball for 0.35, but ./configure --with-libsquashfuse=yes failed as well.

reidpr commented 10 months ago

Hello @nschan, thank you for the bug report!

When I try to spack install charliecloud+squashfuse@0.35 I get the following error (I have changed squashfuse version to 0.5.0, but the error was the same with squashfuse@0.1.105:):

This looks a lot like #1784, which was merged in 0.36, but 0.35 should build against SquashFUSE 0.1.105, 0.2.0, and 0.4.0. Can you double-check that 0.1.105 fails in the same way, specifically that you get both “checking if squashfuse version >= 0.1.100... ok (0.1.105)” and “libsquashfuse requested but not found”?

>> 24    configure.ac:310: error: possibly undefined macro: AC_CHECK_LIB
>> 27    configure.ac:510: error: possibly undefined macro: AC_CHECK_HEADER

This one we’ve seen recently in a different context. @kchilleri ran into it on while trying to install on a Ubuntu box. The solution was apt install pkg-config, though we never figured out why.

I haven’t yet tried to reproduce, but I do see we are not testing the Spack install with +libfuse. Looks like that is an oversight.

nschan commented 10 months ago

Hello @reidpr

I think i was wrong, it never built against 0.1.105 but always against master. (see https://github.com/spack/spack/blob/57fe3430fd902ffa19e4fd0bcfee7c07842ec1ad/var/spack/repos/builtin/packages/charliecloud/package.py#L134 0.1.105:).

Building charliecloud+squashfuse@0.36 after installing and loading pkg-config via spack worked fine.

nschan commented 9 months ago

Since this has been resolved by installing pkg-config I am closing this issue. I also noticed that the current spack config file does not work as is for me (spack 0.17.1), I guess it is possible that this is ok in more recent versions, but maintainers("j-ogas", "reidpr") should probably be maintainers = ["j-ogas", "reidpr"].

j-ogas commented 9 months ago

See https://github.com/spack/spack/pull/42590.