Skip to content
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

homebrew installation fails #7

Open
algebravic opened this issue Feb 16, 2024 · 11 comments
Open

homebrew installation fails #7

algebravic opened this issue Feb 16, 2024 · 11 comments

Comments

@algebravic
Copy link

algebravic commented Feb 16, 2024

I'm on an arm64 mac running sonoma 14.3.1. When I try to do a homebrew install (after doing homebrew tap) the following happens:

brew install cvc5
==> Fetching cvc5/cvc5/cvc5
==> Downloading https://files.pythonhosted.org/packages/c0/3f/d7af728f075fb08564
Already downloaded: /Users/victor.miller/Library/Caches/Homebrew/downloads/c18681289175fb45367956fde79823bf2d98bab623266b25e1d8f5b8b5845bfe--tomli-2.0.1.tar.gz
==> Downloading https://files.pythonhosted.org/packages/37/fe/65c989f70bd630b589
Already downloaded: /Users/victor.miller/Library/Caches/Homebrew/downloads/dfdb96641843ef6e2e4a8d8eed61f0511f7023b5eab34139d90b5718141f324c--pyparsing-3.1.1.tar.gz
==> Cloning https://github.com/cvc5/cvc5.git
Updating /Users/victor.miller/Library/Caches/Homebrew/cvc5--git
==> Checking out tag cvc5-1.1.1
HEAD is now at ebfdf84d5 Bump version to 1.1.1
HEAD is now at ebfdf84d5 Bump version to 1.1.1
==> Installing cvc5 from cvc5/cvc5
==> python3 -m venv --system-site-packages --without-pip /private/tmp/cvc5-20240
==> python3 -m pip --python=/private/tmp/cvc5-20240215-29703-1pa0wo/venv/bin/pyt
==> python3 -m pip --python=/private/tmp/cvc5-20240215-29703-1pa0wo/venv/bin/pyt
==> bash -c export CMAKE_PREFIX_PATH=/opt/homebrew/Cellar/cvc5/1.1.1/libexec:$CM
==> make install
Last 15 lines from /Users/victor.miller/Library/Logs/Homebrew/cvc5/05.make:
make[2]: *** Waiting for unfinished jobs....
[  5%] Building CXX object src/parser/CMakeFiles/cvc5parser-objs.dir/parser.cpp.o
[  5%] Building CXX object src/parser/CMakeFiles/cvc5parser-objs.dir/command_status.cpp.o
[  5%] Building CXX object src/parser/CMakeFiles/cvc5parser-objs.dir/smt2/smt2_cmd_parser.cpp.o
[  5%] Building CXX object src/parser/CMakeFiles/cvc5parser-objs.dir/input.cpp.o
[  5%] Building CXX object src/parser/CMakeFiles/cvc5parser-objs.dir/parser_utils.cpp.o
[  5%] Building CXX object src/parser/CMakeFiles/cvc5parser-objs.dir/parser_state.cpp.o
[  6%] Building CXX object src/parser/CMakeFiles/cvc5parser-objs.dir/parse_op.cpp.o
[  6%] Building CXX object src/parser/CMakeFiles/cvc5parser-objs.dir/lexer.cpp.o
[  6%] Building CXX object src/parser/CMakeFiles/cvc5parser-objs.dir/smt2/smt2_lexer.cpp.o
[  6%] Building CXX object src/CMakeFiles/cvc5-obj.dir/api/cpp/cvc5.cpp.o
make[1]: *** [src/parser/CMakeFiles/cvc5parser-objs.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
make[1]: *** [src/CMakeFiles/cvc5-obj.dir/all] Error 2
make: *** [all] Error 2

If reporting this issue please do so at (not Homebrew/brew or Homebrew/homebrew-core):
  https://github.com/cvc5/homebrew-cvc5/issues

When I cloned the github source repository and configured it, I was able to build it successfully.

@mpreiner
Copy link
Member

@algebravic can you post the full log file? It looks like the reason for the compilation error is not int he last 15 lines of /Users/victor.miller/Library/Logs/Homebrew/cvc5/05.make.

@algebravic
Copy link
Author

Here it is

2024-02-16 01:23:40 +0000

make
install

[  1%] Generating smt2_tokens.h
[  1%] Generating theory_traits.h
[  1%] Generating rewriter_tables.h
[  1%] Generating type_enumerator.cpp
[  1%] Building CXX object src/context/CMakeFiles/cvc5context.dir/context.cpp.o
-- Found Git: /opt/homebrew/bin/git (found version "2.43.2") 
[  1%] Generating kind.h
[  1%] Generating options/options.stamp
[  1%] Generating rewrites.{h,cpp}
[  1%] Creating directories for 'SymFPU-EP'
[  1%] Creating directories for 'Poly-EP'
[  1%] Generating Trace_tags.h
[  1%] Built target gen-versioninfo
[  1%] Built target gen-tokens
[  1%] Performing download step (download, verify and extract) for 'SymFPU-EP'
[  1%] Performing download step (download, verify and extract) for 'Poly-EP'
[  1%] Building CXX object src/context/CMakeFiles/cvc5context.dir/context_mm.cpp.o
[  1%] Generating metakind.h
[  1%] Built target gen-options
[  1%] Generating node_manager.h
[  1%] Built target gen-rewrites
[  2%] Generating type_checker.cpp
[  2%] Built target gen-tags
[  2%] Generating type_properties.h
[  2%] Building CXX object src/base/CMakeFiles/cvc5base.dir/check.cpp.o
[  2%] Building CXX object src/base/CMakeFiles/cvc5base.dir/configuration.cpp.o
[  2%] Built target cvc5context
[  2%] Building CXX object src/base/CMakeFiles/cvc5base.dir/exception.cpp.o
[  2%] Building CXX object src/base/CMakeFiles/cvc5base.dir/listener.cpp.o
[  2%] Building CXX object src/base/CMakeFiles/cvc5base.dir/output.cpp.o
[  3%] Building CXX object src/base/CMakeFiles/cvc5base.dir/versioninfo.cpp.o
[  3%] Built target cvc5base
[  3%] Generating kind.cpp
[  3%] Generating type_properties.cpp
[  3%] Built target gen-theory
-- SymFPU-EP download command succeeded.  See also /tmp/cvc5-20240215-29703-1pa0wo/build/deps/src/SymFPU-EP-stamp/SymFPU-EP-download-*.log
[  3%] No update step for 'SymFPU-EP'
[  3%] No patch step for 'SymFPU-EP'
[  3%] No configure step for 'SymFPU-EP'
[  3%] No build step for 'SymFPU-EP'
[  3%] Performing install step for 'SymFPU-EP'
[  3%] Generating metakind.cpp
-- SymFPU-EP install command succeeded.  See also /tmp/cvc5-20240215-29703-1pa0wo/build/deps/src/SymFPU-EP-stamp/SymFPU-EP-install-*.log
[  3%] Generating node_manager.cpp
[  4%] Completed 'SymFPU-EP'
[  4%] Built target SymFPU-EP
-- Poly-EP download command succeeded.  See also /tmp/cvc5-20240215-29703-1pa0wo/build/deps/src/Poly-EP-stamp/Poly-EP-download-*.log
[  4%] No update step for 'Poly-EP'
[  4%] Performing patch step for 'Poly-EP'
-- Poly-EP patch command succeeded.  See also /tmp/cvc5-20240215-29703-1pa0wo/build/deps/src/Poly-EP-stamp/Poly-EP-patch-*.log
[  4%] Performing configure step for 'Poly-EP'
-- Poly-EP configure command succeeded.  See also /tmp/cvc5-20240215-29703-1pa0wo/build/deps/src/Poly-EP-stamp/Poly-EP-configure-*.log
[  4%] Performing build step for 'Poly-EP'
-- Poly-EP build command succeeded.  See also /tmp/cvc5-20240215-29703-1pa0wo/build/deps/src/Poly-EP-stamp/Poly-EP-build-*.log
[  4%] Performing install step for 'Poly-EP'
-- Poly-EP install command succeeded.  See also /tmp/cvc5-20240215-29703-1pa0wo/build/deps/src/Poly-EP-stamp/Poly-EP-install-*.log
[  4%] Performing cleanup step for 'Poly-EP'
[  5%] Completed 'Poly-EP'
[  5%] Built target Poly-EP
[  5%] Built target gen-expr
make[2]: *** read jobs pipe: Resource temporarily unavailable.  Stop.
make[2]: *** Waiting for unfinished jobs....
[  5%] Building CXX object src/parser/CMakeFiles/cvc5parser-objs.dir/commands.cpp.o
[  5%] Building CXX object src/parser/CMakeFiles/cvc5parser-objs.dir/smt2/smt2_state.cpp.o
make[2]: *** read jobs pipe: Resource temporarily unavailable.  Stop.
make[2]: *** Waiting for unfinished jobs....
[  5%] Building CXX object src/parser/CMakeFiles/cvc5parser-objs.dir/parser.cpp.o
[  5%] Building CXX object src/parser/CMakeFiles/cvc5parser-objs.dir/command_status.cpp.o
[  5%] Building CXX object src/parser/CMakeFiles/cvc5parser-objs.dir/smt2/smt2_cmd_parser.cpp.o
[  5%] Building CXX object src/parser/CMakeFiles/cvc5parser-objs.dir/input.cpp.o
[  5%] Building CXX object src/parser/CMakeFiles/cvc5parser-objs.dir/parser_utils.cpp.o
[  5%] Building CXX object src/parser/CMakeFiles/cvc5parser-objs.dir/parser_state.cpp.o
[  6%] Building CXX object src/parser/CMakeFiles/cvc5parser-objs.dir/parse_op.cpp.o
[  6%] Building CXX object src/parser/CMakeFiles/cvc5parser-objs.dir/lexer.cpp.o
[  6%] Building CXX object src/parser/CMakeFiles/cvc5parser-objs.dir/smt2/smt2_lexer.cpp.o
[  6%] Building CXX object src/CMakeFiles/cvc5-obj.dir/api/cpp/cvc5.cpp.o
make[1]: *** [src/parser/CMakeFiles/cvc5parser-objs.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
make[1]: *** [src/CMakeFiles/cvc5-obj.dir/all] Error 2
make: *** [all] Error 2

HOMEBREW_VERSION: 4.2.8
ORIGIN: https://github.com/Homebrew/brew
HEAD: eb7338abba43112e16e178d4329d5483d6d8fd6f
Last commit: 3 days ago
Core tap JSON: 16 Feb 01:21 UTC
Core cask tap JSON: 16 Feb 01:21 UTC
HOMEBREW_PREFIX: /opt/homebrew
HOMEBREW_BROWSER: open
HOMEBREW_CASK_OPTS: []
HOMEBREW_DISPLAY: /private/tmp/com.apple.launchd.GM8krWH1uY/org.xquartz:0
HOMEBREW_MAKE_JOBS: 12
HOMEBREW_NO_BOOTSNAP: set
Homebrew Ruby: 3.1.4 => /opt/homebrew/Library/Homebrew/vendor/portable-ruby/3.1.4/bin/ruby
CPU: dodeca-core 64-bit arm_blizzard_avalanche
Clang: 15.0.0 build 1500
Git: 2.43.2 => /opt/homebrew/bin/git
Curl: 8.4.0 => /usr/bin/curl
macOS: 14.3.1-arm64
CLT: 15.1.0.0.1.1700200546
Xcode: 15.2
Rosetta 2: false

HOMEBREW_CC: clang
HOMEBREW_CXX: clang++
MAKEFLAGS: -j12
CMAKE_PREFIX_PATH: /opt/homebrew
CMAKE_INCLUDE_PATH: /Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk/System/Library/Frameworks/OpenGL.framework/Versions/Current/Headers
CMAKE_LIBRARY_PATH: /Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk/System/Library/Frameworks/OpenGL.framework/Versions/Current/Libraries
CMAKE_FRAMEWORK_PATH: /opt/homebrew/opt/[email protected]/Frameworks
PKG_CONFIG_PATH: /opt/homebrew/opt/[email protected]/lib/pkgconfig:/opt/homebrew/opt/gmp/lib/pkgconfig
PKG_CONFIG_LIBDIR: /usr/lib/pkgconfig:/opt/homebrew/Library/Homebrew/os/mac/pkgconfig/14
HOMEBREW_GIT: git
HOMEBREW_SDKROOT: /Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk
ACLOCAL_PATH: /opt/homebrew/share/aclocal
PATH: /opt/homebrew/Library/Homebrew/shims/mac/super:/opt/homebrew/opt/cmake/bin:/opt/homebrew/opt/[email protected]/bin:/opt/homebrew/opt/[email protected]/libexec/bin:/usr/bin:/bin:/usr/sbin:/sbin

@daniel-larraz
Copy link
Contributor

Thank you for sharing the log.

The following line in the log seems to be the relevant one:

make[2]: *** read jobs pipe: Resource temporarily unavailable.  Stop.

Please try using a lower number of threads for the Homebrew build. You can do that as follows:

HOMEBREW_MAKE_JOBS=8 brew install cvc5

If that does not work, please try to build with only one thread. Use HOMEBREW_MAKE_JOBS=1 in the command above to discard that the number of jobs is not the problem.

@algebravic
Copy link
Author

HOMEBREW_MAKE_JOBS=8 gave the same problem. When I used only 1 job it worked, even though it took 11 minutes.

@daniel-larraz
Copy link
Contributor

@algebravic. You said:

When I cloned the github source repository and configured it, I was able to build it successfully.

Did you use GNU Make to build cvc5 in that case? (GNU Make is the default option)
If so, what value did you use for N in make -jN?
Did you use the latest version of cvc5 available in the main branch?
If so, do you experience any problem if you use the latest release instead? (To do that, run git checkout cvc5-1.1.1 before configure.sh).

Thank you.

@algebravic
Copy link
Author

algebravic commented Feb 17, 2024 via email

@daniel-larraz
Copy link
Contributor

Then it looks like the error only occurs when multiple jobs are used to build cvc5. That matches.

We have been unable to reproduce the issue on our end. It's possible that the problem lies in the configuration of your system rather than in cvc5's build settings. To rule out the latter possibility, we would appreciate it if you could try building a cloned copy of the GitHub source repository using make -j4 and check if the issue persists (even without using Homebrew). Additionally, it would be helpful if you could try to build cvc5 using the Ninja build system. You can do this by installing Ninja on your system (brew install ninja), specifying the --ninja option when running configure.sh, and then executing ninja within the created build directory.

@algebravic
Copy link
Author

algebravic commented Feb 22, 2024 via email

@daniel-larraz
Copy link
Contributor

Thank you very much for checking this!

Since version 1.1.1, the one that is installed using the Homebrew tap, we fixed an issue related to the build dependencies. Could you please checkout v1.1.1 (git checkout cvc5-1.1.1) in your cloned copy, configure it using the default generator (GNU Make), and build it with make -j12?

@algebravic
Copy link
Author

algebravic commented Feb 22, 2024 via email

@daniel-larraz
Copy link
Contributor

@algebravic. We have published a new release of cvc5 (v1.1.2), and updated the Homebrew tap to use this new version. Could you please give it a try?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants