helix-editor / helix

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

Issue installing master branch -- failure to fetch treesitter for hare from sr.ht causes build failure #7036

Closed collin-kemper closed 1 year ago

collin-kemper commented 1 year ago

Summary

I get what appears to be an issue fetching the tree sitter grammar for hare when trying to install from source on Ubuntu 20.04. The specific error that I get is:

Failure 1/1: hare Git command failed.
  Stdout: 
  Stderr: error: Server does not allow request for unadvertised object bc26a6a949f2e0d98b7bfc437d459b250900a165

It's fixed when I remove the hare section from the languages.toml file.

Reproduction Steps

I tried this: 1. `cargo install --path helix-term --locked` On a fresh Ubuntu 20.04 I expected this to happen: Installation success Instead, this happened: ``` error: failed to run custom build command for `helix-term v0.6.0` Caused by: process didn't exit successfully: `helix/target/release/build/helix-term-dc155c626a563b6d/build-script-build` (exit status: 101) --- stdout Fetching 148 grammars 147 updated grammars astro now on 5f5c3e73c45967df9aa42f861fad2d77cd4e0900 awk now on a799bc5da7c2a84bc9a06ba5f3540cf1191e4ee3 bash now on 275effdfc0edce774acf7d481f9ea195c6c403cd bass now on 501133e260d768ed4e1fd7374912ed5c86d6fd90 beancount now on 4cbd1f09cd07c1f1fabf867c2cf354f9da53cc4c bibtex now on ccfd77db0ed799b6c22c214fe9d2937f47bc8b34 bicep now on d8e097fcfa143854861ef737161163a09cc2916b c now on 7175a6dd5fc1cee660dce6fe23f6043d75af424a c-sharp now on 5b60f99545fea00a33bbfae5be956f684c4c69e2 cairo now on b249662a1eefeb4d71c9529cdd971e74fecc10fe capnp now on fc6e2addf103861b9b3dffb82c543eb6b71061aa clojure now on e57c569ae332ca365da623712ae1f50f84daeae2 cmake now on 6e51463ef3052dd3b328322c22172eda093727ad comment now on 5dd3c62f1bbe378b220fe16b317b85247898639e cpon now on 0d01fcdae5a53191df5b1349f9bce053833270e7 cpp now on 2d2c4aee8672af4c7c8edff68e7dd4c07e88d2b1 css now on 769203d0f9abe1a9a691ac2b9fe4bb4397a73c51 cue now on 61843e3beebf19417e4fede4e8be4df1084317ad d now on 601c4a1e8310fb2f3c43fa8a923d0d27497f3c04 dart now on 2d7f66651c9319c1a0e4dda226cc2628fbb66528 devicetree now on 877adbfa0174d25894c40fa75ad52d4515a36368 dhall now on affb6ee38d629c9296749767ab832d69bb0d9ea8 diff now on fd74c78fa88a20085dbc7bbeaba066f4d1692b63 dockerfile now on 8ee3a0f7587b2bd8c45c8cb7d28bd414604aec62 dot now on 917230743aa10f45a408fea2ddb54bbbf5fbe7b7 dtd now on 6116becb02a6b8e9588ef73d300a9ba4622e156f edoc now on 74774af7b45dd9cefbf9510328fc6ff2374afc50 eex now on f742f2fe327463335e8671a87c0b9b396905d1d1 elixir now on b20eaa75565243c50be5e35e253d8beb58f45d56 elm now on df4cb639c01b76bc9ac9cc66788709a6da20002c elvish now on e50787cadd3bc54f6d9c0704493a79078bb8a4e5 embedded-template now on d21df11b0ecc6fd211dbe11278e92ef67bd17e97 erlang now on ce0ed253d72c199ab93caba7542b6f62075339c4 esdl now on b840c8a8028127e0a7c6e6c45141adade2bd75cf fish now on 84436cf24c2b3176bfbb220922a0fdbd0141e406 fortran now on f0f2f100952a353e64e26b0fa710b4c296d7af13 gdscript now on a4b57cc3bcbfc24550e858159647e9238e7ad1ac git-commit now on db88cffa3952dd2328b741af5d0fc69bdb76704f git-config now on 0e4f0baf90b57e5aeb62dcdbf03062c6315d43ea git-rebase now on d8a4207ebbc47bd78bacdf48f883db58283f9fd8 gitattributes now on 3dd50808e3096f93dccd5e9dc7dc3dba2eb12dc4 gitignore now on f4685bf11ac466dd278449bcfe5fd014e94aa504 gleam now on ae79782c00656945db69641378e688cdb78d52c1 glsl now on 88408ffc5e27abcffced7010fc77396ae3636d7e go now on 64457ea6b73ef5422ed1687178d4545c3e91334a godot-resource now on b6ef0768711086a86b3297056f9ffb5cc1d77b4a gomod now on e8f51f8e4363a3d9a427e8f63f4c1bbc5ef5d8d0 gotmpl now on 395a33e08e69f4155156f0b90138a6c86764c979 gowork now on 6dd9dd79fb51e9f2abc829d5e97b15015b6a8ae2 graphql now on 5e66e961eee421786bdda8495ed1db045e06b5fe haskell now on 98fc7f59049aeb713ab9b72a8ff25dcaaef81087 hcl now on 3cb7fc28247efbcb2973b97e71c78838ad98a583 heex now on 2e1348c3cf2c9323e87c2744796cf3f3868aa82a hosts now on 301b9379ce7dfc8bdbe2c2699a6887dcb73953f9 html now on 29f53d8f4f2335e61bf6418ab8958dac3282077a hurl now on 264c42064b61ee21abe88d0061f29a0523352e22 iex now on 39f20bb51f502e32058684e893c0c0b00bb2332c ini now on 4d247fb876b4ae6b347687de4a179511bf67fcbc java now on 09d650def6cdf7f479f4b78f595e9ef5b58ce31e javascript now on 4a95461c4761c624f2263725aca79eeaefd36cad jsdoc now on 189a6a4829beb9cdbe837260653b4a3dfb0cc3db json now on 73076754005a460947cafe8e03a8cf5fa4fa2938 jsonnet now on 0475a5017ad7dc84845d1d33187f2321abcb261d julia now on 8fb38abff74652c4faddbf04d2d5bbbc6b4bae25 just now on 8af0aab79854aaf25b620a52c39485849922f766 kdl now on e1cd292c6d15df6610484e1d4b5c987ecad52373 kotlin now on a4f71eb9b8c9b19ded3e0e9470be4b1b77c2b569 latex now on 8c75e93cd08ccb7ce1ccab22c1fbd6360e3bcea6 lean now on d98426109258b266e1e92358c5f11716d2e8f638 ledger now on 1f864fb2bf6a87fe1b48545cc6adc6d23090adf7 llvm now on 3b213925b9c4f42c1acfe2e10bfbb438d9c6834d llvm-mir now on 06fabca19454b2dc00c1b211a7cb7ad0bc2585f1 lua now on 887dfd4e83c469300c279314ff1619b1d0b85b91 make now on a4b9187417d6be349ee5fd4b6e77b4172c6827dd markdoc now on 5ffe71b29e8a3f94823913ea9cea51fcfa7e3bf8 markdown now on fa6bfd51727e4bef99f7eec5f43947f73d64ea7d markdown_inline now on fa6bfd51727e4bef99f7eec5f43947f73d64ea7d matlab now on 2d5d3d5193718a86477d4335aba5b34e79147326 mermaid now on d787c66276e7e95899230539f556e8b83ee16f6d meson now on 32a83e8f200c347232fa795636cfe60dde22957a nasm now on a0db15db6fcfb1bf2cc8702500e55e558825c48b nickel now on 9d83db400b6c11260b9106f131f93ddda8131933 nim now on 240239b232550e431d67de250d1b5856209e7f06 nix now on 1b69cf1fa92366eefbe6863c184e5d2ece5f187d nu now on eb95bdac3abd73ef47e53f19c63e74a31405ebd2 ocaml now on 23d419ba45789c5a47d31448061557716b02750a ocaml-interface now on 23d419ba45789c5a47d31448061557716b02750a odin now on b219207e49ffca2952529d33e94ed63b1b75c4f1 opencl now on 8e1d24a57066b3cd1bb9685bbc1ca9de5c1b78fb openscad now on 5c3ce93df0ac1da7197cf6ae125aade26d6b8972 org now on 698bb1a34331e68f83fc24bdd1b6f97016bb30de pascal now on 2fd40f477d3e2794af152618ccfac8d92eb72a66 passwd now on 20239395eacdc2e0923a7e5683ad3605aee7b716 pem now on be67a4330a1aa507c7297bc322204f936ec1132c perl now on 0ac2c6da562c7a2c26ed7e8691d4a590f7e8b90a php now on f860e598194f4a71747f91789bf536b393ad4a56 po now on 417cee9abb2053ed26b19e7de972398f2da9b29e ponylang now on ef66b151bc2604f431b5668fcec4747db4290e11 prisma now on eca2596a355b1a9952b4f80f8f9caed300a272b5 protobuf now on 19c211a01434d9f03efff99f85e19f967591b175 prql now on 3f27cac466f030ee7d985d91eba5470e01dd21ea python now on de221eccf9a221f5b85474a553474a69b4b5784d qmljs now on 0b2b25bcaa7d4925d5f0dda16f6a99c588a437f1 r now on cc04302e1bff76fa02e129f332f44636813b0c3c regex now on e1cfca3c79896ff79842f057ea13e529b66af636 rego now on b2667c975f07b33be3ceb83bea5cfbad88095866 rescript now on 65609807c628477f3b94052e7ef895885ac51c3c robot now on f1142bfaa6acfce95e25d2c6d18d218f4f533927 rst now on 25e6328872ac3a764ba8b926aea12719741103f1 ruby now on 206c7077164372c596ffa8eaadb9435c28941364 rust now on 0431a2c60828731f27491ee9fdefe25e250ce9c9 scala now on f6bbf35de41653b409ca9a3537a154f2b095ef64 scheme now on c0741320bfca6b7b5b7a13b5171275951e96a842 scss now on c478c6868648eff49eb04a4df90d703dc45b312a slint now on 0d4dda94f96623302dfc234e06be62a5717f47da smithy now on cf8c7eb9faf7c7049839585eac19c94af231e6a0 sml now on bd4055d5554614520d4a0706b34dc0c317c6b608 solidity now on 9004b86531cb424bd379424cf7266a4585f2af7d sql now on 3a3f92b29c880488a08bc2baaf1aca6432ec3380 sshclientconfig now on e45c6d5c71657344d4ecaf87dafae7736f776c57 svelte now on 349a5984513b4a4a9e143a6e746120c6ff6cf6ed sway now on e491a005ee1d310f4c138bf215afd44cfebf959c swift now on 77c6312c8438f4dbaa0350cec92b3d6dd3d74a66 tablegen now on 568dd8a937347175fd58db83d4c4cdaeb6069bd2 task now on f2cb435c5dbf3ee19493e224485d977cb2d36d8b toml now on 7cff70bbcbbc62001b465603ca1ea88edd668704 tsq now on 48b5e9f82ae0a4727201626f33a17f69f8e0ff86 tsx now on 6aac031ad88dd6317f02ac0bb27d099a553a7d8c twig now on 807b293fec3fead64f54c64fdf6fb05516c032b9 typescript now on 6aac031ad88dd6317f02ac0bb27d099a553a7d8c ungrammar now on 0113de880a58ea14f2a75802e9b99fcc25003d9c uxntal now on 9297e95ef74380b0ad84c4fd98f91e9f6e4319e6 v now on 66cf9d3086fb5ecc827cb32c64c5d812ab17d2c6 vala now on c9eea93ba2ec4ec1485392db11945819779745b3 verilog now on 514d8d70593d29ef3ef667fa6b0e504ae7c977e3 vhdl now on c57313adee2231100db0a7880033f6865deeadb2 vhs now on c6d81f34c011c29ee86dd73b45a8ecc9f2e2bdaf vue now on 91fe2754796cd8fba5f229505a23fa08f3546c06 wast now on 2ca28a9f9d709847bf7a3de0942a84e912f59088 wat now on 2ca28a9f9d709847bf7a3de0942a84e912f59088 wgsl now on 272e89ef2aeac74178edb9db4a83c1ffef80a463 wit now on c917790ab9aec50c5fd664cbfad8dd45110cfff3 xit now on 7d7902456061bc2ad21c64c44054f67b5515734c xml now on 48a7c2b6fb9d515577e115e6788937e837815651 yaml now on 0e36bed171768908f331ff7dff9d956bae016efb yuck now on e3d91a3c65decdea467adebe4127b8366fa47919 zig now on 8d3224c3bd0890fe08358886ebf54fca2ed448a6 Failure 1/1: hare Git command failed. Stdout: Stderr: error: Server does not allow request for unadvertised object bc26a6a949f2e0d98b7bfc437d459b250900a165 --- stderr thread 'main' panicked at 'Failed to fetch tree-sitter grammars: 1 grammars failed to fetch', helix-term/build.rs:5:26 ``` ### Helix log N/A ### Platform Linux/Ubuntu 20.04 ### Terminal Emulator terminator ### Helix Version 23.03-142-g06d7f5d1
collin-kemper commented 1 year ago

Update: the issue appears to be that sourcehut doesn't allow you to fetch commit ids, and the treesitter build system relies on fetching commit ids to minimize download size. The only apparent solution would be to fallback to cloning the whole repository and locally checking out a given branch if the fetch fails.

collin-kemper commented 1 year ago

That or removing support for hare, or skipping treesitter grammars on failure to fetch them.

the-mikedavis commented 1 year ago

What's your git version?

pascalkuthe commented 1 year ago

I can't reproduce locally so I also think it might be related to your git install. Ubuntu 20.04 is pretty ancient so the git version might be very outdated

collin-kemper commented 1 year ago

My git version is 2.25.1 -- so quite old. That's probably the issue.

lucblassel commented 1 year ago

I have the same issue with git version 2.20.1, which I cannot update on a remote server

the-mikedavis commented 1 year ago

You can limit the set of grammars to exclude hare with use-grammars in languages.toml: https://docs.helix-editor.com/master/languages.html#choosing-grammars

lanceschi commented 1 year ago

Like @collin-kemper, I had the same problem. I can confirm that currently ubuntu:20.04 offers git v2.25.1. I fixed the issue by using git v2.40.1, available from the official git ppa.

Install with one line (after you've purged previous versions of git):

sudo add-apt-repository -y ppa:git-core/ppa && sudo apt update && sudo apt install -y git

For more details, you can check out the full Dockerfile I'm keeping in this repo for older GLIB compatibility.

jakubrpawlowski commented 6 months ago

I'm running into same issue on Debian Bookworm git version 2.39.2

jakubrpawlowski commented 6 months ago

Took an hour break and now it works. No changes.