zdharma-continuum / zinit

🌻 Flexible and fast ZSH plugin manager
MIT License
3.15k stars 129 forks source link

[bug]: commit d59f15 makes `gh-r` select i686 (32 bit) `fd` binary #225

Closed anupamsr closed 2 years ago

anupamsr commented 2 years ago

Describe the bug

$ zinit wait lucid for from"gh-r" as"null" sbin"**/fd" atclone"cp -vf **/*.1 $ZPFX/man/man1" @sharkdp/fd
$ fd
fd:7: no such file or directory: /home/anupam/.local/share/zinit/plugins/sharkdp---fd/fd-v8.3.2-i686-unknown-linux-gnu/fd

The latest commit downloads i686 binary instead of x86_64. This has been verified on debian (sid, 20220328-962) and Fedora release 36.

Steps to reproduce

  1. zini update
  2. zinit for from"gh-r" as"null" sbin"**/fd" @sharkdp/fd
  3. Run fd

Expected behavior

fd should run without any problem, like it used to

Screenshots and recordings

No response

OS / Linux distribution

linux-gnu redhat x86_64 x86_64 x86_64 x86_64

Zsh version

5.8.1

Terminal emulator

Windows Terminal

If using WSL on Windows, which version of WSL

WSL2

Additional context

No response

vladdoster commented 2 years ago

@anupamsr Fix opened in #226 and will merge once unit tests pass.

vladdoster commented 2 years ago

However, I'm a bit confused as to why the 32-bit version isn't able to run. The error doesn't (from an initial glance) look like fd failing to run?

vladdoster commented 2 years ago

Your recipe works on all Linux systems I've tested.

What does uname -a output?

pcarlisle commented 2 years ago

This doesn't seem to be fixed.

❯ uname -a
Linux 4c40c7fdee6e 5.10.76-linuxkit #1 SMP Mon Nov 8 10:21:19 UTC 2021 x86_64 GNU/Linux
  ~/.zinit/bin   main                                                                                                                                                                                       
❯ git rev-parse HEAD
08c705381e459e2a3643d6d09ede96c00cfaae39
  ~/.zinit/bin   main                                                                                                                                                                                       
❯ zinit for from"gh-r" as"null" sbin"**/fd" atclone"cp -vf **/*.1 $ZPFX/man/man1" @sharkdp/fd

