Closed Biswa96 closed 4 months ago
I found the cause of this issue after writing it. rubberducking really works :duck:
The source tarball in release page has config.h which defines HAVE_FUSE_LL_FORGET_OP_64T
macro. In case of out-of-tree build, the src-dir/config.h is included instead of build-dir/config.h.
The source tarball in release page has config.h which defines
HAVE_FUSE_LL_FORGET_OP_64T
macro. In case of out-of-tree build, the src-dir/config.h is included instead of build-dir/config.h.
I don't understand what you mean. Where are src-dir and build-dir? Is that some artifact of the termux build?
That compiler error makes me think that the else
part of the code should have worked, since it defaults to using unsigned long
as the third parameter.
Where are src-dir and build-dir?
I just abbreviated source directory and build directory. I meant that the https://github.com/vasi/squashfuse/releases/download/v0.5.1/squashfuse-0.5.1.tar.gz file should not have config.h file.
That's a generated tarball that includes running autogen.sh
and configure
followed by a standard make dist
. Doesn't running configure again make a new config.h
?
Maybe you want the source tarball generated by github instead?
Doesn't running configure again make a new config.h?
Yes, running configure creates new config.h but it is in build directory in case of out-of-tree build. I do not know why the config.h from source directory is included. I have tested that deleting config.h in source directory fixes the out-of-tree build in 32 bit environment.
Maybe you want the source tarball generated by github instead?
That is what I did after finding this issue.
What exactly do you mean by an out-of-tree build?
It means source directory and build directory are different. For example,
mkdir bin; cd bin
../squashfuse/configure
make
cd squashfuse
./configure
make
Oh. I don't know if that is supported. The instructions in the README file all say to use ./configure
.
Out-of-tree builds should be supported by autotools (automake + autoconf), which is what squashfuse uses to setup configure.
Puzzling! I looked at GNU groff as an example of software that uses autotools, and its release tarballs do not contain 'config.h'. But make dist
builds a tarball that does have config.h.