heroku-buildpack-google-chrome icon indicating copy to clipboard operation
heroku-buildpack-google-chrome copied to clipboard

buildpack no longer works with cedar-14 stack

Open apellerano-pw opened this issue 7 years ago • 6 comments

Chrome suddenly stopped working on our cedar-14 dynos yesterday after a redeploy. Bashing into one and trying to launch chrome reported the following error:

~ $ google-chrome
/app/.apt/opt/google/chrome/chrome: error while loading shared libraries: libgconf-2.so.4: cannot open shared object file: No such file or directory

To fix this I ended up manually copying the heroku-16 packages in this buildpack and installing them during slug compilation. One or more of them was required to fix this (installing gconf alone was not good enough.)

CACHE_DIR=$2
APT_CACHE_DIR="$CACHE_DIR/apt/cache"
APT_STATE_DIR="$CACHE_DIR/apt/state"
APT_OPTIONS="-o debug::nolocking=true -o dir::cache=$APT_CACHE_DIR -o dir::state=$APT_STATE_DIR"
PACKAGES="libxss1 libx11-xcb1 libxcomposite1 libxcursor1 libxdamage1 libxfixes3 libxi6 libxtst6 libnss3 libgconf-2-4 libxrandr2 libasound2 libatk1.0-0 libgtk2.0-0 libgtk-3-0 libxinerama1 libcairo-gobject2"
for PACKAGE in $PACKAGES; do
apt-get $APT_OPTIONS -y --force-yes -d install --reinstall $PACKAGE
done

I think there may have been a change in either the cedar-14 stack or chrome itself which requires additional dependencies, and until this buildpack is updated it's no longer compatible with cedar-14

apellerano-pw avatar Aug 16 '17 16:08 apellerano-pw

Some additional info. If you manually do apt-get install gconf2 trying to launch chrome will give the following error:

~ $ google-chrome
/app/.apt/opt/google/chrome/chrome: error while loading shared libraries: libgtk-3.so.0: cannot open shared object file: No such file or directory

So the can gets kicked down the road a little, but there's more than one dependency change at the heart of this issue. I'm unsure of the total number of kicks needed, I just copied the entire package list that heroku-16 images use and that worked.

apellerano-pw avatar Aug 16 '17 16:08 apellerano-pw

@apellerano-pw has there been any update on this thread offline?

phamcharles avatar Oct 05 '17 18:10 phamcharles

@phamcharles no sorry, we're still using the same workaround. I don't know the implications of upgrading to heroku-16 stack or if it's reversable so I've just kinda left it as is for now

apellerano-pw avatar Oct 05 '17 19:10 apellerano-pw

@apellerano-pw which are the packages you added?

acrogenesis avatar Nov 30 '17 20:11 acrogenesis

It's in the packages list in one of my previous comments

PACKAGES="libxss1 libx11-xcb1 libxcomposite1 libxcursor1 libxdamage1 libxfixes3 libxi6 libxtst6 libnss3 libgconf-2-4 libxrandr2 libasound2 libatk1.0-0 libgtk2.0-0 libgtk-3-0 libxinerama1 libcairo-gobject2"

I'm not sure if they're all needed, I never tried to prune it down once I got it working

apellerano-pw avatar Nov 30 '17 20:11 apellerano-pw

@apellerano-pw does this still affect your use case?

edmorley avatar May 31 '19 06:05 edmorley