Downloading sharkdp/fd...
(Requesting `fd-v8.3.2-i686-unknown-linux-gnu.tar.gz'...)
########################################################################################################################################################################################################## 100.0%
ziextract: Unpacking the files from: `fd-v8.3.2-i686-unknown-linux-gnu.tar.gz'...
ziextract: Successfully extracted and assigned +x chmod to the file: `fd-v8.3.2-i686-unknown-linux-gnu/fd'.
(eval):1: za-patch-dl-handler: function definition file not found
Warning: za-patch-dl-handler hook returned with 1
'fd-v8.3.2-i686-unknown-linux-gnu/fd.1' -> '/home/patrick/.zinit/polaris/man/man1/fd.1'
(eval):1: za-bgn-atclone-handler: function definition file not found
Warning: za-bgn-atclone-handler hook returned with 1
  ~/.zinit/bin   main                                                                                                                                                                                       
❯ fd
fd:7: no such file or directory: /home/patrick/.zinit/plugins/sharkdp---fd/fd-v8.3.2-i686-unknown-linux-gnu/fd

The error message is misleading but see the top answer here https://unix.stackexchange.com/questions/378301/linux-executable-fails-with-file-not-found-even-though-the-file-is-there-and-i

thuandt commented 2 years ago

I think it's not fixed yet. I have same issue, zinit download many i386 or even powerpc64 binaries for my x86_64 setup

anupamsr commented 2 years ago

Your recipe works on all Linux systems I've tested.

What does uname -a output?

I tested this on fedora wsl2 on win 11 as well as debian sid on a vps on azure.

Linux xxxxxxxx 5.10.102.1-microsoft-standard-WSL2 #1 SMP Wed Mar 2 00:30:59 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux Linux xxxxxxxx 5.16.0-6-cloud-amd64 #1 SMP PREEMPT Debian 5.16.18-1 (2022-03-29) x86_64 GNU/Linux

vladdoster commented 2 years ago

In-progress via #235

vladdoster commented 2 years ago

@anupamsr and fd breaks on both of those systems?

vladdoster commented 2 years ago

@thuandt For brevity, open a new issue for PowerPC 64 issues.

vladdoster commented 2 years ago

zinit wait lucid for from"gh-r" as"null" sbin"/fd" atclone"cp -vf /*.1 $ZPFX/man/man1" @sharkdp/fd

nvm, I just tested a AWS VM (Debian 10 x86_64) and understand issue now. I know where the bug is and will have a PR up by EOD.

I'll add a new target of Debian (Docker) for zunit tests.

thuandt commented 2 years ago

Here is logs after run zi self-update and zi delete --all today

It's still pickup 386 binaries for x86_64 system


4. [meta-plugins annex] Loading meta-plugin: `sharkdp' consisting of: 1) sharkdp∕fd, 2) sharkdp∕bat, 3) sharkdp∕hexyl, 4) sharkdp∕hyperfine, 5) sharkdp∕vivid.                                                                          

Downloading sharkdp/fd…                                                                                                                                                                                                                 
(Requesting `fd-v8.3.2-i686-unknown-linux-gnu.tar.gz'…)                                                             
################################################################################################################################################################################################################################# 100.0%
ziextract: Unpacking the files from: `fd-v8.3.2-i686-unknown-linux-gnu.tar.gz'…                                                                                                                                                         
ziextract: Successfully extracted and assigned +x chmod to the file: `fd-v8.3.2-i686-unknown-linux-gnu/fd'.         
renamed 'fd-v8.3.2-i686-unknown-linux-gnu' -> 'fd'                                                                                                                                                                                      
bin-gem-node annex: Created the fd shim and set +x on the fd binary                                                                                                                                                                     
Installed 0 completions. They are stored in the $INSTALLED_COMPS array.                                             
Skipped installing 1 completions. They are stored in the $SKIPPED_COMPS array.                                                                                                                                                          

Downloading sharkdp/bat…                                                                                                                                                                                                                
(Requesting `bat-v0.20.0-i686-unknown-linux-gnu.tar.gz'…)                                                           
################################################################################################################################################################################################################################# 100.0%
ziextract: Unpacking the files from: `bat-v0.20.0-i686-unknown-linux-gnu.tar.gz'…                                   
ziextract: Successfully extracted and assigned +x chmod to the file: `bat-v0.20.0-i686-unknown-linux-gnu/bat'.      
renamed 'bat-v0.20.0-i686-unknown-linux-gnu' -> 'bat'                                                                                                                                                                                   
bin-gem-node annex: Created the bat shim and set +x on the bat binary                                               

Downloading sharkdp/hexyl…                                                                                                                                                                                                              
(Requesting `hexyl-v0.9.0-i686-unknown-linux-gnu.tar.gz'…)                                                          
################################################################################################################################################################################################################################# 100.0%
ziextract: Unpacking the files from: `hexyl-v0.9.0-i686-unknown-linux-gnu.tar.gz'…                                                                                                                                                      
ziextract: Successfully extracted and assigned +x chmod to the file: `hexyl-v0.9.0-i686-unknown-linux-gnu/hexyl'.                                                                                                                       
renamed 'hexyl-v0.9.0-i686-unknown-linux-gnu' -> 'hexyl'                                                                                                                                                                                
bin-gem-node annex: Created the hexyl shim and set +x on the hexyl binary                                           

Downloading sharkdp/hyperfine…                                                                                      
(Requesting `hyperfine-v1.13.0-i686-unknown-linux-gnu.tar.gz'…)                                                                                                                                                                         
################################################################################################################################################################################################################################# 100.0%
ziextract: Unpacking the files from: `hyperfine-v1.13.0-i686-unknown-linux-gnu.tar.gz'…                             
ziextract: Successfully extracted and assigned +x chmod to the file: `hyperfine-v1.13.0-i686-unknown-linux-gnu/hyperfine'.                                                                                                              
renamed 'hyperfine-v1.13.0-i686-unknown-linux-gnu' -> 'hyperfine'                                                   
bin-gem-node annex: Created the hyperfine shim and set +x on the hyperfine binary                                                                                                                                                       
Installed 0 completions. They are stored in the $INSTALLED_COMPS array.                                                                                                                                                                 
Skipped installing 1 completions. They are stored in the $SKIPPED_COMPS array.                                      

Downloading sharkdp/vivid…                                                                                                                                                                                                              
(Requesting `vivid-v0.8.0-i686-unknown-linux-gnu.tar.gz'…)                                                          
################################################################################################################################################################################################################################# 100.0%
ziextract: Unpacking the files from: `vivid-v0.8.0-i686-unknown-linux-gnu.tar.gz'…                                  
ziextract: Successfully extracted and assigned +x chmod to the file: `vivid-v0.8.0-i686-unknown-linux-gnu/vivid'.                                                                                                                       
renamed 'vivid-v0.8.0-i686-unknown-linux-gnu' -> 'vivid'                                                                                                                                                                                
bin-gem-node annex: Created the vivid shim and set +x on the vivid binary

Downloading ogham/exa…
(Requesting `exa-linux-x86_64-musl-v0.10.1.zip'…)
################################################################################################################################################################################################################################# 100.0%
ziextract: Unpacking the files from: `exa-linux-x86_64-musl-v0.10.1.zip'…
Archive:  exa-linux-x86_64-musl-v0.10.1.zip
  inflating: completions/exa.bash    
  inflating: completions/exa.zsh     
  inflating: completions/exa.fish    
  inflating: man/exa.1               
  inflating: man/exa_colors.5        
  inflating: bin/exa                 
ziextract: Successfully extracted and assigned +x chmod to the file: `bin/exa'.
'completions/exa.zsh' -> '_exa'
bin-gem-node annex: Created the exa shim and set +x on the exa binary
Installed 0 completions. They are stored in the $INSTALLED_COMPS array.
Skipped installing 1 completions. They are stored in the $SKIPPED_COMPS array.

Downloading BurntSushi/ripgrep…
(Requesting `ripgrep-13.0.0-x86_64-unknown-linux-musl.tar.gz'…)
################################################################################################################################################################################################################################# 100.0%
ziextract: Unpacking the files from: `ripgrep-13.0.0-x86_64-unknown-linux-musl.tar.gz'…
ziextract: Successfully extracted and assigned +x chmod to the file: `ripgrep-13.0.0-x86_64-unknown-linux-musl/rg'.
renamed 'ripgrep-13.0.0-x86_64-unknown-linux-musl' -> 'ripgrep'
bin-gem-node annex: Created the rg shim and set +x on the rg binary
Installed 0 completions. They are stored in the $INSTALLED_COMPS array.
Skipped installing 1 completions. They are stored in the $SKIPPED_COMPS array.```
vladdoster commented 2 years ago

@thuandt

Here is logs after run zi self-update and zi delete --all today

It's still pickup 386 binaries for x86_64 system

Correct, because the PR I referenced is not merged.

In-progress via #235

anupamsr commented 2 years ago

@anupamsr and fd breaks on both of those systems?

I know you said nvm but yes :)

vladdoster commented 2 years ago

Should be fixed in PR #235, see https://github.com/zdharma-continuum/zinit/runs/6316146273?check_suite_focus=true#step:8:1595

Would you mind testing out the branch and see if it's satisfactory?

vladdoster commented 2 years ago

@anupamsr Can you confirm this issue was fixed?

numToStr commented 2 years ago

@vladdoster Thanks for working on it. I can confirm that this issue is now fixed :)

vladdoster commented 2 years ago

Thanks, @numToStr, and happy to help! Closing

thuandt commented 2 years ago

Issue has been fixed for me too :)

github-actions[bot] commented 2 years ago

:tada: This issue has been resolved in version 3.8.0 :tada:

The release is available on GitHub release

Your semantic-release bot :package::rocket: