ubuntu / ubuntu-make

Easy setup of common tools for developers on Ubuntu.
GNU General Public License v3.0
1.2k stars 189 forks source link

umake web firefox-dev does not install required libgtk3 dependency #601

Closed lestephane closed 2 years ago

lestephane commented 5 years ago

Using the latest version of ubuntu-make

$ umake --version
18.09+snap498

And the following Vagrantfile

config.vm.define "firefox2", autostart: false do |firefox|
    firefox.vbguest.auto_update = false
    firefox.vm.box = "ubuntu/bionic64"
    firefox.vm.provision "shell", inline: <<-SHELL
        snap install ubuntu-make --classic
        sudo -H -u vagrant bash -c "
        umake web firefox-dev --lang en-us \\"\\${HOME}/.local/share/umake/web/firefox-dev\\" # ubuntu-make/issues/79
        echo \\"export PATH=\\${PATH}:\\${HOME}/.local/share/umake/bin\\" >> \\"\\${HOME}/.bashrc\\"
        "
    SHELL
end

Launching firefox fails

$ vagrant up firefox2
==> firefox2: Running provisioner: shell...
    firefox2: Running: inline script
    firefox2: ubuntu-make master from Didier Roche (didrocks) installed
...
    firefox2: Downloading and installing requirements
    firefox2: Installing Firefox Dev
    firefox2: /home/vagrant/.local/share/umake/web/firefox-dev/firefox
    firefox2: Installation done
$ vagrant ssh firefox2 -- -X
$ firefox-developer
XPCOMGlueLoad error for file /home/vagrant/.local/share/umake/web/firefox-dev/libmozgtk.so:
libgtk-3.so.0: cannot open shared object file: No such file or directory
Couldn't load XPCOM.

The head scratcher is this output by umake

firefox2: Downloading and installing requirements

Which is clearly not the case. Non technical users won't know how to install the dependency, so I decided to put it out there, to shed some light on whether this is by design or by omission.

LyzardKing commented 5 years ago

I guess this is tied to vagrant, since in a normal envoronment libgtk3 would be already installed. In your configuration does firefox run in an empty vm?

lestephane commented 5 years ago

It starts from the base "ubuntu/bionic64" as mentioned. That image has no x11 packages installed. My expectation is that ubuntu-make, like snapd install, or apt-get install just 'gets it done', installing whatever is required.

Firefox is now available through snap now, so this becomes less of an issue. Is ubuntu-make going to be superseded by snap?

LyzardKing commented 5 years ago

Ubuntu make requires a desktop to be installed, so a base image would not be sufficient. The issue would be applicable to everything that ubuntu-make installs, since it is not designed to be installed in a non desktop environment. I guess it's probably best to add it though... Sorry if my reply arrives late..

At the moment ubuntu-make still has a different use case than snaps, regarding confinement, availability and the ability to add custom downloaders without building a snap (https://github.com/ubuntu/ubuntu-make#providing-users-framework). That being said, I'm not a canonical employee nor a snap developer! I use both technologies for the things I need :smile:

lestephane commented 5 years ago

I see, well at least the trace of our discussion may give people pointers, if the ubuntu-make team feels this is working as designed, they can always close it. I moved on to snaps myself.