-
-
Notifications
You must be signed in to change notification settings - Fork 147
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
brew install: Error: tup has been disabled because it requires closed-source macFUSE #427
Comments
One possibility I was considering is trying to revitalize the ldpreload shim for MacOS. That was how tup originally supported macs, but I believe there was a concern that SIP would prevent ldpreload from working with system binaries (like clang, or tools like cp/python/etc), so tup wouldn't be able to get dependencies that way. I tried ldpreload on my current mac (10.15) and it seems to work though. If it does work, we could remove the FUSE requirement and re-enable tup in Homebrew. Does anyone know more about SIP and what issues we would have by moving from FUSE to a DYLD_INSERT_LIBRARIES for MacOS? |
I believe this may be an issue for software which uses a hardened runtime, where I think this type of runtime injection is probably disabled. Note that notarized software has to enable the Hardened Runtime capability. Although it sounds like if you were able to do it, perhaps your clang wasn't built with a hardened runtime? If fuse isn't a requirement, it may remove some complexity when building a docker image containing
I'm not sure if any of this would be simpler when using the runtime library injection technique, but if it is, that might be a good reason to use it. BTW, let me know if you'd like me to make a PR adding details about how to call |
So since the use of closed-source fuse is undesirable and using |
I've forgotten the context from this thread (sorry!), but this is how i am currently installing tup on mac, and I think it was working last time I tried. |
Ok, so... using fuse. |
So again: how can tup be built on macOS without macFUSE? |
I checked, I am again hitting issues on my M1 mac... When I checkout tup source, and run diff --git a/bootstrap.sh b/bootstrap.sh
index be9198c4..8616b91e 100755
--- a/bootstrap.sh
+++ b/bootstrap.sh
@@ -4,5 +4,5 @@ CFLAGS="-g" ./build.sh
if [ ! -d .tup ]; then
./build/tup init
fi
-./build/tup
+./build/tup --verbose
echo "Build complete. If ./tup works, you can remove the 'build' directory." then I can see the command that is failing:
However, if I run that exact command, it runs without problems:
Checking my system, fuse seems to have the correct architecture support and symbols, e.g.
I explicitly added /usr/local/lib/pkgconfig to
|
I figured it is probably due to
Now I can build tup from source again. |
I made a fix for the above issue in #511. |
When attempting to install on a Mac, I hit this issue. I'll try on some other Macs to see if it is specific to my version of macOS or brew etc.
The text was updated successfully, but these errors were encountered: