CentOS 7.3 上默认提供的 Fuse 软件包有点过时。 Fuse 3 和 s3fs 的编译过程应该非常简单。 Fuse 编译并安装良好:
mkdir ~/src && cd src
# Most recent version: https://github.com/libfuse/libfuse/releases
wget https://github.com/libfuse/libfuse/releases/download/fuse-3.0.0/fuse-3.0.0.tar.gz
tar xvf fuse-3.0.0.tar.gz && cd fuse-3.0.0
./configure --prefix=/usr
make
make install
export PKG_CONFIG_PATH=/usr/lib/pkgconfig:/usr/lib64
ldconfig
modprobe fuse
pkg-config –modversion fuse
没有问题......事情出现在它们应该出现的地方,
$ ls /usr/lib
:
libfuse3.a
libfuse3.la
libfuse3.so
libfuse3.so.3
libfuse3.so.3.0.0
pkgconfig
udev
$ ls /usr/local/lib/pkgconfig/
:
保险丝3.pc
$ which fusermount3
:
/usr/bin/fusermount3
所以我继续安装s3fs
:
cd ~/src
git clone https://github.com/s3fs-fuse/s3fs-fuse.git
cd s3fs-fuse
./autogen.sh
./configure --prefix=/usr
然后每次我都会这样:
...
configure: error: Package requirements (fuse >= 2.8.4 libcurl >= 7.0 libxml-2.0 >= 2.6) 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 common_lib_checking_CFLAGS
and common_lib_checking_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.
知道为什么s3fs
没有正确找到保险丝吗?
答案1
s3fs 1.8版本不支持fuse3。我学得很辛苦。
我编辑了 s3fs 配置脚本,将版本检查中的 fusion 替换为 fusion3。配置脚本之后一切顺利。但是,s3fs 编译失败,并出现一些与所使用的熔断函数不兼容的错误。 (我没有确切的编译错误 - 没有保存错误)。
我最终安装了 fusion 2.9.x,并且 s3fs 安装顺利。
答案2
尝试:
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig/
进而:
./configure