vasi / squashfuse

FUSE filesystem to mount squashfs archives
Other
291 stars 66 forks source link

Compilation fails on Ubuntu Precise and CentOS 6 #12

Closed probonopd closed 4 years ago

probonopd commented 7 years ago

Full build log here.

checking for special C compiler options needed for large files... no
checking for _FILE_OFFSET_BITS value needed for large files... no
checking whether gcc and cc understand -c and -o together... yes
./configure: line 12055: SQ_PROG_CPP_POSIX_2001: command not found
./configure: line 12056: SQ_PROG_CC_WALL: command not found
./configure: line 12066: SQ_CHECK_DECL_MAKEDEV: command not found
./configure: line 12067: SQ_CHECK_DECL_PREAD: command not found
./configure: line 12068: SQ_CHECK_DECL_S_IFSOCK: command not found
./configure: line 12069: syntax error near unexpected token `:'
./configure: line 12069: `SQ_CHECK_DECL_ENOATTR(:)'
probonopd commented 7 years ago

Also running into this on CentOS 6.7 with EPEL.

Full log: https://travis-ci.org/probonopd/appimagetool/jobs/168668465#L980-L988

vasi commented 7 years ago

That looks like autoconf failed to find our m4 files?

probonopd commented 7 years ago

Using autotools-latest seems to be a workaround.

Now running into ./configure: line 13091: syntax error near unexpected token 'pkgconfig_XZ,liblzma,'. Deleting 2 instances of PKG_CHECK_MODULES in configure seems to be a workaround.

Delete these:

PKG_CHECK_MODULES(pkgconfig_XZ,liblzma,
        LIBS="$LIBS $[]pkgconfig_[]XZ[]_LIBS"
        # yes, CFLAGS, we want the preprocessor to work
        CPPFLAGS="$CPPFLAGS $[]pkgconfig_[]XZ[]_CFLAGS"
        sq_lib=
    ,:)

PKG_CHECK_MODULES(pkgconfig_fuse,fuse >= 2.5,
        LIBS="$LIBS $[]pkgconfig_[]fuse[]_LIBS"
        # yes, CFLAGS, we want the preprocessor to work
        CPPFLAGS="$CPPFLAGS $[]pkgconfig_[]fuse[]_CFLAGS"
        SQ_TRY_FUSE(,[sq_fuse_found=yes],
                [AC_MSG_FAILURE([Can't find FUSE with pkgconfig])])
    ,:)

How can this be solved properly? Yes, pkg-config is installed and finds the libraries:

[root@host squashfuse]# pkg-config --cflags --libs liblzma
 -llzma  
[root@host squashfuse]# pkg-config --cflags --libs fuse
-D_FILE_OFFSET_BITS=64 -I/usr/include/fuse  -pthread -L/lib64 -lfuse -lrt -ldl  
Conan-Kudo commented 6 years ago

@probonopd squashfuse builds fine on CentOS 6. It's even in EPEL today.

vasi commented 4 years ago

It looks like you have to install autoconf/automake/pkg-config before running autogen.sh.