mirror of
https://github.com/s3fs-fuse/s3fs-fuse.git
synced 2024-12-22 16:58:55 +00:00
2.3 KiB
2.3 KiB
Compilation from source code
These are generic instructions should work on almost any GNU/Linux, macOS, BSD, or similar.
If you want specific instructions for some distributions, check the wiki.
Keep in mind using the pre-built packages when available.
- Ensure your system satisfies build and runtime dependencies for:
- fuse >= 2.8.4
- automake
- gcc-c++
- make
- libcurl
- libxml2
- openssl
- mime.types (the package providing depends on the OS)
- s3fs tries to detect
/etc/mime.types
as default regardless of the OS - Else s3fs tries to detect
/etc/apache2/mime.types
if OS is macOS - s3fs exits with an error if these files are not exist
- Alternatively, you can set mime.types file path with
mime
option without detecting these default files
- s3fs tries to detect
- pkg-config (or your OS equivalent)
- Then compile from master via the following commands:
git clone https://github.com/s3fs-fuse/s3fs-fuse.git
cd s3fs-fuse
./autogen.sh
./configure
make
sudo make install
Compilation on Windows (using MSYS2)
On Windows, use MSYS2 to compile for itself.
-
Install WinFsp to your machine.
-
Install dependencies onto MSYS2:
pacman -S git autoconf automake gcc make pkg-config libopenssl-devel libcurl-devel libxml2-devel libzstd-devel
-
Clone this repository, then change directory into the cloned one.
-
Copy WinFsp files to the directory:
cp -r "/c/Program Files (x86)/WinFsp" "./WinFsp"
-
Write
fuse.pc
to resolve the package correctly:cat > ./fuse.pc << 'EOS' arch=x64 prefix=${pcfiledir}/WinFsp incdir=${prefix}/inc/fuse implib=${prefix}/bin/winfsp-${arch}.dll Name: fuse Description: WinFsp FUSE compatible API Version: 2.8.4 URL: http://www.secfs.net/winfsp/ Libs: "${implib}" Cflags: -I"${incdir}" EOS
-
Compile using the command line:
./autogen.sh PKG_CONFIG_PATH="$PKG_CONFIG_PATH:$(pwd)" ./configure make
-
Copy binary files to distribute at one place:
mkdir ./bin cp ./src/s3fs.exe ./bin/ cp ./WinFsp/bin/winfsp-x64.dll ./bin/ cp /usr/bin/msys-*.dll ./bin/
-
Distribute these files.