You are not logged in.
Hello,
sudo pacman -Syu
Chromium, Terminal:
chromium
/usr/lib/chromium/chromium: error while loading shared libraries: libre2.so.0: cannot open shared object file: No such file or directory
How can i solved my problem?
Can i use this this solution for archlinux64?
https://bbs.archlinux.org/viewtopic.php … 9#p1871579
Thank you
arch322yes
Last edited by arch322yes (2020-04-27 11:57:28)
Offline
I don't think this is an issue with symlinks, so the solution you've found for archlinux64 is only likely to cause you worse problems if you tried to implement it, I think.
I'm not sure where libre2.so comes from. I don't have it installed and a naive search of the repo doesn't give me anything with a matching name.
Can you see what you have in /usr/lib under the name libre2.so.*; I'd assume you have something there just the wrong version. And then could you do a pacman -Qo on that filename to find out where it's come from. I'd guess it might have moved on to libre2.so.1 by now, so chromium needs a rebuild, but that's only my guess at this stage.
Architecture: pentium4, Testing repos: Yes, Hardware: EeePC 901+2GB RAM+OS half on the SD card.
Offline
chromium doesn't work on glibc 2.31 anyways, see:
https://bugs.archlinux32.org/index.php? … ask_id=105
libseccomp jailing has to be fixed first, otherwise you get a new chromium which
only says "Aw, snap!" in a white window, but otherwise completely not working. :-)
Maybe I have time next week, when Europe/Switzerland is going for a complete
Corona shutdown, and we all have plenty of time to work on nice side projects
at home. :->
Offline
libre2.so is provided by re2
Offline
The same issue about not being able to load libre2.so.0 appeared when trying to launch qutebrowser on a freshly updated system.
After rebuilding qt5-webengine, the browser now launches properly and it's usable. It's able to load pages, but the rendering seems to occasionally crash in a way that looks related to chromium's issue. It's rare enough that I can usually get to a page by trying again.
../../../../qtwebengine-everywhere-src-5.14.1/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc:**CRASHING**:seccomp-bpf failure in syscall 0407
13:47:58 ERROR: Renderer process crashed
Note the syscall number is different. I don't know enough to know whether that's relevant.
I don't know if there's anything I can do to be helpful, but if there is please let me know.
Offline
It's worth knowing that qutebrowser is crashing due to seccomp too, although the way it seems to be intermittent is different in nature to what's happening on Chromium. There may be more logs in ~/.local/share, but other than that I don't think there's much you can do, but just letting us know it's also broken can't hurt and is probably useful. Thanks!
Architecture: pentium4, Testing repos: Yes, Hardware: EeePC 901+2GB RAM+OS half on the SD card.
Offline
Terminal;
chromium
/usr/lib/chromium/chromium: error while loading shared libraries: libre2.so.0: cannot open shared object file: No such file or directory
Hello developer, when did you think we get a solution?
arch322yes
Last edited by arch322yes (2020-03-30 07:52:39)
Offline
So yeah, I installed libre2 to check, and now I have a libre2.so.6 in my /usr/lib, not a so.0 like chromium is apparently looking for. The re2 package is at version 1:20200303-1.0, so I'm a little surprised the so has got to version 6 already, but that's the state of things. Maybe you could try rolling back re2 to a version that provides an .so.0, which should be relatively safe compared to rolling back the entriity of chromium. That's only a temporary solution at best, because officially at least you're not meant to get support for partial upgrades, but to get your main browser back it's what I'd do.
Architecture: pentium4, Testing repos: Yes, Hardware: EeePC 901+2GB RAM+OS half on the SD card.
Offline
Hello, my Chromium Archlinx-64 Bit work's without problems.
Why don't work Chromium Archlinx-32 Bit?
I don't understand this.
This Archlinux-32 workaround can i use?
arch322yes
Last edited by arch322yes (2020-03-31 07:05:44)
Offline
All browsers have slowly developed into behemoths in terms of project complexity and just simply lines of code to compile. Consequently I'm not sure how automatable builds of chromium currently are. We commonly need to wait longer to get the same version of both firefox and chromium versus users on arch64.
But yes, if it is just an automatic process, then a rebuild and republish of chromium would most likely solve this. The version in the repo was probably just built against older libraries.
I think a problem might be that developers on arch linux 32 don't trust google to develop a browser that respect their privacy, so aren't active users of it, or aren't running any browsers on their 32-bit machines any more. Otherwise I'd expect them to hit this too and be working on a fix already which doesn't seem to be the case.
Are you running the testing repos currently by the way? The version is testing is slightly newer than the one in extra.
Architecture: pentium4, Testing repos: Yes, Hardware: EeePC 901+2GB RAM+OS half on the SD card.
Offline
The problem is libseccomp sandboxing in chromium which breaks for 32-bit due to 64-bit time functions in the kernel
which are used since glibc 2.31.
Upstream (aka Chromium people) doesn't give a jota on 32-bit support anymore on Linux and I simply didn't have
time to dig into the sandboxing code of Chromium yet.
Offline
So is the chromium currently in the extra repo functional? A workaround to use an older libre2 should be liveable with if so, for those who use chromium as their main browser, since I at least don't have any other user for libre2.
Architecture: pentium4, Testing repos: Yes, Hardware: EeePC 901+2GB RAM+OS half on the SD card.
Offline
Hello
Quick workaround:
Downgrade the re2 package. Go to https://archive.archlinux32.org/packages/r/re2/ and look for the previous version which worked for you (probably re2-20200101-1.0-pentium4.pkg.tar.xz). install it with
sudo pacman -U re2-20200101-1.0-pentium4.pkg.tar.xz
You may want to downgrade glibc since the current up to date version (2.31) results in the "Aw snap" error. look the archive for glibc 2.30-3.1 because that works without any issue.
Longer solution:
Compile your own chromium with updated re2 package (20200303-1). it would be best if you compile it in a better machine within a virtual machine with as many cores as you can, because it takes a lot (and i mean it) of time. if you compile it in a dual core atom, it wouldn't be half way through in 4 days, but with 14 threads it takes between 3 to 6 hours.
I compile the ungoogled version, so you may want to remove the stuff if you are not interested. Use this this PKGBUILD, which is a modified version of the official package for version 80.0.3987.149. you need to get the patch files from the official archlinux chromium repo (https://git.archlinux.org/svntogit/pack … s/chromium)
# Maintainer: Evangelos Foutras <evangelos@foutrelis.com>
# Contributor: Pierre Schmitz <pierre@archlinux.de>
# Contributor: Jan "heftig" Steffens <jan.steffens@gmail.com>
# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
pkgname=chromium
pkgver=80.0.3987.149
pkgrel=1
_launcher_ver=6
pkgdesc="A web browser built for speed, simplicity, and security"
arch=('pentium4')
url="https://www.chromium.org/Home"
license=('BSD')
depends=('gtk3' 'nss' 'alsa-lib' 'xdg-utils' 'libxss' 'libcups' 'libgcrypt'
'ttf-font' 'systemd' 'dbus' 'libpulse' 'pciutils' 'json-glib'
'desktop-file-utils' 'hicolor-icon-theme')
makedepends=('python' 'python2' 'gperf' 'yasm' 'mesa' 'ninja' 'nodejs' 'git'
'libpipewire02' 'clang' 'lld' 'gn' 'java-runtime-headless')
optdepends=('pepper-flash: support for Flash content'
'libpipewire02: WebRTC desktop sharing under Wayland'
'kdialog: needed for file dialogs in KDE'
'org.freedesktop.secrets: password storage backend on GNOME / Xfce'
'kwallet: for storing passwords in KWallet on KDE desktops')
install=chromium.install
source=(https://commondatastorage.googleapis.com/chromium-browser-official/$pkgname-$pkgver.tar.xz
chromium-launcher-$_launcher_ver.tar.gz::https://github.com/foutrelis/chromium-launcher/archive/v$_launcher_ver.tar.gz
cros-search-service-Include-cmath-for-std-pow.patch
move-RemoteTreeNode-declaration.patch
sync-enable-USSPasswords-by-default.patch
fix-shim-header-generation-when-unbundling-ICU.patch
fix-building-with-system-zlib.patch
remove-verbose-logging-in-local-unique-font-matching.patch
fix-building-with-unbundled-libxml.patch
rename-Relayout-in-DesktopWindowTreeHostPlatform.patch
rebuild-Linux-frame-button-cache-when-activation.patch
chromium-widevine.patch
chromium-skia-harmony.patch
"git+https://github.com/Eloston/ungoogled-chromium#commit=9ec24e7652e8be46f44e879bbbf8b894d5ce957b")
sha256sums=($(curl -sL https://commondatastorage.googleapis.com/chromium-browser-official/$pkgname-$pkgver.tar.xz.hashes | grep sha256 | cut -d ' ' -f3)
'04917e3cd4307d8e31bfb0027a5dce6d086edb10ff8a716024fbb8bb0c7dccf1'
'0a8d1af2a3734b5f99ea8462940e332db4acee7130fe436ad3e4b7ad133e5ae5'
'21f631851cdcb347f40793485b168cb5d0da65ae26ae39ba58d624c66197d0a5'
'08ef82476780e0864b5bf7f20eb19db320e73b9a5d4f595351e12e97dda8746f'
'e477aa48a11ca4d53927f66a9593567fcd053325fb38af30ac3508465f1dd1f6'
'18276e65c68a0c328601b12fefb7e8bfc632346f34b87e64944c9de8c95c5cfa'
'5bc775c0ece84d67855f51b30eadcf96fa8163b416d2036e9f9ba19072f54dfe'
'e530d1b39504c2ab247e16f1602359c484e9e8be4ef6d4824d68b14d29a7f60b'
'ae3bf107834bd8eda9a3ec7899fe35fde62e6111062e5def7d24bf49b53db3db'
'46f7fc9768730c460b27681ccf3dc2685c7e1fd22d70d3a82d9e57e3389bb014'
'709e2fddba3c1f2ed4deb3a239fc0479bfa50c46e054e7f32db4fb1365fed070'
'771292942c0901092a402cc60ee883877a99fb804cb54d568c8c6c94565a48e1'
'SKIP')
# Possible replacements are listed in build/linux/unbundle/replace_gn_files.py
# Keys are the names in the above script; values are the dependencies in Arch
declare -gA _system_libs=(
[ffmpeg]=ffmpeg
[flac]=flac
[fontconfig]=fontconfig
[freetype]=freetype2
[harfbuzz-ng]=harfbuzz
[icu]=icu
[libdrm]=
[libjpeg]=libjpeg
#[libpng]=libpng # https://crbug.com/752403#c10
[libvpx]=libvpx
[libwebp]=libwebp
[libxml]=libxml2
[libxslt]=libxslt
[opus]=opus
[re2]=re2
[snappy]=snappy
[yasm]=
[zlib]=minizip
)
_unwanted_bundled_libs=(
${!_system_libs[@]}
${_system_libs[libjpeg]+libjpeg_turbo}
)
depends+=(${_system_libs[@]})
# Google API keys (see https://www.chromium.org/developers/how-tos/api-keys)
# Note: These are for Arch Linux use ONLY. For your own distribution, please
# get your own set of keys.
_google_api_key=
_google_default_client_id=
_google_default_client_secret=
prepare() {
_ungoogled_repo="$srcdir/ungoogled-chromium"
_utils="${_ungoogled_repo}/utils"
cd "$srcdir/$pkgname-$pkgver"
# Allow building against system libraries in official builds
sed -i 's/OFFICIAL_BUILD/GOOGLE_CHROME_BUILD/' \
tools/generate_shim_headers/generate_shim_headers.py
# https://crbug.com/893950
sed -i -e 's/\<xmlMalloc\>/malloc/' -e 's/\<xmlFree\>/free/' \
third_party/blink/renderer/core/xml/*.cc \
third_party/blink/renderer/core/xml/parser/xml_document_parser.cc \
third_party/libxml/chromium/*.cc
# https://crbug.com/957519
patch -Np1 -i ../cros-search-service-Include-cmath-for-std-pow.patch
patch -Np1 -i ../move-RemoteTreeNode-declaration.patch
# https://crbug.com/1027929
patch -Np1 -i ../sync-enable-USSPasswords-by-default.patch
# https://crbug.com/989153
patch -Np1 -i ../fix-shim-header-generation-when-unbundling-ICU.patch
# https://crbug.com/977964
patch -Np1 -i ../fix-building-with-system-zlib.patch
# https://crbug.com/1005508
patch -Np1 -i ../remove-verbose-logging-in-local-unique-font-matching.patch
# https://crbug.com/1043042
patch -Np1 -i ../fix-building-with-unbundled-libxml.patch
# https://crbug.com/1049258
patch -Np1 -i ../rename-Relayout-in-DesktopWindowTreeHostPlatform.patch
patch -Np1 -i ../rebuild-Linux-frame-button-cache-when-activation.patch
# Load bundled Widevine CDM if available (see chromium-widevine in the AUR)
# M79 is supposed to download it as a component but it doesn't seem to work
patch -Np1 -i ../chromium-widevine.patch
# https://crbug.com/skia/6663#c10
patch -Np0 -i ../chromium-skia-harmony.patch
msg2 'Pruning binaries'
python "$_utils/prune_binaries.py" ./ "$_ungoogled_repo/pruning.list"
msg2 'Applying patches'
python "$_utils/patches.py" apply ./ "$_ungoogled_repo/patches"
msg2 'Applying domain substitution'
python "$_utils/domain_substitution.py" apply -r "$_ungoogled_repo/domain_regex.list" -f "$_ungoogled_repo/domain_substitution.list" -c domainsubcache.tar.gz ./
# Force script incompatible with Python 3 to use /usr/bin/python2
sed -i '1s|python$|&2|' third_party/dom_distiller_js/protoc_plugins/*.py
mkdir -p third_party/node/linux/node-linux-x64/bin
ln -s /usr/bin/node third_party/node/linux/node-linux-x64/bin/
# Remove bundled libraries for which we will use the system copies; this
# *should* do what the remove_bundled_libraries.py script does, with the
# added benefit of not having to list all the remaining libraries
local _lib
for _lib in ${_unwanted_bundled_libs[@]}; do
find "third_party/$_lib" -type f \
\! -path "third_party/$_lib/chromium/*" \
\! -path "third_party/$_lib/google/*" \
\! -path 'third_party/yasm/run_yasm.py' \
\! -regex '.*\.\(gn\|gni\|isolate\)' \
-delete
done
python2 build/linux/unbundle/replace_gn_files.py \
--system-libraries "${!_system_libs[@]}"
}
build() {
make -C chromium-launcher-$_launcher_ver
cd "$srcdir/$pkgname-$pkgver"
if check_buildoption ccache y; then
# Avoid falling back to preprocessor mode when sources contain time macros
export CCACHE_SLOPPINESS=time_macros
fi
export CC=clang
export CXX=clang++
export AR=ar
export NM=nm
local _flags=(
'custom_toolchain="//build/toolchain/linux/unbundle:default"'
'host_toolchain="//build/toolchain/linux/unbundle:default"'
'clang_use_chrome_plugins=false'
'is_official_build=true' # implies is_cfi=true on x86_64
'treat_warnings_as_errors=false'
'fieldtrial_testing_like_official_build=true'
'ffmpeg_branding="Chrome"'
'proprietary_codecs=true'
'rtc_use_pipewire=true'
'link_pulseaudio=true'
'use_gnome_keyring=false'
'use_sysroot=false'
'linux_use_bundled_binutils=false'
'use_custom_libcxx=false'
'enable_hangout_services_extension=false'
'enable_widevine=true'
'enable_nacl=false'
'enable_swiftshader=false'
"google_api_key=\"${_google_api_key}\""
"google_default_client_id=\"${_google_default_client_id}\""
"google_default_client_secret=\"${_google_default_client_secret}\""
'enable_one_click_signin=false'
'enable_reading_list=false'
'enable_remoting=false'
'enable_reporting=false'
'enable_service_discovery=false'
'safe_browsing_mode=0'
'closure_compile=false'
'use_lld=false'
)
if [[ -n ${_system_libs[icu]+set} ]]; then
_flags+=('icu_use_data_file=false')
fi
if check_option strip y; then
_flags+=('symbol_level=0')
fi
# Facilitate deterministic builds (taken from build/config/compiler/BUILD.gn)
CFLAGS+=' -Wno-builtin-macro-redefined'
CXXFLAGS+=' -Wno-builtin-macro-redefined'
CPPFLAGS+=' -D__DATE__= -D__TIME__= -D__TIMESTAMP__='
# Do not warn about unknown warning options
CFLAGS+=' -Wno-unknown-warning-option'
CXXFLAGS+=' -Wno-unknown-warning-option'
gn gen out/Release --args="${_flags[*]}" --script-executable=/usr/bin/python2
ninja -j14 -C out/Release chrome chrome_sandbox chromedriver
}
package() {
cd chromium-launcher-$_launcher_ver
make PREFIX=/usr DESTDIR="$pkgdir" install
install -Dm644 LICENSE \
"$pkgdir/usr/share/licenses/chromium/LICENSE.launcher"
cd "$srcdir/$pkgname-$pkgver"
install -D out/Release/chrome "$pkgdir/usr/lib/chromium/chromium"
install -Dm4755 out/Release/chrome_sandbox "$pkgdir/usr/lib/chromium/chrome-sandbox"
ln -s /usr/lib/chromium/chromedriver "$pkgdir/usr/bin/chromedriver"
install -Dm644 chrome/installer/linux/common/desktop.template \
"$pkgdir/usr/share/applications/chromium.desktop"
install -Dm644 chrome/app/resources/manpage.1.in \
"$pkgdir/usr/share/man/man1/chromium.1"
sed -i \
-e "s/@@MENUNAME@@/Chromium/g" \
-e "s/@@PACKAGE@@/chromium/g" \
-e "s/@@USR_BIN_SYMLINK_NAME@@/chromium/g" \
"$pkgdir/usr/share/applications/chromium.desktop" \
"$pkgdir/usr/share/man/man1/chromium.1"
cp \
out/Release/{chrome_{100,200}_percent,resources}.pak \
out/Release/{*.bin,chromedriver} \
"$pkgdir/usr/lib/chromium/"
install -Dm644 -t "$pkgdir/usr/lib/chromium/locales" out/Release/locales/*.pak
if [[ -z ${_system_libs[icu]+set} ]]; then
cp out/Release/icudtl.dat "$pkgdir/usr/lib/chromium/"
fi
for size in 24 48 64 128 256; do
install -Dm644 "chrome/app/theme/chromium/product_logo_$size.png" \
"$pkgdir/usr/share/icons/hicolor/${size}x${size}/apps/chromium.png"
done
for size in 16 32; do
install -Dm644 "chrome/app/theme/default_100_percent/chromium/product_logo_$size.png" \
"$pkgdir/usr/share/icons/hicolor/${size}x${size}/apps/chromium.png"
done
install -Dm644 LICENSE "$pkgdir/usr/share/licenses/chromium/LICENSE"
}
# vim:set ts=2 sw=2 et:
i could post a compiled version of mine, or the portable version, but havent had a good welcome around here when i did, understandable though since it is a security risk to trust strangers.
good luck
Offline
Thanks that's pretty comprehensive. Most users will probably have that January issue of re2 in their /var/cache/pacman/pkg so may not need to reload it from the archive, but I do have to clean out my cache more often on my archlinux 32 machines because I only allocated 4GB to my /var folder, so I'm glad sometimes that the archives exist.
Architecture: pentium4, Testing repos: Yes, Hardware: EeePC 901+2GB RAM+OS half on the SD card.
Offline
Partial downgrading to glibc 2.30 is not supported.
Recompiling Chromium for glibc 2.31 will not do, as libseccomp sandboxing has to be fixed in the sources of Chromium
(volunteers, anybody?).
Building on a Ryzen 2700 with 8 cores (16 hyper-cores) takes half an our at least, so I wouldn't make experiments on
a virtual machine unless the underlying metal is a real beast. :-)
Offline
Hello Developer,
when did you think we get a solution for this problem?
Our Firefox 74.0.1 (32-Bit) is very old to, isn't Arch Linux like.
My last working Archlinux32 System Image: 2020-03-02-20
pacman -Syu
chromium
[5836:5836:0415/071103.667232:ERROR:edid_parser.cc(102)] Too short EDID data: manufacturer id
../../sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc:**CRASHING**:seccomp-bpf failure in syscall 0403
../../sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc:**CRASHING**:seccomp-bpf failure in syscall 0403
../../sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc:**CRASHING**:seccomp-bpf failure in syscall 0403
../../sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc:**CRASHING**:seccomp-bpf failure in syscall 0403
../../sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc:**CRASHING**:seccomp-bpf failure in syscall 0403
../../sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc:**CRASHING**:seccomp-bpf failure in syscall 0403
https://bugs.archlinux32.org/index.php? … ask_id=105
arch32yes, at this time i use Debian Buster
Last edited by arch322yes (2020-04-15 06:29:51)
Offline
maybe we can steal patches from debian? https://sources.debian.org/patches/chro … 1~deb10u1/
Offline
Had trouble with chromium 'Aw, snap' syscall 0407 and finally manged to fix it by [1]. Should fix 0403 either.
Offline
I could have sworn I saw the right fixes in 81.0.4044.122-1-pentium4. But I'm still getting
the same seccomp errors. Well, I have to take a closer look tomorrow..
Offline
81.0.4044.122-1.2 works on pentium4. :-)
On i686 there are some quirks around intrinsicts, maybe this can be fixes by allowing at least some MMX or/and SSE for that build.
Thanks again for patching, much appreciated. :-)
Offline
Hello, thank you.
For a longtime i have missing my Archlinux32.
My last good working Archlinux32 Image. 2020-03-02-20
Now Chroimum is working.
arch322yes, a long time Debian 10 LXQt, (32-bit) User
Last edited by arch322yes (2020-04-27 12:23:56)
Offline