Centos

s3fs 拒絕在 CentOS 7 上編譯,為什麼找不到 Fuse?

  • May 3, 2017

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/:

fuse3.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沒有正確找到保險絲嗎?

s3fs 1.8 版不支持 fuse3。我學得很辛苦。

我編輯了 s3fs 配置腳本以在版本檢查中用 fuse3 替換 fuse。之後配置腳本執行良好。但是,s3fs 編譯失敗,出現與使用的熔絲函式不兼容的一些錯誤。(我沒有確切的編譯錯誤 - 沒有保存錯誤)。

我最終安裝了 fuse 2.9.x 並且 s3fs 安裝順利。

嘗試:

export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig/

進而:

./configure

引用自:https://unix.stackexchange.com/questions/346039