[GH-ISSUE #1632] Apple Silicon (M1): Installing via brew fails due to missing FUSE #856

Open
opened 2026-03-04 01:49:25 +03:00 by kerem · 24 comments
Owner

Originally created by @JulianAssmann on GitHub (Apr 24, 2021).
Original GitHub issue: https://github.com/s3fs-fuse/s3fs-fuse/issues/1632

I tried installing s3fs via brew on a Macbook Air (late 2020), which has the new Apple Silicon M1 chip inside, by typing:

brew install osxfuse
(Restarting)
brew install s3fs

but it failed with the message

Error: s3fs has been disabled because it requires FUSE!

I also tried compiling s3fs by myself by typing

brew install curl shared-mime-info libxml2 openssl osxfuse automake gcc make pkg-config
./autogen.sh
./configure

but it fails on the configure step with the error:

./configure: line 5438: syntax error near unexpected token `common_lib_checking,'
./configure: line 5438: `PKG_CHECK_MODULES(common_lib_checking, fuse >= ${min_fuse_version} libcurl >= 7.0 libxml-2.0 >= 2.6 )'

OS

MacOS Big Sur

Kernel information (sysctl kern.version)

kern.version: Darwin Kernel Version 20.3.0: Thu Jan 21 00:06:51 PST 2021; root:xnu-7195.81.3~1/RELEASE_ARM64_T8101

Originally created by @JulianAssmann on GitHub (Apr 24, 2021). Original GitHub issue: https://github.com/s3fs-fuse/s3fs-fuse/issues/1632 I tried installing `s3fs` via `brew` on a Macbook Air (late 2020), which has the new Apple Silicon M1 chip inside, by typing: `brew install osxfuse` (Restarting) `brew install s3fs` but it failed with the message `Error: s3fs has been disabled because it requires FUSE!` I also tried compiling `s3fs` by myself by typing ``` brew install curl shared-mime-info libxml2 openssl osxfuse automake gcc make pkg-config ./autogen.sh ./configure ``` but it fails on the `configure` step with the error: ``` ./configure: line 5438: syntax error near unexpected token `common_lib_checking,' ./configure: line 5438: `PKG_CHECK_MODULES(common_lib_checking, fuse >= ${min_fuse_version} libcurl >= 7.0 libxml-2.0 >= 2.6 )' ``` #### OS MacOS Big Sur #### Kernel information (`sysctl kern.version`) kern.version: Darwin Kernel Version 20.3.0: Thu Jan 21 00:06:51 PST 2021; root:xnu-7195.81.3~1/RELEASE_ARM64_T8101
Author
Owner

@gaul commented on GitHub (Apr 25, 2021):

I believe that the Homebrew error is intentional from their maintainers. The Homebrew MacFUSE 3.x version is older and does not support newer macOS versions and the newer MacFUSE 4.x versions have a different license that Homebrew objects to. I believe that you can install MacFUSE 4.x yourself and osxfuse/osxfuse#754 suggests that M1-based MacBooks require this. Unfortunately I don't have a recent MacBook to test this so we would appreciate your testing and feedback. If you can get this working we should rewrite the installation instructions for other users.

<!-- gh-comment-id:826177613 --> @gaul commented on GitHub (Apr 25, 2021): I believe that the Homebrew error is intentional from their maintainers. The Homebrew MacFUSE 3.x version is older and does not support newer macOS versions and the newer MacFUSE 4.x versions have a different license that Homebrew objects to. I believe that you can install MacFUSE 4.x yourself and osxfuse/osxfuse#754 suggests that M1-based MacBooks require this. Unfortunately I don't have a recent MacBook to test this so we would appreciate your testing and feedback. If you can get this working we should rewrite the installation instructions for other users.
Author
Owner

@ryan-williams commented on GitHub (Apr 25, 2021):

I'm not sure the issue with brew/osxfuse is specific to M1 hardware. I had to work around it on a 2017 (pre-M1) macbook pro recently.

I think I just uninstalled the osxfuse cask:

brew cask uninstall osxfuse

and installed macFUSE (clicking through various scary-sounding modals).

My s3fs is just installed via brew. It's interesting that brew info implies s3fs is disabled due to FUSE support no longer being available via brew:

brew info s3fs
s3fs: stable 1.87 (bottled), HEAD
FUSE-based file system backed by Amazon S3
https://github.com/s3fs-fuse/s3fs-fuse/wiki
Disabled because it requires FUSE!
/usr/local/Cellar/s3fs/1.87 (8 files, 695.8KB) *
  Poured from bottle on 2020-09-04 at 09:54:33
From: https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/s3fs.rb
License: GPL-2.0-or-later
==> Dependencies
Build: autoconf ✔, automake ✔, pkg-config ✔
Required: gnutls ✔, libgcrypt ✔, nettle ✔
==> Options
--HEAD
	Install HEAD version
==> Analytics
install: 273 (30 days), 1,418 (90 days), 8,162 (365 days)
install-on-request: 272 (30 days), 1,416 (90 days), 8,099 (365 days)
build-error: 0 (30 days)

I also have an M1 macbook I can try this on at some point / if you think it would be specifically useful.

<!-- gh-comment-id:826334059 --> @ryan-williams commented on GitHub (Apr 25, 2021): I'm not sure the issue with `brew`/`osxfuse` is specific to M1 hardware. I had to work around it on a 2017 (pre-M1) macbook pro recently. I think I just uninstalled the `osxfuse` cask: ```bash brew cask uninstall osxfuse ``` and installed [macFUSE](https://osxfuse.github.io/) (clicking through various scary-sounding modals). My `s3fs` is just installed via `brew`. It's interesting that `brew info` implies `s3fs` is disabled due to FUSE support no longer being available via brew: ```bash brew info s3fs ``` ``` s3fs: stable 1.87 (bottled), HEAD FUSE-based file system backed by Amazon S3 https://github.com/s3fs-fuse/s3fs-fuse/wiki Disabled because it requires FUSE! /usr/local/Cellar/s3fs/1.87 (8 files, 695.8KB) * Poured from bottle on 2020-09-04 at 09:54:33 From: https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/s3fs.rb License: GPL-2.0-or-later ==> Dependencies Build: autoconf ✔, automake ✔, pkg-config ✔ Required: gnutls ✔, libgcrypt ✔, nettle ✔ ==> Options --HEAD Install HEAD version ==> Analytics install: 273 (30 days), 1,418 (90 days), 8,162 (365 days) install-on-request: 272 (30 days), 1,416 (90 days), 8,099 (365 days) build-error: 0 (30 days) ``` I also have an M1 macbook I can try this on at some point / if you think it would be specifically useful.
Author
Owner

@ryan-williams commented on GitHub (May 5, 2021):

Just trying this on my M1 macbook, and sure enough, brew install s3fs just fails w the error msg reported above:

$ brew install s3fs
Error: s3fs has been disabled because it requires FUSE!

What's a little strange is that I installed macFUSE (including booting into recovery mode and enabling system extensions), similarly to what I did on my older macbook.

I'm wondering if on my older macbook, s3fs registered that I had the osxfuse cask installed at one point, and so it proceeded to install. afaict, I have FUSE, so s3fs should be able to run.

Unless the issue is truly that s3fs devs intentionally don't want s3fs to be runnable against newer macFUSE due to licensing concerns… (I misremembered; the licensing issues are between Homebrew and FUSE: https://github.com/Homebrew/homebrew-core/pull/64491)

I'll poke at a whether there are other ways to install s3fs on my M1, and report back; I really need it, and am switching to this M1 full-time soon as I have to return the older macbook 🙀

<!-- gh-comment-id:833011222 --> @ryan-williams commented on GitHub (May 5, 2021): Just trying this on my M1 macbook, and sure enough, `brew install s3fs` just fails w the error msg reported above: ``` $ brew install s3fs Error: s3fs has been disabled because it requires FUSE! ``` What's a little strange is that I installed macFUSE (including booting into recovery mode and enabling system extensions), similarly to what I did on my older macbook. I'm wondering if on my older macbook, s3fs registered that I had the `osxfuse` cask installed at one point, and so it proceeded to install. afaict, I have FUSE, so s3fs should be able to run. ~Unless the issue is truly that s3fs devs intentionally don't want s3fs to be runnable against newer macFUSE due to licensing concerns…~ (I misremembered; the licensing issues are between Homebrew and FUSE: https://github.com/Homebrew/homebrew-core/pull/64491) I'll poke at a whether there are other ways to install s3fs on my M1, and report back; I really need it, and am switching to this M1 full-time soon as I have to return the older macbook 🙀
Author
Owner

@ryan-williams commented on GitHub (May 5, 2021):

brew install --cask osxfuse worked
==> Tapping homebrew/cask
Cloning into '/opt/homebrew/Library/Taps/homebrew/homebrew-cask'...
remote: Enumerating objects: 569140, done.
remote: Counting objects: 100% (27/27), done.
remote: Compressing objects: 100% (15/15), done.
remote: Total 569140 (delta 14), reused 23 (delta 12), pack-reused 569113
Receiving objects: 100% (569140/569140), 250.70 MiB | 19.25 MiB/s, done.
Resolving deltas: 100% (401886/401886), done.
Tapped 3900 casks (3,996 files, 268.9MB).
==> Caveats
osxfuse requires a kernel extension to work.
If the installation fails, retry after you enable it in:
  System Preferences → Security & Privacy → General

For more information, refer to vendor documentation or this Apple Technical Note:
  https://developer.apple.com/library/content/technotes/tn2459/_index.html

You must reboot for the installation of osxfuse to take effect.

==> Downloading https://github.com/osxfuse/osxfuse/releases/download/osxfuse-3.11.2/osxfuse-3.11.2.dm
==> Downloading from https://github-releases.githubusercontent.com/1867347/ab8d9600-06f1-11eb-9e31-17
######################################################################## 100.0%
==> Installing Cask osxfuse
==> Running installer for osxfuse; your password may be necessary.
Package installers may write to any location; options such as `--appdir` are ignored.
Password:
installer: Package name is FUSE for macOS
installer: Installing at base path /
installer: The install was successful.
==> Changing ownership of paths required by osxfuse; your password may be necessary.
🍺  osxfuse was successfully installed!
brew info osxfuse looks OK
osxfuse: 3.11.2
https://osxfuse.github.io/
/opt/homebrew/Caskroom/osxfuse/3.11.2 (26 files, 6.9MB)
From: https://github.com/Homebrew/homebrew-cask/blob/HEAD/Casks/osxfuse.rb
==> Name
OSXFUSE
==> Description
File system integration
==> Artifacts
Extras/FUSE for macOS 3.11.2.pkg (Pkg)
==> Caveats
osxfuse requires a kernel extension to work.
If the installation fails, retry after you enable it in:
  System Preferences → Security & Privacy → General

For more information, refer to vendor documentation or this Apple Technical Note:
  https://developer.apple.com/library/content/technotes/tn2459/_index.html

You must reboot for the installation of osxfuse to take effect.

==> Analytics
install: 12,763 (30 days), 37,606 (90 days), 131,707 (365 days)
brew install s3fs still erroring
Error: s3fs has been disabled because it requires FUSE!
<!-- gh-comment-id:833013781 --> @ryan-williams commented on GitHub (May 5, 2021): <details><summary><code>brew install --cask osxfuse</code> worked</summary> ``` ==> Tapping homebrew/cask Cloning into '/opt/homebrew/Library/Taps/homebrew/homebrew-cask'... remote: Enumerating objects: 569140, done. remote: Counting objects: 100% (27/27), done. remote: Compressing objects: 100% (15/15), done. remote: Total 569140 (delta 14), reused 23 (delta 12), pack-reused 569113 Receiving objects: 100% (569140/569140), 250.70 MiB | 19.25 MiB/s, done. Resolving deltas: 100% (401886/401886), done. Tapped 3900 casks (3,996 files, 268.9MB). ==> Caveats osxfuse requires a kernel extension to work. If the installation fails, retry after you enable it in: System Preferences → Security & Privacy → General For more information, refer to vendor documentation or this Apple Technical Note: https://developer.apple.com/library/content/technotes/tn2459/_index.html You must reboot for the installation of osxfuse to take effect. ==> Downloading https://github.com/osxfuse/osxfuse/releases/download/osxfuse-3.11.2/osxfuse-3.11.2.dm ==> Downloading from https://github-releases.githubusercontent.com/1867347/ab8d9600-06f1-11eb-9e31-17 ######################################################################## 100.0% ==> Installing Cask osxfuse ==> Running installer for osxfuse; your password may be necessary. Package installers may write to any location; options such as `--appdir` are ignored. Password: installer: Package name is FUSE for macOS installer: Installing at base path / installer: The install was successful. ==> Changing ownership of paths required by osxfuse; your password may be necessary. 🍺 osxfuse was successfully installed! ``` </details> <details><summary><code>brew info osxfuse</code> looks OK</summary> ``` osxfuse: 3.11.2 https://osxfuse.github.io/ /opt/homebrew/Caskroom/osxfuse/3.11.2 (26 files, 6.9MB) From: https://github.com/Homebrew/homebrew-cask/blob/HEAD/Casks/osxfuse.rb ==> Name OSXFUSE ==> Description File system integration ==> Artifacts Extras/FUSE for macOS 3.11.2.pkg (Pkg) ==> Caveats osxfuse requires a kernel extension to work. If the installation fails, retry after you enable it in: System Preferences → Security & Privacy → General For more information, refer to vendor documentation or this Apple Technical Note: https://developer.apple.com/library/content/technotes/tn2459/_index.html You must reboot for the installation of osxfuse to take effect. ==> Analytics install: 12,763 (30 days), 37,606 (90 days), 131,707 (365 days) ``` </details> <details><summary><code>brew install s3fs</code> still erroring</summary> ``` Error: s3fs has been disabled because it requires FUSE! ``` </details>
Author
Owner

@ryan-williams commented on GitHub (May 5, 2021):

Trying to build s3fs from source:

Download+Untar:

tar xvzf s3fs-fuse-1.89.tar.gz
cd s3fs-fuse-1.89
./autogen.sh
--- Make commit hash file -------
--- Finished commit hash file ---
--- Start autotools -------------
configure.ac:30: installing './compile'
configure.ac:26: installing './config.guess'
configure.ac:26: installing './config.sub'
configure.ac:27: installing './install-sh'
configure.ac:27: installing './missing'
src/Makefile.am: installing './depcomp'
parallel-tests: installing './test-driver'
configure.ac:24: warning: The macro `AC_CONFIG_HEADER' is obsolete.
configure.ac:24: You should run autoupdate.
./lib/autoconf/status.m4:719: AC_CONFIG_HEADER is expanded from...
configure.ac:24: the top level
configure.ac:26: warning: The macro `AC_CANONICAL_SYSTEM' is obsolete.
configure.ac:26: You should run autoupdate.
./lib/autoconf/general.m4:2081: AC_CANONICAL_SYSTEM is expanded from...
configure.ac:26: the top level
--- Finished autotools ----------

(required brew install automake for aclocal executable)

Naively running ./configure --prefix=/usr ran me into No package 'libcrypto' found error; based on suggestions in brew info openssl, I provided necessary lib/include paths via:

export LDFLAGS="-L/opt/homebrew/opt/openssl@1.1/lib"
export CPPFLAGS="-I/opt/homebrew/opt/openssl@1.1/include"
export PKG_CONFIG_PATH="/opt/homebrew/opt/openssl@1.1/lib/pkgconfig"
Then ./configure --prefix=/usr worked
checking build system type... aarch64-apple-darwin20.4.0
checking host system type... aarch64-apple-darwin20.4.0
checking target system type... aarch64-apple-darwin20.4.0
checking for a BSD-compatible install... /opt/homebrew/bin/ginstall -c
checking whether build environment is sane... yes
checking for a race-free mkdir -p... /opt/homebrew/bin/gmkdir -p
checking for gawk... no
checking for mawk... no
checking for nawk... no
checking for awk... awk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking for g++... g++
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 the compiler supports GNU C++... yes
checking whether g++ accepts -g... yes
checking for g++ option to enable C++11 features... none needed
checking whether make supports the include directive... yes (GNU style)
checking dependency style of g++... gcc3
checking for gcc... gcc
checking whether the compiler supports GNU C... yes
checking whether gcc accepts -g... yes
checking for gcc option to enable C11 features... none needed
checking whether gcc understands -c and -o together... yes
checking dependency style of gcc... gcc3
checking for stdio.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for strings.h... yes
checking for sys/stat.h... yes
checking for sys/types.h... yes
checking for unistd.h... yes
checking for sys/xattr.h... yes
checking for attr/xattr.h... no
checking for sys/extattr.h... no
checking for fallocate... no
checking s3fs build with nettle(GnuTLS)... no
checking s3fs build with OpenSSL... no
checking s3fs build with GnuTLS... no
checking s3fs build with NSS... no
checking for pkg-config... /opt/homebrew/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for fuse >= 2.7.3 libcurl >= 7.0 libxml-2.0 >= 2.6 ... yes
checking compile s3fs with... OpenSSL
checking for fuse >= 2.7.3 libcurl >= 7.0 libxml-2.0 >= 2.6 libcrypto >= 0.9 ... yes
checking for malloc_trim... no
checking for library containing clock_gettime... none required
checking for clock_gettime... yes
checking pthread mutex recursive... PTHREAD_MUTEX_RECURSIVE
checking checking CURLOPT_TCP_KEEPALIVE... yes
checking checking CURLOPT_SSL_ENABLE_ALPN... yes
checking checking CURLOPT_KEEP_SENDING_ON_ERROR... yes
checking for git... yes
checking github short commit hash... unknown
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating src/Makefile
config.status: creating test/Makefile
config.status: creating doc/Makefile
config.status: creating config.h
config.status: executing depfiles commands
Now make is failing: ld: symbol(s) not found for architecture arm64:
/Library/Developer/CommandLineTools/usr/bin/make  all-recursive
Making all in src
g++ -DHAVE_CONFIG_H -I. -I..  -D_FILE_OFFSET_BITS=64 -D_DARWIN_USE_64_BIT_INODE -I/opt/homebrew/Cellar/openssl@1.1/1.1.1k/include -I/usr/local/include/osxfuse/fuse  -I/opt/homebrew/opt/openssl@1.1/include  -g -O2 -Wall -fno-exceptions -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -MT s3fs.o -MD -MP -MF .deps/s3fs.Tpo -c -o s3fs.o s3fs.cpp
mv -f .deps/s3fs.Tpo .deps/s3fs.Po
g++ -DHAVE_CONFIG_H -I. -I..  -D_FILE_OFFSET_BITS=64 -D_DARWIN_USE_64_BIT_INODE -I/opt/homebrew/Cellar/openssl@1.1/1.1.1k/include -I/usr/local/include/osxfuse/fuse  -I/opt/homebrew/opt/openssl@1.1/include  -g -O2 -Wall -fno-exceptions -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -MT s3fs_global.o -MD -MP -MF .deps/s3fs_global.Tpo -c -o s3fs_global.o s3fs_global.cpp
mv -f .deps/s3fs_global.Tpo .deps/s3fs_global.Po
g++ -DHAVE_CONFIG_H -I. -I..  -D_FILE_OFFSET_BITS=64 -D_DARWIN_USE_64_BIT_INODE -I/opt/homebrew/Cellar/openssl@1.1/1.1.1k/include -I/usr/local/include/osxfuse/fuse  -I/opt/homebrew/opt/openssl@1.1/include  -g -O2 -Wall -fno-exceptions -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -MT s3fs_help.o -MD -MP -MF .deps/s3fs_help.Tpo -c -o s3fs_help.o s3fs_help.cpp
mv -f .deps/s3fs_help.Tpo .deps/s3fs_help.Po
g++ -DHAVE_CONFIG_H -I. -I..  -D_FILE_OFFSET_BITS=64 -D_DARWIN_USE_64_BIT_INODE -I/opt/homebrew/Cellar/openssl@1.1/1.1.1k/include -I/usr/local/include/osxfuse/fuse  -I/opt/homebrew/opt/openssl@1.1/include  -g -O2 -Wall -fno-exceptions -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -MT s3fs_logger.o -MD -MP -MF .deps/s3fs_logger.Tpo -c -o s3fs_logger.o s3fs_logger.cpp
mv -f .deps/s3fs_logger.Tpo .deps/s3fs_logger.Po
g++ -DHAVE_CONFIG_H -I. -I..  -D_FILE_OFFSET_BITS=64 -D_DARWIN_USE_64_BIT_INODE -I/opt/homebrew/Cellar/openssl@1.1/1.1.1k/include -I/usr/local/include/osxfuse/fuse  -I/opt/homebrew/opt/openssl@1.1/include  -g -O2 -Wall -fno-exceptions -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -MT s3fs_xml.o -MD -MP -MF .deps/s3fs_xml.Tpo -c -o s3fs_xml.o s3fs_xml.cpp
mv -f .deps/s3fs_xml.Tpo .deps/s3fs_xml.Po
g++ -DHAVE_CONFIG_H -I. -I..  -D_FILE_OFFSET_BITS=64 -D_DARWIN_USE_64_BIT_INODE -I/opt/homebrew/Cellar/openssl@1.1/1.1.1k/include -I/usr/local/include/osxfuse/fuse  -I/opt/homebrew/opt/openssl@1.1/include  -g -O2 -Wall -fno-exceptions -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -MT metaheader.o -MD -MP -MF .deps/metaheader.Tpo -c -o metaheader.o metaheader.cpp
mv -f .deps/metaheader.Tpo .deps/metaheader.Po
g++ -DHAVE_CONFIG_H -I. -I..  -D_FILE_OFFSET_BITS=64 -D_DARWIN_USE_64_BIT_INODE -I/opt/homebrew/Cellar/openssl@1.1/1.1.1k/include -I/usr/local/include/osxfuse/fuse  -I/opt/homebrew/opt/openssl@1.1/include  -g -O2 -Wall -fno-exceptions -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -MT mpu_util.o -MD -MP -MF .deps/mpu_util.Tpo -c -o mpu_util.o mpu_util.cpp
mv -f .deps/mpu_util.Tpo .deps/mpu_util.Po
g++ -DHAVE_CONFIG_H -I. -I..  -D_FILE_OFFSET_BITS=64 -D_DARWIN_USE_64_BIT_INODE -I/opt/homebrew/Cellar/openssl@1.1/1.1.1k/include -I/usr/local/include/osxfuse/fuse  -I/opt/homebrew/opt/openssl@1.1/include  -g -O2 -Wall -fno-exceptions -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -MT mvnode.o -MD -MP -MF .deps/mvnode.Tpo -c -o mvnode.o mvnode.cpp
mv -f .deps/mvnode.Tpo .deps/mvnode.Po
g++ -DHAVE_CONFIG_H -I. -I..  -D_FILE_OFFSET_BITS=64 -D_DARWIN_USE_64_BIT_INODE -I/opt/homebrew/Cellar/openssl@1.1/1.1.1k/include -I/usr/local/include/osxfuse/fuse  -I/opt/homebrew/opt/openssl@1.1/include  -g -O2 -Wall -fno-exceptions -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -MT curl.o -MD -MP -MF .deps/curl.Tpo -c -o curl.o curl.cpp
mv -f .deps/curl.Tpo .deps/curl.Po
g++ -DHAVE_CONFIG_H -I. -I..  -D_FILE_OFFSET_BITS=64 -D_DARWIN_USE_64_BIT_INODE -I/opt/homebrew/Cellar/openssl@1.1/1.1.1k/include -I/usr/local/include/osxfuse/fuse  -I/opt/homebrew/opt/openssl@1.1/include  -g -O2 -Wall -fno-exceptions -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -MT curl_handlerpool.o -MD -MP -MF .deps/curl_handlerpool.Tpo -c -o curl_handlerpool.o curl_handlerpool.cpp
mv -f .deps/curl_handlerpool.Tpo .deps/curl_handlerpool.Po
g++ -DHAVE_CONFIG_H -I. -I..  -D_FILE_OFFSET_BITS=64 -D_DARWIN_USE_64_BIT_INODE -I/opt/homebrew/Cellar/openssl@1.1/1.1.1k/include -I/usr/local/include/osxfuse/fuse  -I/opt/homebrew/opt/openssl@1.1/include  -g -O2 -Wall -fno-exceptions -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -MT curl_multi.o -MD -MP -MF .deps/curl_multi.Tpo -c -o curl_multi.o curl_multi.cpp
mv -f .deps/curl_multi.Tpo .deps/curl_multi.Po
g++ -DHAVE_CONFIG_H -I. -I..  -D_FILE_OFFSET_BITS=64 -D_DARWIN_USE_64_BIT_INODE -I/opt/homebrew/Cellar/openssl@1.1/1.1.1k/include -I/usr/local/include/osxfuse/fuse  -I/opt/homebrew/opt/openssl@1.1/include  -g -O2 -Wall -fno-exceptions -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -MT curl_util.o -MD -MP -MF .deps/curl_util.Tpo -c -o curl_util.o curl_util.cpp
mv -f .deps/curl_util.Tpo .deps/curl_util.Po
g++ -DHAVE_CONFIG_H -I. -I..  -D_FILE_OFFSET_BITS=64 -D_DARWIN_USE_64_BIT_INODE -I/opt/homebrew/Cellar/openssl@1.1/1.1.1k/include -I/usr/local/include/osxfuse/fuse  -I/opt/homebrew/opt/openssl@1.1/include  -g -O2 -Wall -fno-exceptions -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -MT bodydata.o -MD -MP -MF .deps/bodydata.Tpo -c -o bodydata.o bodydata.cpp
mv -f .deps/bodydata.Tpo .deps/bodydata.Po
g++ -DHAVE_CONFIG_H -I. -I..  -D_FILE_OFFSET_BITS=64 -D_DARWIN_USE_64_BIT_INODE -I/opt/homebrew/Cellar/openssl@1.1/1.1.1k/include -I/usr/local/include/osxfuse/fuse  -I/opt/homebrew/opt/openssl@1.1/include  -g -O2 -Wall -fno-exceptions -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -MT s3objlist.o -MD -MP -MF .deps/s3objlist.Tpo -c -o s3objlist.o s3objlist.cpp
mv -f .deps/s3objlist.Tpo .deps/s3objlist.Po
g++ -DHAVE_CONFIG_H -I. -I..  -D_FILE_OFFSET_BITS=64 -D_DARWIN_USE_64_BIT_INODE -I/opt/homebrew/Cellar/openssl@1.1/1.1.1k/include -I/usr/local/include/osxfuse/fuse  -I/opt/homebrew/opt/openssl@1.1/include  -g -O2 -Wall -fno-exceptions -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -MT cache.o -MD -MP -MF .deps/cache.Tpo -c -o cache.o cache.cpp
mv -f .deps/cache.Tpo .deps/cache.Po
g++ -DHAVE_CONFIG_H -I. -I..  -D_FILE_OFFSET_BITS=64 -D_DARWIN_USE_64_BIT_INODE -I/opt/homebrew/Cellar/openssl@1.1/1.1.1k/include -I/usr/local/include/osxfuse/fuse  -I/opt/homebrew/opt/openssl@1.1/include  -g -O2 -Wall -fno-exceptions -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -MT string_util.o -MD -MP -MF .deps/string_util.Tpo -c -o string_util.o string_util.cpp
mv -f .deps/string_util.Tpo .deps/string_util.Po
g++ -DHAVE_CONFIG_H -I. -I..  -D_FILE_OFFSET_BITS=64 -D_DARWIN_USE_64_BIT_INODE -I/opt/homebrew/Cellar/openssl@1.1/1.1.1k/include -I/usr/local/include/osxfuse/fuse  -I/opt/homebrew/opt/openssl@1.1/include  -g -O2 -Wall -fno-exceptions -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -MT s3fs_util.o -MD -MP -MF .deps/s3fs_util.Tpo -c -o s3fs_util.o s3fs_util.cpp
mv -f .deps/s3fs_util.Tpo .deps/s3fs_util.Po
g++ -DHAVE_CONFIG_H -I. -I..  -D_FILE_OFFSET_BITS=64 -D_DARWIN_USE_64_BIT_INODE -I/opt/homebrew/Cellar/openssl@1.1/1.1.1k/include -I/usr/local/include/osxfuse/fuse  -I/opt/homebrew/opt/openssl@1.1/include  -g -O2 -Wall -fno-exceptions -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -MT fdcache.o -MD -MP -MF .deps/fdcache.Tpo -c -o fdcache.o fdcache.cpp
mv -f .deps/fdcache.Tpo .deps/fdcache.Po
g++ -DHAVE_CONFIG_H -I. -I..  -D_FILE_OFFSET_BITS=64 -D_DARWIN_USE_64_BIT_INODE -I/opt/homebrew/Cellar/openssl@1.1/1.1.1k/include -I/usr/local/include/osxfuse/fuse  -I/opt/homebrew/opt/openssl@1.1/include  -g -O2 -Wall -fno-exceptions -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -MT fdcache_entity.o -MD -MP -MF .deps/fdcache_entity.Tpo -c -o fdcache_entity.o fdcache_entity.cpp
mv -f .deps/fdcache_entity.Tpo .deps/fdcache_entity.Po
g++ -DHAVE_CONFIG_H -I. -I..  -D_FILE_OFFSET_BITS=64 -D_DARWIN_USE_64_BIT_INODE -I/opt/homebrew/Cellar/openssl@1.1/1.1.1k/include -I/usr/local/include/osxfuse/fuse  -I/opt/homebrew/opt/openssl@1.1/include  -g -O2 -Wall -fno-exceptions -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -MT fdcache_page.o -MD -MP -MF .deps/fdcache_page.Tpo -c -o fdcache_page.o fdcache_page.cpp
mv -f .deps/fdcache_page.Tpo .deps/fdcache_page.Po
g++ -DHAVE_CONFIG_H -I. -I..  -D_FILE_OFFSET_BITS=64 -D_DARWIN_USE_64_BIT_INODE -I/opt/homebrew/Cellar/openssl@1.1/1.1.1k/include -I/usr/local/include/osxfuse/fuse  -I/opt/homebrew/opt/openssl@1.1/include  -g -O2 -Wall -fno-exceptions -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -MT fdcache_stat.o -MD -MP -MF .deps/fdcache_stat.Tpo -c -o fdcache_stat.o fdcache_stat.cpp
mv -f .deps/fdcache_stat.Tpo .deps/fdcache_stat.Po
g++ -DHAVE_CONFIG_H -I. -I..  -D_FILE_OFFSET_BITS=64 -D_DARWIN_USE_64_BIT_INODE -I/opt/homebrew/Cellar/openssl@1.1/1.1.1k/include -I/usr/local/include/osxfuse/fuse  -I/opt/homebrew/opt/openssl@1.1/include  -g -O2 -Wall -fno-exceptions -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -MT fdcache_auto.o -MD -MP -MF .deps/fdcache_auto.Tpo -c -o fdcache_auto.o fdcache_auto.cpp
mv -f .deps/fdcache_auto.Tpo .deps/fdcache_auto.Po
g++ -DHAVE_CONFIG_H -I. -I..  -D_FILE_OFFSET_BITS=64 -D_DARWIN_USE_64_BIT_INODE -I/opt/homebrew/Cellar/openssl@1.1/1.1.1k/include -I/usr/local/include/osxfuse/fuse  -I/opt/homebrew/opt/openssl@1.1/include  -g -O2 -Wall -fno-exceptions -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -MT addhead.o -MD -MP -MF .deps/addhead.Tpo -c -o addhead.o addhead.cpp
mv -f .deps/addhead.Tpo .deps/addhead.Po
g++ -DHAVE_CONFIG_H -I. -I..  -D_FILE_OFFSET_BITS=64 -D_DARWIN_USE_64_BIT_INODE -I/opt/homebrew/Cellar/openssl@1.1/1.1.1k/include -I/usr/local/include/osxfuse/fuse  -I/opt/homebrew/opt/openssl@1.1/include  -g -O2 -Wall -fno-exceptions -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -MT sighandlers.o -MD -MP -MF .deps/sighandlers.Tpo -c -o sighandlers.o sighandlers.cpp
mv -f .deps/sighandlers.Tpo .deps/sighandlers.Po
g++ -DHAVE_CONFIG_H -I. -I..  -D_FILE_OFFSET_BITS=64 -D_DARWIN_USE_64_BIT_INODE -I/opt/homebrew/Cellar/openssl@1.1/1.1.1k/include -I/usr/local/include/osxfuse/fuse  -I/opt/homebrew/opt/openssl@1.1/include  -g -O2 -Wall -fno-exceptions -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -MT autolock.o -MD -MP -MF .deps/autolock.Tpo -c -o autolock.o autolock.cpp
mv -f .deps/autolock.Tpo .deps/autolock.Po
g++ -DHAVE_CONFIG_H -I. -I..  -D_FILE_OFFSET_BITS=64 -D_DARWIN_USE_64_BIT_INODE -I/opt/homebrew/Cellar/openssl@1.1/1.1.1k/include -I/usr/local/include/osxfuse/fuse  -I/opt/homebrew/opt/openssl@1.1/include  -g -O2 -Wall -fno-exceptions -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -MT common_auth.o -MD -MP -MF .deps/common_auth.Tpo -c -o common_auth.o common_auth.cpp
mv -f .deps/common_auth.Tpo .deps/common_auth.Po
g++ -DHAVE_CONFIG_H -I. -I..  -D_FILE_OFFSET_BITS=64 -D_DARWIN_USE_64_BIT_INODE -I/opt/homebrew/Cellar/openssl@1.1/1.1.1k/include -I/usr/local/include/osxfuse/fuse  -I/opt/homebrew/opt/openssl@1.1/include  -g -O2 -Wall -fno-exceptions -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -MT openssl_auth.o -MD -MP -MF .deps/openssl_auth.Tpo -c -o openssl_auth.o openssl_auth.cpp
mv -f .deps/openssl_auth.Tpo .deps/openssl_auth.Po
g++  -g -O2 -Wall -fno-exceptions -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2  -L/opt/homebrew/opt/openssl@1.1/lib -o s3fs s3fs.o s3fs_global.o s3fs_help.o s3fs_logger.o s3fs_xml.o metaheader.o mpu_util.o mvnode.o curl.o curl_handlerpool.o curl_multi.o curl_util.o bodydata.o s3objlist.o cache.o string_util.o s3fs_util.o fdcache.o fdcache_entity.o fdcache_page.o fdcache_stat.o fdcache_auto.o addhead.o sighandlers.o autolock.o common_auth.o openssl_auth.o   -L/opt/homebrew/Cellar/openssl@1.1/1.1.1k/lib -L/usr/local/lib -losxfuse -lcurl -lxml2 -lcrypto
ld: warning: ignoring file /usr/local/lib/libosxfuse.dylib, missing required architecture arm64 in file /usr/local/lib/libosxfuse.dylib (4 slices)
Undefined symbols for architecture arm64:
  "_fuse_exit", referenced from:
      s3fs_exit_fuseloop(int) in s3fs.o
      create_mvnode(char const*, char const*, bool, bool) in mvnode.o
      S3fsCurl::WriteMemoryCallback(void*, unsigned long, unsigned long, void*) in curl.o
  "_fuse_get_context", referenced from:
      s3fs_mknod(char const*, unsigned short, int) in s3fs.o
      s3fs_mkdir(char const*, unsigned short) in s3fs.o
      s3fs_symlink(char const*, char const*) in s3fs.o
      s3fs_truncate(char const*, long long) in s3fs.o
      s3fs_create(char const*, unsigned short, fuse_file_info*) in s3fs.o
      check_object_access(char const*, int, stat*) in s3fs.o
      check_object_owner(char const*, stat*) in s3fs.o
      ...
  "_fuse_main_real", referenced from:
      _main in s3fs.o
  "_fuse_opt_free_args", referenced from:
      _main in s3fs.o
  "_fuse_opt_parse", referenced from:
      _main in s3fs.o
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [s3fs] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

Any guidance appreciated 🙏

<!-- gh-comment-id:833036048 --> @ryan-williams commented on GitHub (May 5, 2021): Trying to build `s3fs` from source: Download+Untar: ```bash tar xvzf s3fs-fuse-1.89.tar.gz cd s3fs-fuse-1.89 ``` <details><summary><code>./autogen.sh</code></summary> ``` --- Make commit hash file ------- --- Finished commit hash file --- --- Start autotools ------------- configure.ac:30: installing './compile' configure.ac:26: installing './config.guess' configure.ac:26: installing './config.sub' configure.ac:27: installing './install-sh' configure.ac:27: installing './missing' src/Makefile.am: installing './depcomp' parallel-tests: installing './test-driver' configure.ac:24: warning: The macro `AC_CONFIG_HEADER' is obsolete. configure.ac:24: You should run autoupdate. ./lib/autoconf/status.m4:719: AC_CONFIG_HEADER is expanded from... configure.ac:24: the top level configure.ac:26: warning: The macro `AC_CANONICAL_SYSTEM' is obsolete. configure.ac:26: You should run autoupdate. ./lib/autoconf/general.m4:2081: AC_CANONICAL_SYSTEM is expanded from... configure.ac:26: the top level --- Finished autotools ---------- ``` </details> (required `brew install automake` for `aclocal` executable) Naively running `./configure --prefix=/usr` ran me into `No package 'libcrypto' found` error; based on suggestions in `brew info openssl`, I provided necessary lib/include paths via: ```bash export LDFLAGS="-L/opt/homebrew/opt/openssl@1.1/lib" export CPPFLAGS="-I/opt/homebrew/opt/openssl@1.1/include" export PKG_CONFIG_PATH="/opt/homebrew/opt/openssl@1.1/lib/pkgconfig" ``` <details><summary>Then <code>./configure --prefix=/usr</code> worked</summary> ``` checking build system type... aarch64-apple-darwin20.4.0 checking host system type... aarch64-apple-darwin20.4.0 checking target system type... aarch64-apple-darwin20.4.0 checking for a BSD-compatible install... /opt/homebrew/bin/ginstall -c checking whether build environment is sane... yes checking for a race-free mkdir -p... /opt/homebrew/bin/gmkdir -p checking for gawk... no checking for mawk... no checking for nawk... no checking for awk... awk checking whether make sets $(MAKE)... yes checking whether make supports nested variables... yes checking for g++... g++ 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 the compiler supports GNU C++... yes checking whether g++ accepts -g... yes checking for g++ option to enable C++11 features... none needed checking whether make supports the include directive... yes (GNU style) checking dependency style of g++... gcc3 checking for gcc... gcc checking whether the compiler supports GNU C... yes checking whether gcc accepts -g... yes checking for gcc option to enable C11 features... none needed checking whether gcc understands -c and -o together... yes checking dependency style of gcc... gcc3 checking for stdio.h... yes checking for stdlib.h... yes checking for string.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for strings.h... yes checking for sys/stat.h... yes checking for sys/types.h... yes checking for unistd.h... yes checking for sys/xattr.h... yes checking for attr/xattr.h... no checking for sys/extattr.h... no checking for fallocate... no checking s3fs build with nettle(GnuTLS)... no checking s3fs build with OpenSSL... no checking s3fs build with GnuTLS... no checking s3fs build with NSS... no checking for pkg-config... /opt/homebrew/bin/pkg-config checking pkg-config is at least version 0.9.0... yes checking for fuse >= 2.7.3 libcurl >= 7.0 libxml-2.0 >= 2.6 ... yes checking compile s3fs with... OpenSSL checking for fuse >= 2.7.3 libcurl >= 7.0 libxml-2.0 >= 2.6 libcrypto >= 0.9 ... yes checking for malloc_trim... no checking for library containing clock_gettime... none required checking for clock_gettime... yes checking pthread mutex recursive... PTHREAD_MUTEX_RECURSIVE checking checking CURLOPT_TCP_KEEPALIVE... yes checking checking CURLOPT_SSL_ENABLE_ALPN... yes checking checking CURLOPT_KEEP_SENDING_ON_ERROR... yes checking for git... yes checking github short commit hash... unknown checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: creating src/Makefile config.status: creating test/Makefile config.status: creating doc/Makefile config.status: creating config.h config.status: executing depfiles commands ``` </details> <details><summary>Now <code>make</code> is failing: <code>ld: symbol(s) not found for architecture arm64</code>:</summary> ``` /Library/Developer/CommandLineTools/usr/bin/make all-recursive Making all in src g++ -DHAVE_CONFIG_H -I. -I.. -D_FILE_OFFSET_BITS=64 -D_DARWIN_USE_64_BIT_INODE -I/opt/homebrew/Cellar/openssl@1.1/1.1.1k/include -I/usr/local/include/osxfuse/fuse -I/opt/homebrew/opt/openssl@1.1/include -g -O2 -Wall -fno-exceptions -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -MT s3fs.o -MD -MP -MF .deps/s3fs.Tpo -c -o s3fs.o s3fs.cpp mv -f .deps/s3fs.Tpo .deps/s3fs.Po g++ -DHAVE_CONFIG_H -I. -I.. -D_FILE_OFFSET_BITS=64 -D_DARWIN_USE_64_BIT_INODE -I/opt/homebrew/Cellar/openssl@1.1/1.1.1k/include -I/usr/local/include/osxfuse/fuse -I/opt/homebrew/opt/openssl@1.1/include -g -O2 -Wall -fno-exceptions -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -MT s3fs_global.o -MD -MP -MF .deps/s3fs_global.Tpo -c -o s3fs_global.o s3fs_global.cpp mv -f .deps/s3fs_global.Tpo .deps/s3fs_global.Po g++ -DHAVE_CONFIG_H -I. -I.. -D_FILE_OFFSET_BITS=64 -D_DARWIN_USE_64_BIT_INODE -I/opt/homebrew/Cellar/openssl@1.1/1.1.1k/include -I/usr/local/include/osxfuse/fuse -I/opt/homebrew/opt/openssl@1.1/include -g -O2 -Wall -fno-exceptions -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -MT s3fs_help.o -MD -MP -MF .deps/s3fs_help.Tpo -c -o s3fs_help.o s3fs_help.cpp mv -f .deps/s3fs_help.Tpo .deps/s3fs_help.Po g++ -DHAVE_CONFIG_H -I. -I.. -D_FILE_OFFSET_BITS=64 -D_DARWIN_USE_64_BIT_INODE -I/opt/homebrew/Cellar/openssl@1.1/1.1.1k/include -I/usr/local/include/osxfuse/fuse -I/opt/homebrew/opt/openssl@1.1/include -g -O2 -Wall -fno-exceptions -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -MT s3fs_logger.o -MD -MP -MF .deps/s3fs_logger.Tpo -c -o s3fs_logger.o s3fs_logger.cpp mv -f .deps/s3fs_logger.Tpo .deps/s3fs_logger.Po g++ -DHAVE_CONFIG_H -I. -I.. -D_FILE_OFFSET_BITS=64 -D_DARWIN_USE_64_BIT_INODE -I/opt/homebrew/Cellar/openssl@1.1/1.1.1k/include -I/usr/local/include/osxfuse/fuse -I/opt/homebrew/opt/openssl@1.1/include -g -O2 -Wall -fno-exceptions -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -MT s3fs_xml.o -MD -MP -MF .deps/s3fs_xml.Tpo -c -o s3fs_xml.o s3fs_xml.cpp mv -f .deps/s3fs_xml.Tpo .deps/s3fs_xml.Po g++ -DHAVE_CONFIG_H -I. -I.. -D_FILE_OFFSET_BITS=64 -D_DARWIN_USE_64_BIT_INODE -I/opt/homebrew/Cellar/openssl@1.1/1.1.1k/include -I/usr/local/include/osxfuse/fuse -I/opt/homebrew/opt/openssl@1.1/include -g -O2 -Wall -fno-exceptions -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -MT metaheader.o -MD -MP -MF .deps/metaheader.Tpo -c -o metaheader.o metaheader.cpp mv -f .deps/metaheader.Tpo .deps/metaheader.Po g++ -DHAVE_CONFIG_H -I. -I.. -D_FILE_OFFSET_BITS=64 -D_DARWIN_USE_64_BIT_INODE -I/opt/homebrew/Cellar/openssl@1.1/1.1.1k/include -I/usr/local/include/osxfuse/fuse -I/opt/homebrew/opt/openssl@1.1/include -g -O2 -Wall -fno-exceptions -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -MT mpu_util.o -MD -MP -MF .deps/mpu_util.Tpo -c -o mpu_util.o mpu_util.cpp mv -f .deps/mpu_util.Tpo .deps/mpu_util.Po g++ -DHAVE_CONFIG_H -I. -I.. -D_FILE_OFFSET_BITS=64 -D_DARWIN_USE_64_BIT_INODE -I/opt/homebrew/Cellar/openssl@1.1/1.1.1k/include -I/usr/local/include/osxfuse/fuse -I/opt/homebrew/opt/openssl@1.1/include -g -O2 -Wall -fno-exceptions -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -MT mvnode.o -MD -MP -MF .deps/mvnode.Tpo -c -o mvnode.o mvnode.cpp mv -f .deps/mvnode.Tpo .deps/mvnode.Po g++ -DHAVE_CONFIG_H -I. -I.. -D_FILE_OFFSET_BITS=64 -D_DARWIN_USE_64_BIT_INODE -I/opt/homebrew/Cellar/openssl@1.1/1.1.1k/include -I/usr/local/include/osxfuse/fuse -I/opt/homebrew/opt/openssl@1.1/include -g -O2 -Wall -fno-exceptions -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -MT curl.o -MD -MP -MF .deps/curl.Tpo -c -o curl.o curl.cpp mv -f .deps/curl.Tpo .deps/curl.Po g++ -DHAVE_CONFIG_H -I. -I.. -D_FILE_OFFSET_BITS=64 -D_DARWIN_USE_64_BIT_INODE -I/opt/homebrew/Cellar/openssl@1.1/1.1.1k/include -I/usr/local/include/osxfuse/fuse -I/opt/homebrew/opt/openssl@1.1/include -g -O2 -Wall -fno-exceptions -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -MT curl_handlerpool.o -MD -MP -MF .deps/curl_handlerpool.Tpo -c -o curl_handlerpool.o curl_handlerpool.cpp mv -f .deps/curl_handlerpool.Tpo .deps/curl_handlerpool.Po g++ -DHAVE_CONFIG_H -I. -I.. -D_FILE_OFFSET_BITS=64 -D_DARWIN_USE_64_BIT_INODE -I/opt/homebrew/Cellar/openssl@1.1/1.1.1k/include -I/usr/local/include/osxfuse/fuse -I/opt/homebrew/opt/openssl@1.1/include -g -O2 -Wall -fno-exceptions -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -MT curl_multi.o -MD -MP -MF .deps/curl_multi.Tpo -c -o curl_multi.o curl_multi.cpp mv -f .deps/curl_multi.Tpo .deps/curl_multi.Po g++ -DHAVE_CONFIG_H -I. -I.. -D_FILE_OFFSET_BITS=64 -D_DARWIN_USE_64_BIT_INODE -I/opt/homebrew/Cellar/openssl@1.1/1.1.1k/include -I/usr/local/include/osxfuse/fuse -I/opt/homebrew/opt/openssl@1.1/include -g -O2 -Wall -fno-exceptions -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -MT curl_util.o -MD -MP -MF .deps/curl_util.Tpo -c -o curl_util.o curl_util.cpp mv -f .deps/curl_util.Tpo .deps/curl_util.Po g++ -DHAVE_CONFIG_H -I. -I.. -D_FILE_OFFSET_BITS=64 -D_DARWIN_USE_64_BIT_INODE -I/opt/homebrew/Cellar/openssl@1.1/1.1.1k/include -I/usr/local/include/osxfuse/fuse -I/opt/homebrew/opt/openssl@1.1/include -g -O2 -Wall -fno-exceptions -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -MT bodydata.o -MD -MP -MF .deps/bodydata.Tpo -c -o bodydata.o bodydata.cpp mv -f .deps/bodydata.Tpo .deps/bodydata.Po g++ -DHAVE_CONFIG_H -I. -I.. -D_FILE_OFFSET_BITS=64 -D_DARWIN_USE_64_BIT_INODE -I/opt/homebrew/Cellar/openssl@1.1/1.1.1k/include -I/usr/local/include/osxfuse/fuse -I/opt/homebrew/opt/openssl@1.1/include -g -O2 -Wall -fno-exceptions -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -MT s3objlist.o -MD -MP -MF .deps/s3objlist.Tpo -c -o s3objlist.o s3objlist.cpp mv -f .deps/s3objlist.Tpo .deps/s3objlist.Po g++ -DHAVE_CONFIG_H -I. -I.. -D_FILE_OFFSET_BITS=64 -D_DARWIN_USE_64_BIT_INODE -I/opt/homebrew/Cellar/openssl@1.1/1.1.1k/include -I/usr/local/include/osxfuse/fuse -I/opt/homebrew/opt/openssl@1.1/include -g -O2 -Wall -fno-exceptions -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -MT cache.o -MD -MP -MF .deps/cache.Tpo -c -o cache.o cache.cpp mv -f .deps/cache.Tpo .deps/cache.Po g++ -DHAVE_CONFIG_H -I. -I.. -D_FILE_OFFSET_BITS=64 -D_DARWIN_USE_64_BIT_INODE -I/opt/homebrew/Cellar/openssl@1.1/1.1.1k/include -I/usr/local/include/osxfuse/fuse -I/opt/homebrew/opt/openssl@1.1/include -g -O2 -Wall -fno-exceptions -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -MT string_util.o -MD -MP -MF .deps/string_util.Tpo -c -o string_util.o string_util.cpp mv -f .deps/string_util.Tpo .deps/string_util.Po g++ -DHAVE_CONFIG_H -I. -I.. -D_FILE_OFFSET_BITS=64 -D_DARWIN_USE_64_BIT_INODE -I/opt/homebrew/Cellar/openssl@1.1/1.1.1k/include -I/usr/local/include/osxfuse/fuse -I/opt/homebrew/opt/openssl@1.1/include -g -O2 -Wall -fno-exceptions -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -MT s3fs_util.o -MD -MP -MF .deps/s3fs_util.Tpo -c -o s3fs_util.o s3fs_util.cpp mv -f .deps/s3fs_util.Tpo .deps/s3fs_util.Po g++ -DHAVE_CONFIG_H -I. -I.. -D_FILE_OFFSET_BITS=64 -D_DARWIN_USE_64_BIT_INODE -I/opt/homebrew/Cellar/openssl@1.1/1.1.1k/include -I/usr/local/include/osxfuse/fuse -I/opt/homebrew/opt/openssl@1.1/include -g -O2 -Wall -fno-exceptions -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -MT fdcache.o -MD -MP -MF .deps/fdcache.Tpo -c -o fdcache.o fdcache.cpp mv -f .deps/fdcache.Tpo .deps/fdcache.Po g++ -DHAVE_CONFIG_H -I. -I.. -D_FILE_OFFSET_BITS=64 -D_DARWIN_USE_64_BIT_INODE -I/opt/homebrew/Cellar/openssl@1.1/1.1.1k/include -I/usr/local/include/osxfuse/fuse -I/opt/homebrew/opt/openssl@1.1/include -g -O2 -Wall -fno-exceptions -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -MT fdcache_entity.o -MD -MP -MF .deps/fdcache_entity.Tpo -c -o fdcache_entity.o fdcache_entity.cpp mv -f .deps/fdcache_entity.Tpo .deps/fdcache_entity.Po g++ -DHAVE_CONFIG_H -I. -I.. -D_FILE_OFFSET_BITS=64 -D_DARWIN_USE_64_BIT_INODE -I/opt/homebrew/Cellar/openssl@1.1/1.1.1k/include -I/usr/local/include/osxfuse/fuse -I/opt/homebrew/opt/openssl@1.1/include -g -O2 -Wall -fno-exceptions -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -MT fdcache_page.o -MD -MP -MF .deps/fdcache_page.Tpo -c -o fdcache_page.o fdcache_page.cpp mv -f .deps/fdcache_page.Tpo .deps/fdcache_page.Po g++ -DHAVE_CONFIG_H -I. -I.. -D_FILE_OFFSET_BITS=64 -D_DARWIN_USE_64_BIT_INODE -I/opt/homebrew/Cellar/openssl@1.1/1.1.1k/include -I/usr/local/include/osxfuse/fuse -I/opt/homebrew/opt/openssl@1.1/include -g -O2 -Wall -fno-exceptions -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -MT fdcache_stat.o -MD -MP -MF .deps/fdcache_stat.Tpo -c -o fdcache_stat.o fdcache_stat.cpp mv -f .deps/fdcache_stat.Tpo .deps/fdcache_stat.Po g++ -DHAVE_CONFIG_H -I. -I.. -D_FILE_OFFSET_BITS=64 -D_DARWIN_USE_64_BIT_INODE -I/opt/homebrew/Cellar/openssl@1.1/1.1.1k/include -I/usr/local/include/osxfuse/fuse -I/opt/homebrew/opt/openssl@1.1/include -g -O2 -Wall -fno-exceptions -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -MT fdcache_auto.o -MD -MP -MF .deps/fdcache_auto.Tpo -c -o fdcache_auto.o fdcache_auto.cpp mv -f .deps/fdcache_auto.Tpo .deps/fdcache_auto.Po g++ -DHAVE_CONFIG_H -I. -I.. -D_FILE_OFFSET_BITS=64 -D_DARWIN_USE_64_BIT_INODE -I/opt/homebrew/Cellar/openssl@1.1/1.1.1k/include -I/usr/local/include/osxfuse/fuse -I/opt/homebrew/opt/openssl@1.1/include -g -O2 -Wall -fno-exceptions -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -MT addhead.o -MD -MP -MF .deps/addhead.Tpo -c -o addhead.o addhead.cpp mv -f .deps/addhead.Tpo .deps/addhead.Po g++ -DHAVE_CONFIG_H -I. -I.. -D_FILE_OFFSET_BITS=64 -D_DARWIN_USE_64_BIT_INODE -I/opt/homebrew/Cellar/openssl@1.1/1.1.1k/include -I/usr/local/include/osxfuse/fuse -I/opt/homebrew/opt/openssl@1.1/include -g -O2 -Wall -fno-exceptions -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -MT sighandlers.o -MD -MP -MF .deps/sighandlers.Tpo -c -o sighandlers.o sighandlers.cpp mv -f .deps/sighandlers.Tpo .deps/sighandlers.Po g++ -DHAVE_CONFIG_H -I. -I.. -D_FILE_OFFSET_BITS=64 -D_DARWIN_USE_64_BIT_INODE -I/opt/homebrew/Cellar/openssl@1.1/1.1.1k/include -I/usr/local/include/osxfuse/fuse -I/opt/homebrew/opt/openssl@1.1/include -g -O2 -Wall -fno-exceptions -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -MT autolock.o -MD -MP -MF .deps/autolock.Tpo -c -o autolock.o autolock.cpp mv -f .deps/autolock.Tpo .deps/autolock.Po g++ -DHAVE_CONFIG_H -I. -I.. -D_FILE_OFFSET_BITS=64 -D_DARWIN_USE_64_BIT_INODE -I/opt/homebrew/Cellar/openssl@1.1/1.1.1k/include -I/usr/local/include/osxfuse/fuse -I/opt/homebrew/opt/openssl@1.1/include -g -O2 -Wall -fno-exceptions -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -MT common_auth.o -MD -MP -MF .deps/common_auth.Tpo -c -o common_auth.o common_auth.cpp mv -f .deps/common_auth.Tpo .deps/common_auth.Po g++ -DHAVE_CONFIG_H -I. -I.. -D_FILE_OFFSET_BITS=64 -D_DARWIN_USE_64_BIT_INODE -I/opt/homebrew/Cellar/openssl@1.1/1.1.1k/include -I/usr/local/include/osxfuse/fuse -I/opt/homebrew/opt/openssl@1.1/include -g -O2 -Wall -fno-exceptions -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -MT openssl_auth.o -MD -MP -MF .deps/openssl_auth.Tpo -c -o openssl_auth.o openssl_auth.cpp mv -f .deps/openssl_auth.Tpo .deps/openssl_auth.Po g++ -g -O2 -Wall -fno-exceptions -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -L/opt/homebrew/opt/openssl@1.1/lib -o s3fs s3fs.o s3fs_global.o s3fs_help.o s3fs_logger.o s3fs_xml.o metaheader.o mpu_util.o mvnode.o curl.o curl_handlerpool.o curl_multi.o curl_util.o bodydata.o s3objlist.o cache.o string_util.o s3fs_util.o fdcache.o fdcache_entity.o fdcache_page.o fdcache_stat.o fdcache_auto.o addhead.o sighandlers.o autolock.o common_auth.o openssl_auth.o -L/opt/homebrew/Cellar/openssl@1.1/1.1.1k/lib -L/usr/local/lib -losxfuse -lcurl -lxml2 -lcrypto ld: warning: ignoring file /usr/local/lib/libosxfuse.dylib, missing required architecture arm64 in file /usr/local/lib/libosxfuse.dylib (4 slices) Undefined symbols for architecture arm64: "_fuse_exit", referenced from: s3fs_exit_fuseloop(int) in s3fs.o create_mvnode(char const*, char const*, bool, bool) in mvnode.o S3fsCurl::WriteMemoryCallback(void*, unsigned long, unsigned long, void*) in curl.o "_fuse_get_context", referenced from: s3fs_mknod(char const*, unsigned short, int) in s3fs.o s3fs_mkdir(char const*, unsigned short) in s3fs.o s3fs_symlink(char const*, char const*) in s3fs.o s3fs_truncate(char const*, long long) in s3fs.o s3fs_create(char const*, unsigned short, fuse_file_info*) in s3fs.o check_object_access(char const*, int, stat*) in s3fs.o check_object_owner(char const*, stat*) in s3fs.o ... "_fuse_main_real", referenced from: _main in s3fs.o "_fuse_opt_free_args", referenced from: _main in s3fs.o "_fuse_opt_parse", referenced from: _main in s3fs.o ld: symbol(s) not found for architecture arm64 clang: error: linker command failed with exit code 1 (use -v to see invocation) make[2]: *** [s3fs] Error 1 make[1]: *** [all-recursive] Error 1 make: *** [all] Error 2 ``` </details> Any guidance appreciated 🙏
Author
Owner

@gaul commented on GitHub (May 8, 2021):

Related: GoogleCloudPlatform/gcsfuse#514

<!-- gh-comment-id:834942222 --> @gaul commented on GitHub (May 8, 2021): Related: GoogleCloudPlatform/gcsfuse#514
Author
Owner

@caslan34 commented on GitHub (Jun 12, 2021):

Trying to build s3fs from source:

Download+Untar:

tar xvzf s3fs-fuse-1.89.tar.gz
cd s3fs-fuse-1.89

./autogen.sh
(required brew install automake for aclocal executable)

Naively running ./configure --prefix=/usr ran me into No package 'libcrypto' found error; based on suggestions in brew info openssl, I provided necessary lib/include paths via:

export LDFLAGS="-L/opt/homebrew/opt/openssl@1.1/lib"
export CPPFLAGS="-I/opt/homebrew/opt/openssl@1.1/include"
export PKG_CONFIG_PATH="/opt/homebrew/opt/openssl@1.1/lib/pkgconfig"

Then ./configure --prefix=/usr worked
Now make is failing: ld: symbol(s) not found for architecture arm64:
Any guidance appreciated 🙏

hello, did you find solutions ?

<!-- gh-comment-id:860109242 --> @caslan34 commented on GitHub (Jun 12, 2021): > Trying to build `s3fs` from source: > > Download+Untar: > > ```shell > tar xvzf s3fs-fuse-1.89.tar.gz > cd s3fs-fuse-1.89 > ``` > > `./autogen.sh` > (required `brew install automake` for `aclocal` executable) > > Naively running `./configure --prefix=/usr` ran me into `No package 'libcrypto' found` error; based on suggestions in `brew info openssl`, I provided necessary lib/include paths via: > > ```shell > export LDFLAGS="-L/opt/homebrew/opt/openssl@1.1/lib" > export CPPFLAGS="-I/opt/homebrew/opt/openssl@1.1/include" > export PKG_CONFIG_PATH="/opt/homebrew/opt/openssl@1.1/lib/pkgconfig" > ``` > > Then `./configure --prefix=/usr` worked > Now `make` is failing: `ld: symbol(s) not found for architecture arm64`: > Any guidance appreciated 🙏 hello, did you find solutions ?
Author
Owner

@gaul commented on GitHub (Jun 28, 2021):

Could you try this external Homebrew cask:

https://github.com/gromgit/homebrew-fuse/

If it works can you update README.md?

<!-- gh-comment-id:869251446 --> @gaul commented on GitHub (Jun 28, 2021): Could you try this external Homebrew cask: https://github.com/gromgit/homebrew-fuse/ If it works can you update README.md?
Author
Owner

@harijay commented on GitHub (Jul 14, 2021):

Hi All I got this working as documented in the Compilation.md
First I had to make sure I had turned off "Open using Rosetta" for my shell which was the iterm2 app. Then the steps I followed were

  1. brew install automake
  2. git clone https://github.com/s3fs-fuse/s3fs-fuse.git
  3. cd s3fs-fuse
  4. ./autogen.sh
  5. ./configure
  6. make
  7. sudo make install

In previous attempts I had turned on Rosetta for iterm and it responded with "ld: symbol(s) not found for architecture x86_64"
I then did a make clean and followed the steps above and was able to mount s3 bucket without any problems

<!-- gh-comment-id:880155439 --> @harijay commented on GitHub (Jul 14, 2021): Hi All I got this working as documented in the Compilation.md First I had to make sure I had turned off "Open using Rosetta" for my shell which was the iterm2 app. Then the steps I followed were 1) brew install automake 2) git clone https://github.com/s3fs-fuse/s3fs-fuse.git 3) cd s3fs-fuse 4) ./autogen.sh 5) ./configure 6) make 7) sudo make install In previous attempts I had turned on Rosetta for iterm and it responded with "ld: symbol(s) not found for architecture x86_64" I then did a make clean and followed the steps above and was able to mount s3 bucket without any problems
Author
Owner

@gaul commented on GitHub (Jan 4, 2022):

Does #1817 resolve this issue?

<!-- gh-comment-id:1004824053 --> @gaul commented on GitHub (Jan 4, 2022): Does #1817 resolve this issue?
Author
Owner

@gmuth commented on GitHub (Jan 17, 2022):

Steps 1 to 4 work for me (M1, 12.1).
configure.sh fails:

configure: error: Package requirements (fuse >= 2.7.3 libcurl >= 7.0 libxml-2.0 >= 2.6 libcrypto >= 0.9 ) were not met:
No package 'libcrypto' found

having openssl 3 installed I solved this issue with:

export PKG_CONFIG_PATH="$HOMEBREW_PREFIX/opt/openssl@3/lib/pkgconfig"

./make then produced the arm64 executable in directory src.

<!-- gh-comment-id:1014316689 --> @gmuth commented on GitHub (Jan 17, 2022): Steps 1 to 4 work for me (M1, 12.1). configure.sh fails: ``` configure: error: Package requirements (fuse >= 2.7.3 libcurl >= 7.0 libxml-2.0 >= 2.6 libcrypto >= 0.9 ) were not met: No package 'libcrypto' found ``` having openssl 3 installed I solved this issue with: `export PKG_CONFIG_PATH="$HOMEBREW_PREFIX/opt/openssl@3/lib/pkgconfig"` ./make then produced the arm64 executable in directory src.
Author
Owner

@jauharvp commented on GitHub (Apr 15, 2022):

#./autogen.sh

#./configure

#export PKG_CONFIG_PATH="/opt/homebrew/opt/openssl@1.1/lib/pkgconfig/"

#./configure

#make

#sudo make install

This is worked for me, but Whenever I try to access the mounted bucket, either finder or terminal freeze.
Anyone else having the same problem, or just me?

@gmuth @harijay

<!-- gh-comment-id:1100016643 --> @jauharvp commented on GitHub (Apr 15, 2022): `#./autogen.sh` `#./configure` `#export PKG_CONFIG_PATH="/opt/homebrew/opt/openssl@1.1/lib/pkgconfig/"` `#./configure` `#make` `#sudo make install` This is worked for me, but Whenever I try to access the mounted bucket, either finder or terminal freeze. Anyone else having the same problem, or just me? @gmuth @harijay
Author
Owner

@jauharvp commented on GitHub (Apr 24, 2022):

I tried numerous times, the system getting hung when I mount the bucket with s3fs.

<!-- gh-comment-id:1107906710 --> @jauharvp commented on GitHub (Apr 24, 2022): I tried numerous times, the system getting hung when I mount the bucket with s3fs.
Author
Owner

@ryan-williams commented on GitHub (May 3, 2022):

Revisiting this again about a year after my last attempt

brew install automake macfuse openssl@3
git clone https://github.com/s3fs-fuse/s3fs-fuse.git && cd s3fs-fuse
git checkout v1.91  # current latest release
./autogen.sh
export PKG_CONFIG_PATH=/opt/homebrew/Cellar/openssl\@3/3.0.2/lib/pkgconfig/
./configure
make
sudo make install

So far so good, which s3fs and man s3fs seem to work.

The first time I tried to actually invoke s3fs, I was required to enable system extensions, by booting into recovery mode and changing the kernel security policy:
image

then I was able to go into System Preferences and enable the macFUSE kernel extension.

Finally, I ran s3fs:

mkdir -p s3/$BKT
s3fs $BKT s3/$BKT -o profile=$PROFILE

Seemingly succeeds. However, all of these commands hang, and are impervious to ^C/^D/kill -9:

ls s3/$BKT
df
umount s3/$BKT

Even rebooting my computer doesn't really work, at this point: various apps refuse to quit, and after I force quit them, the OS just shows an empty desktop, with the top menu bar gone. I had to use the power button to turn off the computer completely.

I tried again with -f, it just prints the initial command and then hangs the same:

$ s3fs $BKT s3/$BKT -o profile=$PROFILE -f
2022-05-03T20:50:47.127Z [INF] s3fs version 1.91(49d92c7) : s3fs -o profile=$PROFILE -f $BKT s3/$BKT

I gave up at this point.

<!-- gh-comment-id:1116641611 --> @ryan-williams commented on GitHub (May 3, 2022): Revisiting this again about a year after [my last attempt](https://github.com/s3fs-fuse/s3fs-fuse/issues/1632#issuecomment-833036048)… ```bash brew install automake macfuse openssl@3 git clone https://github.com/s3fs-fuse/s3fs-fuse.git && cd s3fs-fuse git checkout v1.91 # current latest release ./autogen.sh export PKG_CONFIG_PATH=/opt/homebrew/Cellar/openssl\@3/3.0.2/lib/pkgconfig/ ./configure make sudo make install ``` So far so good, `which s3fs` and `man s3fs` seem to work. The first time I tried to actually invoke `s3fs`, I was required to enable system extensions, by booting into recovery mode and changing the kernel security policy: ![image](https://user-images.githubusercontent.com/465045/166560644-53f979df-4438-4512-842e-037ddaab19fb.png) then I was able to go into System Preferences and enable the macFUSE kernel extension. Finally, I ran `s3fs`: ```bash mkdir -p s3/$BKT s3fs $BKT s3/$BKT -o profile=$PROFILE ``` Seemingly succeeds. However, all of these commands hang, and are impervious to `^C`/`^D`/`kill -9`: ``` ls s3/$BKT df umount s3/$BKT ``` Even rebooting my computer doesn't really work, at this point: various apps refuse to quit, and after I force quit them, the OS just shows an empty desktop, with the top menu bar gone. I had to use the power button to turn off the computer completely. I tried again with `-f`, it just prints the initial command and then hangs the same: ``` $ s3fs $BKT s3/$BKT -o profile=$PROFILE -f 2022-05-03T20:50:47.127Z [INF] s3fs version 1.91(49d92c7) : s3fs -o profile=$PROFILE -f $BKT s3/$BKT ``` I gave up at this point.
Author
Owner

@gmuth commented on GitHub (May 3, 2022):

We have two issues here. One issue was to produce a M1 executable. That seems to be the solved.
Another issue is that the executable doesn't work as expected. So someone knowledgeable needs to look into this issue and investigate what's wrong with the binary produced.
When switching CPUs sometimes the byte order causes issues: little or big endian. But that's just guessing.

<!-- gh-comment-id:1116687789 --> @gmuth commented on GitHub (May 3, 2022): We have two issues here. One issue was to produce a M1 executable. That seems to be the solved. Another issue is that the executable doesn't work as expected. So someone knowledgeable needs to look into this issue and investigate what's wrong with the binary produced. When switching CPUs sometimes the byte order causes issues: little or big endian. But that's just guessing.
Author
Owner

@gaul commented on GitHub (May 4, 2022):

s3fs runs on Raspberry Pis so I believe it should work fine from that perspective. If it is hanging, you should try debug logging -d and attaching a gdb backtrace.

<!-- gh-comment-id:1116848949 --> @gaul commented on GitHub (May 4, 2022): s3fs runs on Raspberry Pis so I believe it should work fine from that perspective. If it is hanging, you should try debug logging `-d` and attaching a gdb backtrace.
Author
Owner

@xy-xin commented on GitHub (Aug 29, 2022):

@ryan-williams > My situation was the same with you. Now i've switched to s3cmd.

<!-- gh-comment-id:1230093713 --> @xy-xin commented on GitHub (Aug 29, 2022): @ryan-williams > My situation was the same with you. Now i've switched to s3cmd.
Author
Owner

@xy-xin commented on GitHub (Aug 29, 2022):

@harijay It works! So the solution is not using the brew's s3fs-mac.

<!-- gh-comment-id:1230149664 --> @xy-xin commented on GitHub (Aug 29, 2022): @harijay It works! So the solution is not using the brew's s3fs-mac.
Author
Owner

@jlee9595 commented on GitHub (Feb 23, 2023):

@ryan-williams also experiencing these same exact issues in 2023 :(

<!-- gh-comment-id:1442326203 --> @jlee9595 commented on GitHub (Feb 23, 2023): @ryan-williams also experiencing these same exact issues in 2023 :(
Author
Owner

@alfiedotwtf commented on GitHub (Mar 15, 2023):

@ryan-williams @jlee9595 Can confirm here on an M2. s3fs will happily mount, but then not only will ls hang, the whole filesystem slows to a crawl. Even opening System Preferences hangs and "Force Quit" starts showing everything in red.

Has anyone found a work around yet?

<!-- gh-comment-id:1469151681 --> @alfiedotwtf commented on GitHub (Mar 15, 2023): @ryan-williams @jlee9595 Can confirm here on an M2. `s3fs` will happily mount, but then not only will `ls` hang, the whole filesystem slows to a crawl. Even opening System Preferences hangs and "Force Quit" starts showing everything in red. Has anyone found a work around yet?
Author
Owner

@alfiedotwtf commented on GitHub (Mar 19, 2023):

I stand corrected! I reinstalled gromgit/fuse/s3fs-mac and it worked 😍

Edit: interesting... it only seems to work when running with -o dbglevel=info -f -o curldbg. If I remove that, I get the freezing issue right away.

<!-- gh-comment-id:1475205238 --> @alfiedotwtf commented on GitHub (Mar 19, 2023): I stand corrected! I reinstalled `gromgit/fuse/s3fs-mac` and it worked 😍 Edit: interesting... it only seems to work when running with `-o dbglevel=info -f -o curldbg`. If I remove that, I get the freezing issue right away.
Author
Owner

@alfiedotwtf commented on GitHub (Mar 19, 2023):

Ok, I think I found something interesting - the m2 hanging problem seems to be fixed when you use -f, which keeps it in the foreground. People on m2: give it a go and see if it works!

<!-- gh-comment-id:1475213325 --> @alfiedotwtf commented on GitHub (Mar 19, 2023): Ok, I think I found something interesting - the m2 hanging problem seems to be fixed when you use `-f`, which keeps it in the foreground. People on m2: give it a go and see if it works!
Author
Owner

@ggtakec commented on GitHub (Mar 26, 2023):

@alfiedotwtf
If you're deadlocking(or something similar) only when you don't use -f, then I'm concerned about the relationship between pthreads and forks.
In s3fs, I believe that the thread do not have been started before it was forked, but it sounds like that deadlock situation with it.
This is just something I'm curious about, and I have no confirmation of anything.

<!-- gh-comment-id:1484077046 --> @ggtakec commented on GitHub (Mar 26, 2023): @alfiedotwtf If you're deadlocking(or something similar) only when you don't use `-f`, then I'm concerned about the relationship between pthreads and forks. In s3fs, I believe that the thread do not have been started before it was forked, but it sounds like that deadlock situation with it. _This is just something I'm curious about, and I have no confirmation of anything._
Author
Owner

@elliotkendall commented on GitHub (Apr 19, 2024):

I'm still getting the "This formula requires macFUSE. Please run brew install --cask macfuse first." error when macfuse is already installed. This is on macOS 14.4.1

$ brew install gromgit/fuse/s3fs-mac
s3fs-mac: This formula requires macFUSE. Please run `brew install --cask macfuse` first.
Error: s3fs-mac: An unsatisfied requirement failed this build.
$ brew install --cask macfuse
==> Downloading https://formulae.brew.sh/api/cask.jws.json
#=#=#
Warning: Not upgrading macfuse, the latest version is already installed
<!-- gh-comment-id:2067262371 --> @elliotkendall commented on GitHub (Apr 19, 2024): I'm still getting the "This formula requires macFUSE. Please run `brew install --cask macfuse` first." error when macfuse is already installed. This is on macOS 14.4.1 ``` $ brew install gromgit/fuse/s3fs-mac s3fs-mac: This formula requires macFUSE. Please run `brew install --cask macfuse` first. Error: s3fs-mac: An unsatisfied requirement failed this build. $ brew install --cask macfuse ==> Downloading https://formulae.brew.sh/api/cask.jws.json #=#=# Warning: Not upgrading macfuse, the latest version is already installed ```
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/s3fs-fuse#856
No description provided.