在为fuse-exfat构建软件包时出错

时间:2015-11-25 07:09:20

标签: linux fuse exfat-fuse

我正在安装fuse-exfat并在安装时遇到以下错误,我做了以下安装,

  1. git clone https://github.com/relan/exfat.git
  2. cd exfat <​​/ li>
  3. autoreconf --install
  4. ./ configure --prefix = / usr
  5. [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.
    

    请帮助解决错误。

2 个答案:

答案 0 :(得分:1)

我找到了一个可能的解决方案来解决从 GitHub 源代码编译 exFAT 的现有问题。

下载:

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

或:

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

然后:

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

您必须导出这些标志:

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

添加指向“/usr/include/”文件名的“/usr/include/fuse3/”文件链接:

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

使用编辑器(例如 nano)并编辑 exfat/fuse/main.c 文件

nano /sources/exfat/fuse/main.c

有人可以为此制作补丁。

旧行:

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

新行:

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

现在编译程序:

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

这已成功编译并安装在 Linux 上,我目前正在通过 Beyond Linux from Scratch 一书工作,目标是拥有一个自定义操作系统。

答案 1 :(得分:0)

  

检查FUSE ...否

所以我认为您需要尝试安装保险丝,因为它需要README.md中列出。

安装fuse-exfat和exfat-utils软件包:

sudo apt-get install fuse-exfat exfat-utils