leafo / gifine

Quickly record and edit gifs and videos of your desktop
285 stars 14 forks source link

Ubuntu Installer? #6

Open orschiro opened 7 years ago

orschiro commented 7 years ago

Hi all,

I came across this promising tool from here [1].

However, the installation seems to be very complicated on Ubuntu with all the required dependencies.

Would it be possible to create a deb or Snappy package that takes care of that?

Yours,

-Robert

[1] http://www.omgubuntu.co.uk/2016/12/gifine-animated-gif-recorder-linux

leafo commented 7 years ago

I'm not familiar with making packages for ubuntu, if someone would like to assist I'll gladly do what I can to make it work

nskaggs commented 7 years ago

A snap would be the simplest. Checkout http://snapcraft.io/.

Apophenia commented 7 years ago

I am going to leave this here in case it's helpful, hoping it's not TMI in the case that it isn't, but I had to install some additional dependencies to get this to work in Kubuntu 16.04 LTE.

:computer: :zzz: :rotating_light: real boring details probably only relevant to Kubuntu users :rotating_light: :zzz: :computer:

For what it's worth, I was unable to use ./bootstrap out of the box when installing xrectsel. In 16.04, I had to manually install autoconf via sudo apt-get install autoconf before I could use ./bootstrap, which got rid of ./bootstrap: line 1: autoreconf: command not found.

Slop didn't appear to have a package I could install via apt, and I ran into even more dependencies that weren't easily installed, so xrectsel was still an easier install (at least in Kubuntu 16.04). Maybe I'm missing something obvious.

Additionally, it seems like because Kubuntu does not have the requisite dependencies for GTK installed automatically, I had to install a dev version of the GTK to avoid this error:

lyndsey@smalldata:~/xrectsel$ gifine
/usr/bin/lua5.1: /usr/local/share/lua/5.1/lgi/namespace.lua:151: Typelib file for namespace 'Gtk' (any version) not found
stack traceback:
        [C]: in function 'assert'
        /usr/local/share/lua/5.1/lgi/namespace.lua:151: in function </usr/local/share/lua/5.1/lgi/namespace.lua:148>
        (tail call): ?
        /usr/local/share/lua/5.1/gifine/main.lua:2: in main chunk
        [C]: in function 'require'
        ...usr/local/lib/luarocks/rocks/gifine/dev-1/bin/gifine:2: in main chunk
        [C]: ?

I installed libgtk-3-dev using apt-get, which fixed it. And then I removed libgtk-3-dev, and it still worked! And then I used apt-get autoremove to remove libgtk-3-dev's dependencies, and then it didn't work. So it might be that one of libgtk-3-dev's dependencies correctly set up that Gtk namespace.

  libdbus-1-dev libegl1-mesa-dev libepoxy-dev libexpat1-dev libfontconfig1-dev libgdk-pixbuf2.0-dev libgmp-dev libgmpxx4ldbl libharfbuzz-dev libharfbuzz-gobject0 libice-dev
  libmirclient-dev libmircommon-dev libmircookie-dev libmircookie2 libpango1.0-dev libpixman-1-dev libprotobuf-dev libsm-dev libwayland-dev libxcb-shm0-dev libxcomposite-dev
  libxcursor-dev libxft-dev libxi-dev libxinerama-dev libxkbcommon-dev libxtst-dev nettle-dev x11proto-composite-dev x11proto-record-dev x11proto-xinerama-dev 

:woman_shrugging:

Obviously, it's impossible to test your small gif utility with every existing Ubuntu variant, but I thought I would leave this here in case someone who knows the distro well can think of an easy way to bridge the gap without installing 41.1 MB of dependencies that might be semi-redundant. :)

leafo commented 7 years ago

Thanks for the detailed information @Apophenia, feel free to make PR for the readme with instructions if you'd like your findings to easily available

Apophenia commented 7 years ago

If I can narrow down that package list I'd feel better about making a PR, so I'll ask around or experiment more and see if I can figure out exactly which dependencies fix it.