Giter Site home page Giter Site logo

Linux builds, please? about gitui HOT 21 CLOSED

extrawurst avatar extrawurst commented on May 1, 2024
Linux builds, please?

from gitui.

Comments (21)

extrawurst avatar extrawurst commented on May 1, 2024 1

Ok then tarball'd binary for musl it is! :)

from gitui.

extrawurst avatar extrawurst commented on May 1, 2024

Hi @dufferzafar thanks for your interest in the project. I am currently setting up continuous deployment for macos builds since this is my home platform. I want to look into linux/windows builds after that, but maybe you can shed a light what the right approach to deal with Linux is, simply providing a ubuntu build binary or is there a package manager that I should focus on?
any interest in helping out with this?

from gitui.

dufferzafar avatar dufferzafar commented on May 1, 2024

So, I feel like you should just try to mimic how other "popular" rust tools do this. Like ripgrep, fd, exa etc. I think having a .deb file, a .rpm file and a .tar.gz file containing a static binary should be enough for just about everyone.

I've never used the rust tool chain myself. But I've been meaning to for some time now, so sure I'd try to see how it all works.

And yeah, we'd have them automated by GitHub actions so that whenever a tag is released. The corresponding binaries go up.

from gitui.

extrawurst avatar extrawurst commented on May 1, 2024

So I added GitHub Actions to automate deployment of Mac builds, I will look at linux next and mimic procs (https://github.com/dalance/procs) and start with a rpm package. is that a format that you could test then?

from gitui.

dufferzafar avatar dufferzafar commented on May 1, 2024

No, sorry, I use ArchLinux and won't be able to test rpm easily. Or debs for that matter. For me, the best format would be a statically linked executable. Packaged in a tarball.

Like this one for ripgrep: https://github.com/BurntSushi/ripgrep/releases/download/12.0.1/ripgrep-12.0.1-x86_64-unknown-linux-musl.tar.gz

or this for procs: https://github.com/dalance/procs/releases/download/v0.9.20/procs-v0.9.20-x86_64-lnx.zip

from gitui.

extrawurst avatar extrawurst commented on May 1, 2024

@dufferzafar would non-musl x86_64-unknown-linux-gnu also work? I cannot seem to make it work with musl :(

from gitui.

dufferzafar avatar dufferzafar commented on May 1, 2024

Yeah. Non Musl will work for me as well.

from gitui.

extrawurst avatar extrawurst commented on May 1, 2024

@dufferzafar can you please checkout the first try releasing a linux build: https://github.com/extrawurst/gitui/releases/tag/v0.1.8

from gitui.

dufferzafar avatar dufferzafar commented on May 1, 2024
gitui: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory
╰─❯ ldd `which gitui`
        linux-vdso.so.1 =>  (0x00007ffc2ef9c000)
        libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007fcf8028a000)
        libssl.so.1.1 => not found
        libcrypto.so.1.1 => not found
        libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fcf80086000)
        librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007fcf7fe7e000)
        libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fcf7fc61000)
        libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fcf7fa4b000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fcf7f681000)
        /lib64/ld-linux-x86-64.so.2 (0x00007fcf807ee000)

from gitui.

dufferzafar avatar dufferzafar commented on May 1, 2024

Doing the same with lazygit:

╰─❯ ldd `which lazygit`
        not a dynamic executable

from gitui.

dufferzafar avatar dufferzafar commented on May 1, 2024

So I think we want statically linked binaries for linux.

from gitui.

extrawurst avatar extrawurst commented on May 1, 2024

ok next try, can you look at the artifact here: https://github.com/extrawurst/gitui/actions/runs/79754750

from gitui.

dufferzafar avatar dufferzafar commented on May 1, 2024

Yeap, that worked!

from gitui.

extrawurst avatar extrawurst commented on May 1, 2024

ok great 👍

from gitui.

extrawurst avatar extrawurst commented on May 1, 2024

should be integrated in next version then

from gitui.

extrawurst avatar extrawurst commented on May 1, 2024

as of v0.1.9 linux builds are part of the deployment pipeline: https://github.com/extrawurst/gitui/releases/tag/v0.1.9

from gitui.

yermulnik avatar yermulnik commented on May 1, 2024

Apologies for resurrecting this issue but I've got an issue with latest gitui-linux-musl.tar.gz (v0.10.0):

> /tmp/yz/gitui
bash: /tmp/yz/gitui: No such file or directory

> strace /tmp/yz/gitui
execve("/tmp/yz/gitui", ["/tmp/yz/gitui"], [/* 108 vars */]) = -1 ENOENT (No such file or directory)
write(2, "strace: exec: No such file or di"..., 40strace: exec: No such file or directory
) = 40
exit_group(1)                           = ?
+++ exited with 1 +++

v0.9.1 works just fine.

I'm on Linux Mint 18.3 Sylvia x86_64 which is based on Ubuntu 16.04.

Also .deb would be super useful and I think I can volunteer to test it if any.

from gitui.

jugglerchris avatar jugglerchris commented on May 1, 2024

@yermulnik Does /tmp/yz/gitui actually exist?

Are you able to show the output of ls -l /tmp/yz/gitui, ldd /tmp/yz/gitui and file /tmp/yz/gitui please?

from gitui.

jugglerchris avatar jugglerchris commented on May 1, 2024

This sounds like #259 too.

from gitui.

jugglerchris avatar jugglerchris commented on May 1, 2024

I can reproduce this - I'll put the answers to the above on #259.

from gitui.

yermulnik avatar yermulnik commented on May 1, 2024

@jugglerchris

> ls -l /tmp/yz/gitui
-rwxr-xr-x 1 yz docker 2277240 Aug 29 20:35 /tmp/yz/gitui

> ldd /tmp/yz/gitui
        linux-vdso.so.1 =>  (0x00007ffc7094d000)
        libxcb.so.1 => /usr/lib/x86_64-linux-gnu/libxcb.so.1 (0x00007f1166c1a000)
        libXau.so.6 => /usr/lib/x86_64-linux-gnu/libXau.so.6 (0x00007f1166a16000)
        libXdmcp.so.6 => /usr/lib/x86_64-linux-gnu/libXdmcp.so.6 (0x00007f1166810000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f1166446000)
        /lib/ld64.so.1 => /lib64/ld-linux-x86-64.so.2 (0x00007f1166e3c000)

> file /tmp/yz/gitui
/tmp/yz/gitui: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib/ld64.so.1, BuildID[sha1]=0ead58df2438331cfba31c46d33722915f567768, stripped

I can reproduce this - I'll put the answers to the above on #259.

Thank you. I'll take a look.

from gitui.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.