error while building the package for fuse-exfat

947 views Asked by At

I was installing fuse-exfat and got the below error while installing, I did the following things to install,

  1. git clone https://github.com/relan/exfat.git
  2. cd exfat
  3. autoreconf --install
  4. ./configure --prefix=/usr

[root@angus exfat]# ./configure --prefix=/usr
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for style of include used by make... GNU
checking dependency style of gcc... gcc3
checking for gcc option to accept ISO C99... -std=gnu99
checking for ranlib... ranlib
checking for ar... ar
checking the archiver (ar) interface... ar
checking for special C compiler options needed for large files... no
checking for _FILE_OFFSET_BITS value needed for large files... no
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes

checking for FUSE... no
configure: error: Package requirements (fuse) were not met:

No package 'fuse' found

Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.

Alternatively, you may set the environment variables FUSE_CFLAGS
and FUSE_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.

Please help to resolve the error.

2

There are 2 answers

0
sidrat On

I have found a possible solution to the existing problem of compiling exFAT from GitHub source code.

download:

https://github.com/libfuse/libfuse/releases/download/fuse-3.10.4/fuse-3.10.4.tar.xz

or:

sudo apt-get install fuse-exfat exfat-utils`

then:

git clone https://github.com/relan/exfat.git cd exfat

You must export these flages:

export FUSE_CFLAGS=-lfuse3
export FUSE_LIBS=/usr/lib/libfuse3.so
autoreconf --install

Add links to '/usr/include/fuse3/' files pointing to '/usr/include/' file name:

ln -s /usr/include/fuse3/fuse.h /usr/include/fuse.h
ln -s /usr/include/fuse3/fuse_common.h /usr/include/fuse_common.h
ln -s /usr/include/fuse3/fuse_opt.h /usr/include/fuse_opt.h
ln -s /usr/include/fuse3/fuse_log.h /usr/include/fuse_log.h

use an editor (e.g nano) and edit exfat/fuse/main.c file

nano /sources/exfat/fuse/main.c

some one could make a patch for this.

old lines:

filler(buffer, ".", NULL, 0);
filler(buffer, "..", NULL, 0);
filler(buffer, name, &stbuf, 0);

new lines:

filler(buffer, ".", NULL,0, 0);
filler(buffer, "..", NULL,0, 0);
filler(buffer, name, &stbuf,0, 0);

now compile the program:

./configure --prefix=/usr
make
make install

this was successfully compiled and installed on Linux , I am currently working my way though the Beyond Linux from Scratch book, the goal is to have a custom OS.

0
Mohan On

checking for FUSE... no

So I think you need to try install fuse because it's required listed in README.md.

To install fuse-exfat and exfat-utils packages:

sudo apt-get install fuse-exfat exfat-utils