Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 729366 - www-client/chromium-bin: Provide a precompiled version of www-client/chromium
Summary: www-client/chromium-bin: Provide a precompiled version of www-client/chromium
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: Normal enhancement with 1 vote (vote)
Assignee: Chromium Project
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-06-23 23:51 UTC by gerion
Modified: 2022-10-01 13:06 UTC (History)
8 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
output from emerge --info (emerge-info-aarch,5.12 KB, text/plain)
2021-01-07 13:37 UTC, tt_1
Details
I think this solves the issue (adopt-icu-slot.patch,376 bytes, patch)
2021-01-13 19:08 UTC, tt_1
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description gerion 2020-06-23 23:51:29 UTC
Sometimes, it is useful to have a blink based browser. The common choice for that is Chromium. However, on my machines Chromium needs several hours to compile and eats my complete RAM while compiling, in order of magnitudes more than every other package including Libreoffice/Firefox/QtWebengine/rustc/LLVM.

For these other packages (mostly) exist a binary package. For Chromium of course google-chrome exists but is the "googled" version of it and needs the acceptance of a strange license.

Can you instead provide a chromium-bin package as a precompiled version of www-client/chromium?

Reproducible: Always
Comment 1 Mike Gilbert gentoo-dev 2020-06-24 00:00:24 UTC
There used to be a chromium-bin package, but it was removed 9 years ago because it was too difficult to maintain.

