helix-editor / helix

A post-modern modal text editor.
https://helix-editor.com
Mozilla Public License 2.0
33.08k stars 2.46k forks source link

Helix build fails on OpenBSD 7.1 #2535

Closed boromil closed 1 year ago

boromil commented 2 years ago

Summary

When building helix on OpenBSD 7.1 with clang version 13.0.0

Reproduction Steps

I tried this: 1. `cargo build --release` I expected this to happen: build completed successfully Instead, this happened: ``` error: failed to run custom build command for `helix-term v0.6.0 (/home/myhome/helix/helix-term)` Caused by: process didn't exit successfully: `/home/myhome/helix/target/release/build/helix-term-92e15ea0d598dcf3/build-script-build` (exit status: 101) --- stdout Grammar 'rust' is already up to date. Grammar 'toml' is already up to date. Grammar 'elixir' is already up to date. Grammar 'protobuf' is already up to date. Grammar 'fish' is already up to date. Grammar 'c' is already up to date. Grammar 'json' is already up to date. Grammar 'cpp' is already up to date. Grammar 'go' is already up to date. Grammar 'c-sharp' is already up to date. Grammar 'gomod' is already up to date. Grammar 'gowork' is already up to date. Grammar 'javascript' is already up to date. Grammar 'typescript' is already up to date. Grammar 'css' is already up to date. Grammar 'tsx' is already up to date. Grammar 'html' is already up to date. Grammar 'python' is already up to date. Grammar 'nickel' is already up to date. Grammar 'nix' is already up to date. Grammar 'ruby' is already up to date. Grammar 'bash' is already up to date. Grammar 'twig' is already up to date. Grammar 'php' is already up to date. Grammar 'latex' is already up to date. Grammar 'lean' is already up to date. Grammar 'java' is already up to date. Grammar 'julia' is already up to date. Grammar 'ledger' is already up to date. Grammar 'ocaml' is already up to date. Grammar 'ocaml-interface' is already up to date. Grammar 'lua' is already up to date. Grammar 'svelte' is already up to date. Grammar 'vue' is already up to date. Grammar 'yaml' is already up to date. Grammar 'haskell' is already up to date. Grammar 'tsq' is already up to date. Grammar 'zig' is already up to date. Grammar 'cmake' is already up to date. Grammar 'make' is already up to date. Grammar 'glsl' is already up to date. Grammar 'perl' is already up to date. Grammar 'comment' is already up to date. Grammar 'wgsl' is already up to date. Grammar 'llvm' is already up to date. Grammar 'llvm-mir' is already up to date. Grammar 'tablegen' is already up to date. Grammar 'markdown' is already up to date. Grammar 'dart' is already up to date. Grammar 'scala' is already up to date. Grammar 'dockerfile' is already up to date. Grammar 'git-commit' is already up to date. Grammar 'git-diff' is already up to date. Grammar 'git-rebase' is already up to date. Grammar 'regex' is already up to date. Grammar 'git-config' is already up to date. Grammar 'gitattributes' is already up to date. Grammar 'graphql' is already up to date. Grammar 'gitignore' is already up to date. Grammar 'iex' is already up to date. Grammar 'elm' is already up to date. Grammar 'rescript' is already up to date. Grammar 'erlang' is already up to date. Grammar 'kotlin' is already up to date. Grammar 'org' is already up to date. Grammar 'hcl' is already up to date. Grammar 'solidity' is already up to date. Grammar 'gleam' is already up to date. Grammar 'r' is already up to date. Grammar 'embedded-template' is already up to date. Grammar 'swift' is already up to date. Grammar 'eex' is already up to date. Grammar 'heex' is already up to date. Grammar 'sql' is already up to date. Grammar 'gdscript' is already up to date. Grammar 'nu' is already up to date. Grammar 'vala' is already up to date. Grammar 'hare' is already up to date. Grammar 'devicetree' is already up to date. Grammar 'cairo' is already up to date. Grammar 'cpon' is already up to date. Grammar 'odin' is already up to date. Grammar 'meson' is already up to date. Grammar 'sshclientconfig' is already up to date. Grammar 'scheme' is already up to date. Grammar 'toml' is already built. Grammar 'rust' is already built. Grammar 'protobuf' is already built. Grammar 'elixir' is already built. Grammar 'json' is already built. Grammar 'c' is already built. Grammar 'fish' is already built. Grammar 'cpp' is already built. Grammar 'go' is already built. Grammar 'gomod' is already built. Grammar 'c-sharp' is already built. Grammar 'gowork' is already built. Grammar 'javascript' is already built. Grammar 'typescript' is already built. Grammar 'tsx' is already built. Grammar 'html' is already built. Grammar 'python' is already built. Grammar 'nickel' is already built. Grammar 'css' is already built. Grammar 'nix' is already built. Grammar 'ruby' is already built. Grammar 'bash' is already built. Grammar 'php' is already built. Grammar 'latex' is already built. Grammar 'twig' is already built. Building grammar 'lean' Grammar 'julia' is already built. Grammar 'java' is already built. Grammar 'ledger' is already built. Grammar 'ocaml' is already built. Grammar 'ocaml-interface' is already built. Grammar 'lua' is already built. Grammar 'svelte' is already built. Grammar 'yaml' is already built. Grammar 'vue' is already built. Grammar 'haskell' is already built. Grammar 'tsq' is already built. Grammar 'zig' is already built. Grammar 'cmake' is already built. Grammar 'make' is already built. Grammar 'glsl' is already built. Grammar 'perl' is already built. Grammar 'comment' is already built. Grammar 'llvm' is already built. Grammar 'wgsl' is already built. Grammar 'markdown' is already built. Grammar 'tablegen' is already built. Grammar 'llvm-mir' is already built. Grammar 'dart' is already built. Grammar 'scala' is already built. Grammar 'git-commit' is already built. Grammar 'dockerfile' is already built. Grammar 'git-diff' is already built. Grammar 'git-rebase' is already built. Grammar 'regex' is already built. Grammar 'gitattributes' is already built. Grammar 'git-config' is already built. Grammar 'gitignore' is already built. Grammar 'graphql' is already built. Grammar 'iex' is already built. Grammar 'elm' is already built. Grammar 'rescript' is already built. Grammar 'kotlin' is already built. Grammar 'erlang' is already built. Grammar 'hcl' is already built. Grammar 'solidity' is already built. Grammar 'org' is already built. Grammar 'gleam' is already built. Grammar 'r' is already built. Grammar 'swift' is already built. Grammar 'embedded-template' is already built. Grammar 'eex' is already built. Grammar 'heex' is already built. Grammar 'gdscript' is already built. Grammar 'sql' is already built. Grammar 'nu' is already built. Grammar 'vala' is already built. Grammar 'hare' is already built. Grammar 'devicetree' is already built. Grammar 'cairo' is already built. Grammar 'cpon' is already built. Building grammar 'odin' Building grammar 'meson' Building grammar 'sshclientconfig' Building grammar 'scheme' --- stderr thread 'main' panicked at 'Failed to compile tree-sitter grammars: Failed to build some grammar(s) Caused by: Parser compilation failed. Stdout: Stderr: LLVM ERROR: out of memory Allocation failed PLEASE submit a bug report to https://bugs.llvm.org/ and include the crash backtrace, preprocessed source, and associated run script. Stack dump: 0. Program arguments: /usr/bin/c++ -cc1 -triple amd64-unknown-openbsd7.1 -emit-obj -disable-free -disable-llvm-verifier -discard-value-names -main-file-name parser.c -mrelocation-model pic -pic-level 2 -fhalf-no-semantic-interposition -mframe-pointer=all -relaxed-aliasing -fno-rounding-math -mconstructor-aliases -munwind-tables -target-cpu x86-64 -target-feature +retpoline-indirect-calls -target-feature +retpoline-indirect-branches -tune-cpu generic -debug-info-kind=constructor -dwarf-version=2 -debugger-tuning=gdb -fcoverage-compilation-dir=/home/myhome/helix/runtime/grammars/sources/lean/src -resource-dir /usr/lib/clang/13.0.0 -I /home/myhome/helix/runtime/grammars/sources/lean/src -internal-isystem /usr/lib/clang/13.0.0/include -internal-externc-isystem /usr/include -O3 -fdebug-compilation-dir=/home/myhome/helix/runtime/grammars/sources/lean/src -ferror-limit 19 -fwrapv -D_RET_PROTECTOR -ret-protector -fgnuc-version=4.2.1 -vectorize-loops -vectorize-slp -fno-builtin-malloc -fno-builtin-calloc -fno-builtin-realloc -fno-builtin-valloc -fno-builtin-free -fno-builtin-strdup -fno-builtin-strndup -faddrsig -D__GCC_HAVE_DWARF2_CFI_ASM=1 -o /tmp/parser-daffea.o -x c /home/myhome/helix/runtime/grammars/sources/lean/src/parser.c 1. LLVM ERROR: out of memory Allocation failed c++: error: unable to execute command: Abort trap (core dumped) c++: error: clang frontend command failed due to signal (use -v to see invocation) OpenBSD clang version 13.0.0 Target: amd64-unknown-openbsd7.1 Thread model: posix InstalledDir: /usr/bin c++: note: diagnostic msg: ******************** PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT: Preprocessed source(s) and associated run script(s) are located at: c++: note: diagnostic msg: /tmp/scanner-172959.cpp c++: note: diagnostic msg: /tmp/parser-846e56.c c++: note: diagnostic msg: /tmp/scanner-172959.sh c++: note: diagnostic msg: ******************** ', helix-term/build.rs:22:26 note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace ``` ### Helix log
~/.cache/helix/helix.log ``` please provide a copy of `~/.cache/helix/helix.log` here if possible, you may need to redact some of the lines ```
### Platform OpenBSD ### Terminal Emulator ksh ### Helix Version 22.03-242-g6801b28d
the-mikedavis commented 2 years ago

It looks like LLVM ran out of memory when compiling one of the tree-sitter grammars. Does this machine have not much ram?

You can select which languages you want to build using the use-grammars key in ~/.config/helix/languages.toml: https://docs.helix-editor.com/languages.html#tree-sitter-grammars. Only a few of the tree-sitter grammars are large enough to take much memory when compiling.

boromil commented 2 years ago

The machine I've build helix on has 8GB of ram. I'll try to select less languages and try again - thanks for the advise.