amiaopensource / ltopers

Bash scripts to manage LTO cartridges with LTFS
https://github.com/amiaopensource/ltopers
MIT License
39 stars 8 forks source link

install via linuxbrew fails at gtk+3 dependency #181

Closed mcampos-quinn closed 5 years ago

mcampos-quinn commented 6 years ago

Installing with linuxbrew fails on attempting to satisfy gtk+3 dependency.

It gives the error No package 'atk' found at that point. brew install atk informs me that atk is already installed. I'm hesitant to follow the recommendation to mess with environment variables (BASE_DEPENDENCIES_LIBS,BASE_DEPENDENCIES_CFLAGS) unless that's the only way to get this conflict out of the way.

I tried out the recommendations on this stackoverflow thread to install the dev package for libgtk3 (sudo apt-get install libgtk-3-dev) but got nowhere.

I opened a ticket on linuxbrew/homebrew-core that includes a gist (per their issue requirements) listing my config, build versions, etc.

I am motivated to investigate further, but I don't know where to start. Suggestions?

Thanks!

privatezero commented 6 years ago

This might not be great advice, but I have consistently had problems with linuxbrew dependencies creating both redundant installs and conflicts with installs from standard Linux package managers.

A workaround I use sometimes is to manually install dependencies using apt-get and installing things from linuxbrew with the --ignore-dependencies tag. This often gets things running, at the expense of requiring more intervention for upgrades.

The actual dependencies for ltopers are here. You might be able to get it up and running this way by manually installing mm via linuxbrew (again maybe with the --ignore-dependencies tag if it causes problems) and then installing xmlstarlet via apt install xmlstarlet.

Perhaps @retokromer has a less hacky method though!

kieranjol commented 6 years ago

I have tried to stop using linuxbrew for similar reasons to Andrew. I'm not writing it off or anything, if I had a bit more skill and knowledge I'd be able to work around it like Andrew. I've also been using apt-get where I can,adding external repositories for outdated things like mediainfo and mkvpropedit,and just compiling from source when needed.

Edit: I never fully read your initial message!

mcampos-quinn commented 6 years ago

Thanks @privatezero and @kieranjol ! Yes, I had submitted a Linuxbrew ticket but I'm not going to hold my breath. In the past I had experienced a good deal of frustration with conflicts but not a weird circular failure like this.

I was hoping to avoid getting too hacky but yeah telling linuxbrew to --ignore-dependencies works. Maybe that's not totally a hack? I have certainly included plenty of my own in our project. Thanks for the tip!

I am happy to close the issue, or if it seems worth investigating further I can leave it open. :)

retokromer commented 6 years ago

I cannot check now the present issue, but generally speaking:

retokromer commented 6 years ago

I cannot install ltopers under Ubuntu on an empty computer, because the mm dependency is currently broken. I’m afraid, at the moment, I don’t have the time to try to fix this.

privatezero commented 6 years ago

One thing I have considered for the audiorecorder brew formula is some system checks to deal with dependencies that don't play well with linux.

It is a little bit hacky, but do you think adding something along the lines of

if ! RUBY_PLATFORM.include?('linux') depends_on "coreutils" depends_on "mediamicroservices/mm/mm" end depends_on "xmlstarlet"

to the brew formula, and then adding instructions for a manual mm install sans dependencies would be a work around for this?

retokromer commented 6 years ago

and then adding instructions for a manual mm install sans dependencies would be a work around for this?

Yes, I guess so, but untested.

(As we don’t necessarily need the more recent additions, we are still using in production the 2.3.1 version. I can test again in two weeks time or so.)

retokromer commented 6 years ago

The general issue with gtk+3 should be solved now on Linuxbrew. Yet I haven’t tested if the installation of LTOpers works fine again on Linuxbrew.

mcampos-quinn commented 6 years ago

There appears to be a solution in the works on the Linuxbrew end for the failing dependencies. I don't feel confident enough to rebuild Linuxbrew and test it (and I don't have time currently), but FYI...

If I find myself with time to test it out I will totally do so!

dericed commented 6 years ago

thx @mcampos-quinn

retokromer commented 6 years ago

Is this resolved on your side, @mcampos-quinn?

mcampos-quinn commented 6 years ago

I'll have to test this out later this week, probably on a VM? Thanks for checking on it.

retokromer commented 5 years ago

@mcampos-quinn Is this still an issue?

mcampos-quinn commented 5 years ago

I haven't had a chance to test further but I will close this issue.

dericed commented 5 years ago

I don’t use Linuxbrew but can any linuxbrew user confirm that this is resolved?

kieranjol commented 5 years ago

I don't use linuxbrew but I just tried it there on Ubuntu 18.04 but it seems to be ok:

==> Installing amiaopensource/amiaos/ltopers dependency: gtk+3
==> Downloading https://linuxbrew.bintray.com/bottles/gtk+3-3.24.3.x86_64_linux.
######################################################################## 100.0%
==> Pouring gtk 3-3.24.3.x86_64_linux.bottle.tar.gz
==> /home/linuxbrew/.linuxbrew/opt/glib/bin/glib-compile-schemas /home/linuxbrew/.linuxbrew/share/glib-2.0/schemas
🍺  /home/linuxbrew/.linuxbrew/Cellar/gtk+3/3.24.3: 1,393 files, 73.3MB
kieranjol commented 5 years ago

It ultimately fails on the goffice installation, which is a seperate issue:

==> Installing amiaopensource/amiaos/ltopers dependency: goffice
==> Downloading https://download.gnome.org/sources/goffice/0.10/goffice-0.10.44.tar.xz
==> Downloading from https://www.mirrorservice.org/sites/ftp.gnome.org/pub/GNOME/sources/goffice/0.10/goffice-0.10.44.tar.xz
######################################################################## 100.0%
==> ./configure --prefix=/home/linuxbrew/.linuxbrew/Cellar/goffice/0.10.44
Last 15 lines from /home/kieranjol/.cache/Homebrew/Logs/goffice/01.configure:
--prefix=/home/linuxbrew/.linuxbrew/Cellar/goffice/0.10.44

checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether to enable maintainer-specific portions of Makefiles... yes
checking whether make supports nested variables... (cached) yes
checking whether NLS is requested... yes
Unescaped left brace in regex is illegal here in regex; marked by <-- HERE in m/^(.*)\${ <-- HERE ?([A-Z_]+)}?(.*)$/ at /home/linuxbrew/.linuxbrew/opt/intltool/bin/intltool-update line 1066.
checking for intltool >= 0.35.0...  found
configure: error: Your intltool is too old.  You need intltool 0.35.0 or later.

READ THIS: https://github.com/Linuxbrew/brew/wiki/troubleshooting
Please do not report this issue to Homebrew/brew or Homebrew/core,
which support macOS only."
retokromer commented 5 years ago

Indeed, the gtk+3 issue in Linuxbrew is resolved since many months now.