https://gitweb.gentoo.org/repo/gentoo/historical.git/commit/?id=0201814df2b4e26881c95c2b81beeaa40e273a17
Comment 2 Vitaly Zdanevich 2020-09-21 16:06:53 UTC
Maybe now it will be easy to maintain than 9 years ago.
Comment 3 Michael 'veremitz' Everitt 2020-09-21 19:10:00 UTC
(In reply to Vitaly Zdanevich from comment #2)
> Maybe now it will be easy to maintain than 9 years ago.

And maybe pigs will fly ...
Comment 4 Stephan Hartmann (RETIRED) gentoo-dev 2020-10-02 17:44:52 UTC
I have added chromium-bin in my overlay at https://github.com/stha09/gpo-stha09 (it is available via layman and eselect repository) for amd64 and x86. If it works, then I might add it to the tree.

Please test.
Comment 5 Dave 2020-10-10 01:13:00 UTC
(In reply to Stephan Hartmann from comment #4)
> I have added chromium-bin in my overlay at
> https://github.com/stha09/gpo-stha09 (it is available via layman and eselect
> repository) for amd64 and x86. If it works, then I might add it to the tree.
> 
> Please test.

Working great for me so far on ~amd64. Thanks!
Comment 6 Fab 2020-11-20 19:19:03 UTC
(In reply to Stephan Hartmann from comment #4)
> I have added chromium-bin in my overlay at
> [...]
> Please test.

Works also fine here for me on stable amd64, thanks.
Comment 7 Viktor 2020-12-03 19:10:43 UTC
(In reply to Stephan Hartmann from comment #4)
> I have added chromium-bin in my overlay at
> https://github.com/stha09/gpo-stha09 (it is available via layman and eselect
> repository) for amd64 and x86. If it works, then I might add it to the tree.
> 
> Please test.

Works perfectly for me
Comment 8 gerion 2020-12-04 00:32:38 UTC
Also for me.
Comment 9 tt_1 2020-12-11 09:19:03 UTC
this works like a charm on arm64, only downside are fetch times: 


     Sat Nov 21 17:48:57 2020 >>> www-client/chromium-bin-87.0.4280.66
       merge time: 4 hours, 29 minutes and 52 seconds.

but this is still much faster than non-bin on the slow arm64, only if you have plans to push it to the gentoo tree you should make sure that your distfiles get distributed by the gentoo mirrors, and not via dev.gentoo.org alone
Comment 10 tt_1 2021-01-03 21:14:11 UTC
with latest chromium-bin on arm64, it get an "aw snap" message on startup and this in console: 

[2137:2196:0103/214658.623007:ERROR:object_proxy.cc(621)] Failed to call method: org.freedesktop.DBus.Properties.Get: object_path= /org/freedesktop/UPower: org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.UPower was not provided by any .service files
[2137:2196:0103/214658.623677:ERROR:object_proxy.cc(621)] Failed to call method: org.freedesktop.UPower.GetDisplayDevice: object_path= /org/freedesktop/UPower: org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.UPower was not provided by any .service files
[2137:2196:0103/214658.624262:ERROR:object_proxy.cc(621)] Failed to call method: org.freedesktop.UPower.EnumerateDevices: object_path= /org/freedesktop/UPower: org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.UPower was not provided by any .service files
chrome: malloc.c:2394: sysmalloc: Assertion `(old_top == initial_top (av) && old_size == 0) || ((unsigned long) (old_size) >= MINSIZE && prev_inuse (old_top) && ((unsigned long) old_end & (pagesize - 1)) == 0)' failed.
[2137:2137:0103/214658.910150:ERROR:network_service_instance_impl.cc(286)] Network service crashed, restarting service.
chrome: malloc.c:2394: sysmalloc: Assertion `(old_top == initial_top (av) && old_size == 0) || ((unsigned long) (old_size) >= MINSIZE && prev_inuse (old_top) && ((unsigned long) old_end & (pagesize - 1)) == 0)' failed.
[2137:2137:0103/214659.988822:ERROR:network_service_instance_impl.cc(286)] Network service crashed, restarting service.
chrome: malloc.c:2394: sysmalloc: Assertion `(old_top == initial_top (av) && old_size == 0) || ((unsigned long) (old_size) >= MINSIZE && prev_inuse (old_top) && ((unsigned long) old_end & (pagesize - 1)) == 0)' failed.
[2137:2137:0103/214701.170411:ERROR:network_service_instance_impl.cc(286)] Network service crashed, restarting service.
chrome: malloc.c:2394: sysmalloc: Assertion `(old_top == initial_top (av) && old_size == 0) || ((unsigned long) (old_size) >= MINSIZE && prev_inuse (old_top) && ((unsigned long) old_end & (pagesize - 1)) == 0)' failed.
[2137:2137:0103/214702.787204:ERROR:network_service_instance_impl.cc(286)] Network service crashed, restarting service.
[2272:2272:0103/214706.683705:ERROR:gl_implementation.cc(282)] Failed to load /opt/chromium-bin/swiftshader/libGLESv2.so: /opt/chromium-bin/swiftshader/libGLESv2.so: cannot open shared object file: No such file or directory
[2272:2272:0103/214706.690359:ERROR:viz_main_impl.cc(150)] Exiting GPU process due to errors during initialization
chrome: malloc.c:2394: sysmalloc: Assertion `(old_top == initial_top (av) && old_size == 0) || ((unsigned long) (old_size) >= MINSIZE && prev_inuse (old_top) && ((unsigned long) old_end & (pagesize - 1)) == 0)' failed.
[2137:2137:0103/214708.131819:ERROR:network_service_instance_impl.cc(286)] Network service crashed, restarting service.
chrome: malloc.c:2394: sysmalloc: Assertion `(old_top == initial_top (av) && old_size == 0) || ((unsigned long) (old_size) >= MINSIZE && prev_inuse (old_top) && ((unsigned long) old_end & (pagesize - 1)) == 0)' failed.
[2137:2137:0103/214710.807023:ERROR:network_service_instance_impl.cc(286)] Network service crashed, restarting service.


also for a all shared objects in /opt/chromium, there is this when poking them with ldd: warning: you do not have execution permission for `./libGLESv2.so'

maybe the binary has problems with lazy bindings? Or it didn't enjoy the latest sys-libs/glibc update from 2.31-6 to 2.32-r3?
Comment 11 Stephan Hartmann (RETIRED) gentoo-dev 2021-01-04 19:05:55 UTC
(In reply to tt_1 from comment #10)
> with latest chromium-bin on arm64, it get an "aw snap" message on startup
> and this in console: 
> 
> also for a all shared objects in /opt/chromium, there is this when poking
> them with ldd: warning: you do not have execution permission for
> `./libGLESv2.so'
> 
> maybe the binary has problems with lazy bindings? Or it didn't enjoy the
> latest sys-libs/glibc update from 2.31-6 to 2.32-r3?

Latest chromium-bin for arm64 was built with glibc-2.32-r2 and 2.32-r3 has only locale specific changes. Can you show your emerge --info please?
Comment 12 tt_1 2021-01-07 13:37:39 UTC
Created attachment 681637 [details]
output from emerge --info

here is my emerge --info 

I went straigt from glibc-2.31-r6 to glibc-2.32-r3
Comment 13 tt_1 2021-01-13 19:08:31 UTC
Created attachment 682759 [details, diff]
I think this solves the issue

hey there, it was pretty difficult for me to upgrade the icu slot with the latest chromium-bin update. I ended up failing to tame the situation, it was always blocking other packages, and I believe this happened due to the way how your ebuild pulls in a fixed icu. Maybe it will work better this way, it is common practice to deal with icu slots that way in the tree. Can't test it myself, because I have already pushed the ebuild through :)
Comment 14 Stephan Hartmann (RETIRED) gentoo-dev 2021-01-13 20:18:59 UTC
(In reply to tt_1 from comment #13)
> Created attachment 682759 [details, diff] [details, diff]
> I think this solves the issue
> 
> hey there, it was pretty difficult for me to upgrade the icu slot with the
> latest chromium-bin update. I ended up failing to tame the situation, it was
> always blocking other packages, and I believe this happened due to the way
> how your ebuild pulls in a fixed icu. Maybe it will work better this way, it
> is common practice to deal with icu slots that way in the tree. Can't test
> it myself, because I have already pushed the ebuild through :)

Slot operator makes is wrong here. I pushed chromium-bin with icu-68.2 dependency before icu-68.2 was stabilized on arm64. Anyways, does the new version work for you? If yes, we have to add glibc and gcc runtime dependencies to the ebuild too.
Comment 15 tt_1 2021-01-14 07:59:08 UTC
these errors can be solved by pulling in sys-power/upower: 

[2137:2196:0103/214658.623007:ERROR:object_proxy.cc(621)] Failed to call method: org.freedesktop.DBus.Properties.Get: object_path= /org/freedesktop/UPower: org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.UPower was not provided by any .service files
[2137:2196:0103/214658.623677:ERROR:object_proxy.cc(621)] Failed to call method: org.freedesktop.UPower.GetDisplayDevice: object_path= /org/freedesktop/UPower: org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.UPower was not provided by any .service files
[2137:2196:0103/214658.624262:ERROR:object_proxy.cc(621)] Failed to call method: org.freedesktop.UPower.EnumerateDevices: object_path= /org/freedesktop/UPower: org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.UPower was not provided by any .service files


with the new ebuild the ahw snap message is gone, but I can't load any https webpages. Will provide console log later on, but it seemed to be just the same output.
Comment 16 vite 2021-03-10 06:20:08 UTC
Hi I am getting several errors while running chromium. Here is my log file:

$ chromium-bin-browser --enable-logging > chromium-bin.log 2>&1

--- log ---

[32095:32122:0310/085512.732182:ERROR:bus.cc(393)] Failed to connect to the bus: Could not parse server address: Unknown address type (examples of valid types are "tcp" and on UNIX "unix")
[32095:32122:0310/085512.732268:ERROR:bus.cc(393)] Failed to connect to the bus: Could not parse server address: Unknown address type (examples of valid types are "tcp" and on UNIX "unix")
[32095:32122:0310/085512.752782:ERROR:bus.cc(393)] Failed to connect to the bus: Could not parse server address: Unknown address type (examples of valid types are "tcp" and on UNIX "unix")
[32095:32122:0310/085512.752904:ERROR:bus.cc(393)] Failed to connect to the bus: Could not parse server address: Unknown address type (examples of valid types are "tcp" and on UNIX "unix")
[32095:32160:0310/085512.845709:ERROR:object_proxy.cc(621)] Failed to call method: org.freedesktop.DBus.Properties.Get: object_path= /org/freedesktop/UPower: org.freedesktop.DBus.Error.AccessDenied: Rejected send message, 1 matched rules; type="method_call", sender=":1.34" (uid=1000 pid=32095 comm="chromium-bin-browser --extra-plugin-dir=/usr/lib/n" label="kernel") interface="org.freedesktop.DBus.Properties" member="Get" error name="(unset)" requested_reply="0" destination="org.freedesktop.UPower" (uid=0 pid=30581 comm="/usr/lib/upower/upowerd " label="kernel")
[32095:32160:0310/085512.846049:ERROR:object_proxy.cc(621)] Failed to call method: org.freedesktop.UPower.GetDisplayDevice: object_path= /org/freedesktop/UPower: org.freedesktop.DBus.Error.AccessDenied: Rejected send message, 1 matched rules; type="method_call", sender=":1.34" (uid=1000 pid=32095 comm="chromium-bin-browser --extra-plugin-dir=/usr/lib/n" label="kernel") interface="org.freedesktop.UPower" member="GetDisplayDevice" error name="(unset)" requested_reply="0" destination="org.freedesktop.UPower" (uid=0 pid=30581 comm="/usr/lib/upower/upowerd " label="kernel")
[32095:32160:0310/085512.846505:ERROR:object_proxy.cc(621)] Failed to call method: org.freedesktop.UPower.EnumerateDevices: object_path= /org/freedesktop/UPower: org.freedesktop.DBus.Error.AccessDenied: Rejected send message, 1 matched rules; type="method_call", sender=":1.34" (uid=1000 pid=32095 comm="chromium-bin-browser --extra-plugin-dir=/usr/lib/n" label="kernel") interface="org.freedesktop.UPower" member="EnumerateDevices" error name="(unset)" requested_reply="0" destination="org.freedesktop.UPower" (uid=0 pid=30581 comm="/usr/lib/upower/upowerd " label="kernel")
libva error: vaGetDriverNameByIndex() failed with unknown libva error, driver_name = (null)
[32123:32123:0310/085512.894862:ERROR:sandbox_linux.cc(374)] InitializeSandbox() called with multiple threads in process gpu-process.

--- log ---

ebuild file: https://github.com/stha09/gpo-stha09/blob/master/www-client/chromium-bin/chromium-bin-89.0.4389.82.ebuild
Comment 17 vite 2021-03-10 06:32:39 UTC
system info

$ emerge --info

Portage 3.0.13 (python 3.8.7-final-0, default/linux/amd64/17.1, gcc-10.2.0, glibc-2.32-r7, 5.4.97-gentoo-x86_64 x86_64)
=================================================================
System uname: Linux-5.4.97-gentoo-x86_64-x86_64-Intel-R-_Core-TM-_i5-3450S_CPU_@_2.80GHz-with-glibc2.2.5
KiB Mem:     8112724 total,   5509620 free
KiB Swap:    1048572 total,   1047024 free
Timestamp of repository gentoo: Tue, 09 Mar 2021 14:00:01 +0000
Head commit of repository gentoo: 1f9763eaa337ed65bfb4809625a3cb8d5901065b
sh bash 5.0_p18
ld GNU ld (Gentoo 2.35.1 p2) 2.35.1
app-shells/bash:          5.0_p18::gentoo
dev-lang/perl:            5.30.3::gentoo
dev-lang/python:          3.7.9-r2::gentoo, 3.8.7-r1::gentoo, 3.9.1-r1::gentoo
dev-util/cmake:           3.18.5::gentoo
sys-apps/baselayout:      2.7::gentoo
sys-apps/openrc:          0.42.1-r1::gentoo
sys-apps/sandbox:         2.20::gentoo
sys-devel/autoconf:       2.69-r5::gentoo
sys-devel/automake:       1.16.2-r1::gentoo
sys-devel/binutils:       2.35.1-r1::gentoo
sys-devel/gcc:            10.2.0-r5::gentoo
sys-devel/gcc-config:     2.3.3::gentoo
sys-devel/libtool:        2.4.6-r6::gentoo
sys-devel/make:           4.3::gentoo
sys-kernel/linux-headers: 5.10::gentoo (virtual/os-headers)
sys-libs/glibc:           2.32-r7::gentoo
Repositories:

gentoo
    location: /usr/portage
    sync-type: rsync
    sync-uri: rsync://rsync.gentoo.org/gentoo-portage
    priority: -1000
    sync-rsync-verify-max-age: 24
    sync-rsync-verify-jobs: 1
    sync-rsync-extra-opts:
    sync-rsync-verify-metamanifest: yes

extreme
    location: /var/db/repos/extreme
    masters: gentoo

ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="*"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-O2 -pipe"
DISTDIR="/usr/portage/distfiles"
ENV_UNSET="CARGO_HOME DBUS_SESSION_BUS_ADDRESS DISPLAY GOBIN GOPATH PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync multilib-strict network-sandbox news parallel-fetch pid-sandbox preserve-libs protect-owned qa-unresolved-soname-deps sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="en_US.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
Comment 18 vite 2021-03-10 07:00:32 UTC
$ equery u chromium-bin


[ Legend : U - final flag setting for installation]
[        : I - package is installed with flag     ]
[ Colors : set, unset                             ]
 * Found these USE flags for www-client/chromium-bin-89.0.4389.82:
 U I
 + + cpu_flags_x86_sse2 : Use the SSE2 instruction set
 - - devtools           : <unknown>
 + + l10n_am            : Amharic
 + + l10n_ar            : Arabic
 + + l10n_bg            : Bulgarian
 + + l10n_bn            : Bengali
 + + l10n_ca            : Catalan
 + + l10n_cs            : Czech
 + + l10n_da            : Danish
 + + l10n_de            : German
 + + l10n_el            : Modern Greek
 + + l10n_en-GB         : English (United Kingdom)
 + + l10n_es            : Spanish
 + + l10n_es-419        : Spanish (Latin America)
 + + l10n_et            : Estonian
 + + l10n_fa            : Persian
 + + l10n_fi            : Finnish
 + + l10n_fil           : Filipino
 + + l10n_fr            : French
 + + l10n_gu            : Gujarati
 + + l10n_he            : Hebrew
 + + l10n_hi            : Hindi
 + + l10n_hr            : Croatian
 + + l10n_hu            : Hungarian
 + + l10n_id            : Indonesian
 + + l10n_it            : Italian
 + + l10n_ja            : Japanese
 + + l10n_kn            : Kannada
 + + l10n_ko            : Korean
 + + l10n_lt            : Lithuanian
 + + l10n_lv            : Latvian
 + + l10n_ml            : Malayalam
 + + l10n_mr            : Marathi
 + + l10n_ms            : Malay (macrolanguage)
 + + l10n_nb            : Norwegian Bokmål
 + + l10n_nl            : Dutch
 + + l10n_pl            : Polish
 + + l10n_pt-BR         : Portuguese (Brazil)
 + + l10n_pt-PT         : Portuguese (Portugal)
 + + l10n_ro            : Romanian
 + + l10n_ru            : Russian
 + + l10n_sk            : Slovak
 + + l10n_sl            : Slovenian
 + + l10n_sr            : Serbian
 + + l10n_sv            : Swedish
 + + l10n_sw            : Swahili (macrolanguage)
 + + l10n_ta            : Tamil
 + + l10n_te            : Telugu
 + + l10n_th            : Thai
 + + l10n_tr            : Turkish
 + + l10n_uk            : Ukrainian
 + + l10n_vi            : Vietnamese
 + + l10n_zh-CN         : Chinese (China)
 + + l10n_zh-TW         : Chinese (Taiwan)
 - - suid               : Enable setuid root program, with potential security risks
 + + swiftshader        : <unknown>
 + + vaapi              : Enable Video Acceleration API for hardware decoding
 + + wayland            : Enable dev-libs/wayland backend
 - - widevine           : <unknown>
Comment 19 Tuxine 2021-03-21 15:11:47 UTC
(In reply to Stephan Hartmann from comment #4)
> I have added chromium-bin in my overlay at
> https://github.com/stha09/gpo-stha09 (it is available via layman and eselect
> repository) for amd64 and x86. If it works, then I might add it to the tree.
> 
> Please test.

I've tested and I'm thrilled.
Even the syncronisation of the bookmarks with my google account works.

ww-client/chromium-bin

     Sun Mar 21 14:07:57 2021 >>> www-client/chromium-bin-89.0.4389.90
       merge time: 1 minute and 26 seconds.

many thanks
Comment 20 Petr Novak 2021-04-24 18:52:29 UTC
Seems to work for me, much better than 18-hour chromium build. Thank you!
Comment 21 Larry the Git Cow gentoo-dev 2022-04-13 06:13:20 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a20184ed918d9b159158df88c2286f367f6d6097

commit a20184ed918d9b159158df88c2286f367f6d6097
Author:     Stephan Hartmann <sultan@gentoo.org>
AuthorDate: 2022-04-13 06:12:30 +0000
Commit:     Stephan Hartmann <sultan@gentoo.org>
CommitDate: 2022-04-13 06:12:54 +0000

    www-client/chromium-bin: initial import
    
    Bug: https://bugs.gentoo.org/729366
    Signed-off-by: Stephan Hartmann <sultan@gentoo.org>

 www-client/chromium-bin/Manifest                   |  11 +
 .../chromium-bin/chromium-bin-100.0.4896.88.ebuild | 243 +++++++++++++++++++++
 .../files/chromium-bin-browser-chromium.desktop    | 221 +++++++++++++++++++
 .../chromium-bin/files/chromium-bin-browser.1      | 170 ++++++++++++++
 .../chromium-bin/files/chromium-bin-browser.xml    |  13 ++
 .../chromium-bin/files/chromium-bin-launcher.sh    |  39 ++++
 www-client/chromium-bin/files/chromium-bin.default |   5 +
 www-client/chromium-bin/metadata.xml               |  13 ++
 8 files changed, 715 insertions(+)
Comment 22 Joonas Niilola gentoo-dev 2022-04-13 06:43:05 UTC
How exciting! :)

Kudos for the work on this!