Homebrew / homebrew-core

🍻 Default formulae for the missing package manager for macOS (or Linux)
https://brew.sh
BSD 2-Clause "Simplified" License
13.7k stars 12.4k forks source link

chezscheme fails to build on 10.11 #10144

Closed ararslan closed 7 years ago

ararslan commented 7 years ago

Bug reports:

Full Gist: https://gist.github.com/ararslan/21597dcac66032d8283f5944a6c1bbe6

The formula for Chez Scheme version 9.4 fails to build since _clock_gettime isn't found. My understanding is that this stems from my use of Xcode 8 on OS X 10.11, which defines certain symbols to be able to cross-compile for Sierra, but doesn't actually make them available on the local system. Cloning the Chez repository and building, manually setting -Wl,-no_weak_imports, works fine. Given that https://github.com/Homebrew/homebrew-core/issues/3727 has been implemented, I would have expected this to no longer be an issue. Isn't weak importing now disabled by default, at least on El Capitan, or is there something I'm missing?

Quick view of the failure:

[23:27:07] alex:~ $ brew install chezscheme
==> Using the sandbox
==> Downloading https://github.com/cisco/ChezScheme/archive/v9.4.tar.gz
Already downloaded: /Users/alex/Library/Caches/Homebrew/chezscheme-9.4.tar.gz
==> ./configure --installprefix=/usr/local/Cellar/chezscheme/9.4 --threads --installschemename=chez
==> make install
Last 15 lines from /Users/alex/Library/Logs/Homebrew/chezscheme/02.make:
dyld: Symbol not found: _clock_gettime
  Referenced from: /private/tmp/chezscheme-20170219-22209-4vcmnj/ChezScheme-9.4/ta6osx/s/../bin/ta6osx/scheme
  Expected in: /usr/lib/libSystem.B.dylib

/bin/sh: line 1: 23254 Done                    echo '(reset-handler abort)' '(base-exception-handler (lambda (c) (fresh-line) (display-condition c) (newline) (reset)))' '(keyboard-interrupt-handler (lambda () (display "interrupted---aborting\n") (reset)))' '(optimize-level 3)' '(debug-level 0)' '(generate-inspector-information #f)' '(subset-mode (quote system))' '(compile-file "cmacros.ss" "cmacros.so")'
     23255 Trace/BPT trap: 5       | ../bin/ta6osx/scheme -q
make[4]: *** [cmacros.so] Error 133
make[4]: *** Waiting for unfinished jobs....
/bin/sh: line 1: 23256 Done                    echo '(reset-handler abort)' '(base-exception-handler (lambda (c) (fresh-line) (display-condition c) (newline) (reset)))' '(keyboard-interrupt-handler (lambda () (display "interrupted---aborting\n") (reset)))' '(optimize-level 3)' '(debug-level 0)' '(generate-inspector-information #f)' '(collect-trip-bytes (expt 2 24))' '(collect-request-handler (lambda () (collect 0 1)))' '(collect 1 2)' '(compile-library "../nanopass/nanopass.ss" "nanopass.so")'
     23257 Trace/BPT trap: 5       | ../bin/ta6osx/scheme -q --libdirs "../nanopass::." --compile-imported-libraries
make[4]: *** [nanopass.so] Error 133
make[3]: *** [allx] Error 2
make[2]: *** [bootstrap] Error 2
make[1]: *** [build] Error 2
make: *** [install] Error 2

Thanks for your help!

ilovezfs commented 7 years ago

Closed via #10159.