GithubHelp home page GithubHelp logo

ungoogled-software / ungoogled-chromium-portablelinux Goto Github PK

View Code? Open in Web Editor NEW
94.0 14.0 31.0 357 KB

Portable Linux packaging for ungoogled-chromium

Shell 76.20% Dockerfile 23.80%
ungoogled-chromium linux chromium portable

ungoogled-chromium-portablelinux's People

Contributors

aggstam avatar clickot avatar dblouis avatar echedellelr avatar eloston avatar gunboy001 avatar hrj avatar jlj2 avatar jonathanprecise avatar luizferrbarbosa avatar mdedonno1337 avatar probonopd avatar zoraver avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ungoogled-chromium-portablelinux's Issues

Docker build fails at `chrome-sandbox`

cloning the repo/submodules and running ./docker-build.sh fails with this error:

[1649/50870] LINK ./chrome_sandbox
FAILED: chrome_sandbox 
python3 "../../build/toolchain/gcc_link_wrapper.py" --output="./chrome_sandbox" -- clang++ -pie -fuse-ld=lld -Wl,--build-id=sha1 -fPIC -Wl,-z,noexecstack -Wl,-z,relro -Wl,-z,now -Wl,--icf=all -Wl,--color-diagnostics -Wl,-mllvm,-instcombine-lower-dbg-declare=0 -flto=thin -Wl,--thinlto-jobs=all -Wl,--thinlto-cache-dir=thinlto-cache -Wl,--thinlto-cache-policy=cache_size=10\%:cache_size_bytes=40g:cache_size_files=100000 -Wl,-mllvm,-import-instr-limit=5 -fwhole-program-vtables -Wl,--no-call-graph-profile-sort -m64 -no-canonical-prefixes -Wl,-O2 -Wl,--gc-sections -rdynamic -nostdlib++ -Wl,--lto-O0 -Wl,-z,defs -Wl,--as-needed -fsanitize=cfi-vcall -fsanitize=cfi-icall -pie -Wl,--disable-new-dtags -o "./chrome_sandbox" -Wl,--start-group @"./chrome_sandbox.rsp"  -Wl,--end-group  -ldl -lpthread -lrt
clang++: error: invalid linker name in argument '-fuse-ld=lld'
clang++: error: no such file or directory: '/usr/lib/clang/13.0.1/share/cfi_ignorelist.txt'
clang++: error: invalid linker name in argument '-fuse-ld=lld'

Using OBS to build portable linux builds

Hi @braewoods @Eloston @wchen342

I see that OBS has been setup now to build debian / ubuntu packages automatically.

Can the same setup be extended to build the portable linux images?

If it's possible, I would be happy to help write scripts, etc.

If the same setup can't be extended, I would appreciate any tips on starting a new setup for this. (I am familiar with Travis CI, Gitlab CI, Github Actions, but never tried OBS yet).

Portable Linux 80.0.3987.106-1.1 - Shouldn't root chown chrome-sandbox, chrome-wrapper, and chmod 4755

As mentioned in a recent post, UC Portable Linux binary 80.0.3987.106-1.1 was extracted to /opt using sudo (from ~/Downloads), following the installation guide. This demonstrated username:guest ownership for the extracted files (sorry: the original post had erroneously described this from memory as 'username:username'):


$ ls -al /opt/ungoogled-chromium_80.0.3987.106-1.1_linux/
total 281104
drwxr-xr-x 4 root root       4096 Feb 28 13:09 .
drwxr-xr-x 3 root root       4096 Feb 28 13:09 ..
-rwxr-xr-x 1 username guest 232283688 Feb 17 20:06 chrome
-rw-r--r-- 1 username guest   1120260 Feb 17 10:14 chrome_100_percent.pak
-rw-r--r-- 1 username guest   1540038 Feb 17 10:14 chrome_200_percent.pak
-rwxr-xr-x 1 username guest  13701592 Feb 17 13:59 chromedriver
-rwxr-xr-x 1 username guest    305792 Feb 17 05:19 chrome_sandbox
-rwxr-xr-x 1 username guest      5087 Feb 13 14:45 chrome-wrapper
-rwxr-xr-x 1 username guest   2492872 Feb 17 07:14 crashpad_handler
-rw-r--r-- 1 username guest  10505952 Feb 13 14:55 icudtl.dat
-rwxr-xr-x 1 username guest    324096 Feb 17 07:13 libEGL.so
-rwxr-xr-x 1 username guest  11229808 Feb 17 07:13 libGLESv2.so
drwxr-xr-x 2 username guest      4096 Feb 17 07:37 locales
-rw-r--r-- 1 username guest      2540 Feb 13 14:45 product_logo_48.png
-rw-r--r-- 1 username guest      1356 Feb 17 04:15 README
drwxr-xr-x 3 username guest      4096 Feb 17 05:46 resources
-rw-r--r-- 1 username guest  13655548 Feb 17 13:39 resources.pak
-rw-r--r-- 1 username guest    558968 Feb 17 19:53 v8_context_snapshot.bin
-rwxr-xr-x 1 username guest     37394 Feb 13 14:55 xdg-mime
-rwxr-xr-x 1 username guest     33273 Feb 13 14:55 xdg-settings

Here, username: uid=1000(username) gid=1001(username) groups=1001(username).
Guest was the name of the default user on this installation; /etc/group lists the guest group as guest:!:1000: .

Shouldn't the instruction guide give additional instruction(s) that at least chrome-sandbox be owned by root for the sake of security - and sandbox-wrapper also maybe, which is being used to launch UC in some cases? There are at least a couple of sites where the chromium binary installer package was untarred and the ownership and chmod bits needed changing. For example, a forum post about installing Chromium in Raspberry Pi in 2012, plus another installer script in Pi suggest, in part:-

sudo chown root:root chrome/chrome-sandbox
sudo chmod 4755 chrome/chrome-sandbox

At one point in the thread of the first post, it may appear that there is an explanation there that ownership should be root for the sandbox binary only.

build.sh failure: TypeError: __init__() got an unexpected keyword argument 'capture_output'

I am trying to build 80.0.3987.149-1.1 but build.sh fails and stops at:

+ /tmp/download/ungoogled-chromium-portablelinux/ungoogled-chromium/utils/patches.py apply /tmp/download/ungoogled-chromium-portablelinux/build/src /tmp/download/ungoogled-chromium-portablelinux/ungoogled-chromium/patches /tmp/download/ungoogled-chromium-portablelinux/patches
INFO: Applying patches from /tmp/download/ungoogled-chromium-portablelinux/ungoogled-chromium/patches
Traceback (most recent call last):
  File "/tmp/download/ungoogled-chromium-portablelinux/ungoogled-chromium/utils/patches.py", line 236, in <module>
    main()
  File "/tmp/download/ungoogled-chromium-portablelinux/ungoogled-chromium/utils/patches.py", line 232, in main
    args.callback(args)
  File "/tmp/download/ungoogled-chromium-portablelinux/ungoogled-chromium/utils/patches.py", line 189, in _apply_callback
    patch_bin_path=args.patch_bin)
  File "/tmp/download/ungoogled-chromium-portablelinux/ungoogled-chromium/utils/patches.py", line 111, in apply_patches
    patch_bin_path = find_and_check_patch(patch_bin_path=patch_bin_path)
  File "/tmp/download/ungoogled-chromium-portablelinux/ungoogled-chromium/utils/patches.py", line 67, in find_and_check_patch
    result = subprocess.run(cmd, capture_output=True, text=True)
  File "/usr/lib64/python3.6/subprocess.py", line 423, in run
    with Popen(*popenargs, **kwargs) as process:
TypeError: __init__() got an unexpected keyword argument 'capture_output'

Compilation should not use system libraries

Compilation breaks because the compiler is using system libraries, notably libdrm.

Compilation error:

[23489/40945] CXX obj/ui/gfx/linux/drm/drm_util_linux.o
FAILED: obj/ui/gfx/linux/drm/drm_util_linux.o
clang++-11 -MMD -MF obj/ui/gfx/linux/drm/drm_util_linux.o.d -DUSE_UDEV -DUSE_AURA=1 -DUSE_GLIB=1 -DUSE_NSS_CERTS=1 -DUSE_X11=1 -DOFFICIAL_BUILD -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DNO_UNWIND_TABLES -D_GNU_SOURCE -DCR_CLANG_REVISION=\"n356902-4e813bbd-1\" -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D_FORTIFY_SOURCE=2 -D_LIBCPP_ABI_UNSTABLE -D_LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS -D_LIBCXXABI_DISABLE_VISIBILITY_ANNOTATIONS -D_LIBCPP_ENABLE_NODISCARD -DCR_LIBCXX_REVISION=375504 -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -DGLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_2_40 -DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_40 -I../.. -Igen -I../../third_party/perfetto/include -Igen/third_party/perfetto/build_config -Igen/third_party/perfetto -I../../third_party/boringssl/src/include -I../../third_party/protobuf/src -Igen/protoc_out -fprofile-sample-use=../../chrome/android/profiles/afdo.prof -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector -fno-unwind-tables -fno-asynchronous-unwind-tables -fPIC -pthread -fcolor-diagnostics -fmerge-all-constants -fcrash-diagnostics-dir=../../tools/clang/crashreports -Xclang -mllvm -Xclang -instcombine-lower-dbg-declare=0 -flto=thin -fsplit-lto-unit -fwhole-program-vtables -m64 -march=x86-64 -Xclang -fdebug-compilation-dir -Xclang . -no-canonical-prefixes -Wall -Wextra -Wimplicit-fallthrough -Wunreachable-code -Wthread-safety -Wextra-semi -Wno-missing-field-initializers -Wno-unused-parameter -Wno-c++11-narrowing -Wno-unneeded-internal-declaration -Wno-undefined-var-template -Wno-ignored-pragma-optimize -Wno-max-tokens -O2 -fno-ident -fdata-sections -ffunction-sections -fno-omit-frame-pointer -g0 -ftrivial-auto-var-init=pattern -fsanitize=cfi-vcall -fsanitize-blacklist=../../tools/cfi/blacklist.txt -fsanitize=cfi-icall -fvisibility=hidden -Wheader-hygiene -Wstring-conversion -Wtautological-overlap-compare -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/libdrm -std=c++14 -fno-trigraphs -Wno-trigraphs -fno-exceptions -fno-rtti -nostdinc++ -isystem../../buildtools/third_party/libc++/trunk/include -isystem../../buildtools/third_party/libc++abi/trunk/include -fvisibility-inlines-hidden -resource-dir=/usr/lib/llvm-11/lib/clang/11.0.0 -resource-dir=/usr/lib/llvm-11/lib/clang/11.0.0 -c ../../ui/gfx/linux/drm_util_linux.cc -o obj/ui/gfx/linux/drm/drm_util_linux.o
../../ui/gfx/linux/drm_util_linux.cc:44:14: error: use of undeclared identifier 'DRM_FORMAT_P010'
return DRM_FORMAT_P010;
       ^
../../ui/gfx/linux/drm_util_linux.cc:73:10: error: use of undeclared identifier 'DRM_FORMAT_P010'
case DRM_FORMAT_P010:
     ^
../../ui/gfx/linux/drm_util_linux.cc:94:10: error: use of undeclared identifier 'DRM_FORMAT_P010'
case DRM_FORMAT_P010:
     ^
3 errors generated.

Note -I/usr/include/libdrm in the compilation flags. Why is the compiler using includes from the system?

For the record, the undeclared identifier is declared in the bundled libdrm: third_party/libdrm/src/include/drm/drm_fourcc.h

System: Debian 10 (buster)
Version: 85.0.4183.83-2.1
Using LLVM from apt.llvm.org version 1:11.0.0~++20200905032609+7030fc50d93-1~exp1~20200905133256.78

[Docker] Ninja build failed: error: call to function 'EraseIf'

I've used docker-build.sh but it failed at this step:

[15475/40414] CXX obj/components/domain_reliability/domain_reliability/google_configs.o
../../components/domain_reliability/google_configs.cc:16:8: warning: unused variable 'is_www_subdomain' [-Wunused-variable]
  bool is_www_subdomain =
       ^
1 warning generated.
[15488/40414] CXX obj/components/domain_reliability/domain_reliability/uploader.o
../../components/domain_reliability/uploader.cc:89:9: warning: code will never be executed [-Wunreachable-code]
        net::DefineNetworkTrafficAnnotation("domain_reliability_report_upload",
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../components/domain_reliability/uploader.cc:80:9: note: silence by adding parentheses to mark code as explicitly dead
    if (true) {
        ^
        /* DISABLES CODE */ ( )
1 warning generated.
[15962/40414] CXX obj/net/net/url_request_test_job.o
FAILED: obj/net/net/url_request_test_job.o 
clang++ -MMD -MF obj/net/net/url_request_test_job.o.d -DUSE_UDEV -DUSE_AURA=1 -DUSE_GLIB=1 -DUSE_NSS_CERTS=1 -DUSE_X11=1 -DOFFICIAL_BUILD -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DNO_UNWIND_TABLES -D_GNU_SOURCE -DCR_CLANG_REVISION=\"n353803-99ac9ce7-1\" -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D_FORTIFY_SOURCE=2 -D_LIBCPP_ABI_UNSTABLE -D_LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS -D_LIBCXXABI_DISABLE_VISIBILITY_ANNOTATIONS -D_LIBCPP_ENABLE_NODISCARD -DCR_LIBCXX_REVISION=375504 -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -DGLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_2_40 -DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_40 -DGOOGLE_PROTOBUF_NO_RTTI -DGOOGLE_PROTOBUF_NO_STATIC_INITIALIZER -DHAVE_PTHREAD -DNET_IMPLEMENTATION -DENABLE_BUILT_IN_DNS -DUSE_GIO -DU_USING_ICU_NAMESPACE=0 -DU_ENABLE_DYLOAD=0 -DUSE_CHROMIUM_ICU=1 -DU_ENABLE_TRACING=1 -DU_ENABLE_RESOURCE_TRACING=0 -DU_STATIC_IMPLEMENTATION -DICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_FILE -DUCHAR_TYPE=uint16_t -I../.. -Igen -I../../third_party/protobuf/src -Igen/protoc_out -I../../third_party/protobuf/src -I../../third_party/boringssl/src/include -I../../third_party/zlib -I../../third_party/ced/src -I../../third_party/icu/source/common -I../../third_party/icu/source/i18n -I../../third_party/brotli/include -fprofile-sample-use=../../chrome/android/profiles/afdo.prof -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector -fno-unwind-tables -fno-asynchronous-unwind-tables -fPIC -pthread -fcolor-diagnostics -fmerge-all-constants -fcrash-diagnostics-dir=../../tools/clang/crashreports -Xclang -mllvm -Xclang -instcombine-lower-dbg-declare=0 -flto=thin -fsplit-lto-unit -fwhole-program-vtables -m64 -march=x86-64 -Xclang -fdebug-compilation-dir -Xclang . -no-canonical-prefixes -Wall -Wextra -Wimplicit-fallthrough -Wunreachable-code -Wthread-safety -Wextra-semi -Wno-missing-field-initializers -Wno-unused-parameter -Wno-c++11-narrowing -Wno-unneeded-internal-declaration -Wno-undefined-var-template -Wno-ignored-pragma-optimize -fno-omit-frame-pointer -g0 -ftrivial-auto-var-init=pattern -fsanitize=cfi-vcall -fsanitize-blacklist=../../tools/cfi/blacklist.txt -fsanitize=cfi-icall -fvisibility=hidden -Wheader-hygiene -Wstring-conversion -Wtautological-overlap-compare -O2 -fno-ident -fdata-sections -ffunction-sections -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -Wno-shorten-64-to-32 -Wno-header-guard -I/usr/include/nss -I/usr/include/nspr -Wexit-time-destructors -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -std=c++14 -fno-exceptions -fno-rtti -nostdinc++ -isystem../../buildtools/third_party/libc++/trunk/include -isystem../../buildtools/third_party/libc++abi/trunk/include -fvisibility-inlines-hidden -resource-dir=/usr/lib/llvm-8/lib/clang/8.0.0 -resource-dir=/usr/lib/llvm-8/lib/clang/8.0.0 -c ../../net/url_request/url_request_test_job.cc -o obj/net/net/url_request_test_job.o
In file included from ../../net/url_request/url_request_test_job.cc:5:
In file included from ../../net/url_request/url_request_test_job.h:13:
In file included from ../../net/url_request/url_request.h:23:
In file included from ../../net/base/auth.h:12:
In file included from ../../url/origin.h:19:
In file included from ../../base/strings/string_util.h:21:
../../base/stl_util.h:587:10: error: call to function 'EraseIf' that is neither visible in the template definition nor found by argument-dependent lookup
  return EraseIf(container, [&](const T& cur) { return cur == value; });
         ^
../../net/url_request/url_request_test_job.cc:181:9: note: in instantiation of function template specialization 'base::Erase<net::URLRequestTestJob *, std::__1::allocator<net::URLRequestTestJob *>, net::URLRequestTestJob *>' requested here
  base::Erase(g_pending_jobs.Get(), this);
        ^
../../base/stl_util.h:591:8: note: 'EraseIf' should be declared prior to the call site or in namespace 'net'
size_t EraseIf(std::list<T, Allocator>& container, Predicate pred) {
       ^
1 error generated.
[15969/40414] CXX obj/net/net/url_request_throttler_entry.o
ninja: build stopped: subcommand failed.

Any idea where to look at?

Add libatomic

Description of problem:
On Fedora 33 (GNOME) it is not possible to start ungoogled-chromium AppImage. Neither in Files nor via Terminal.

How reproducible:
Always: the issue is observed each time.

Steps to Reproduce:

  1. Download ungoogled-chromium AppImage
    https://ungoogled-software.github.io/ungoogled-chromium-binaries/ ->

Linux AppImage 64-bit -> 87.0.4280.141-1.1 ->

https://github.com/LordTwix/ungoogled-chromium-binaries/releases/download/87.0.4280.141-1.1/ungoogled-chromium_87.0.4280.141-1.1_linux.AppImage

  1. Open GNOME Terminal in Fedora 33 (GNOME) and drag and drop (with the mouse) the ungoogled-chromium AppImage to GNOME Terminal.

  2. This output appears in Terminal:

[fedora@localhost ~]$ '/home/fedora/Downloads/ungoogled-chromium_87.0.4280.141-1.1_linux.AppImage'
/tmp/.mount_ungoogtyZUdM/opt/google/chrome/chrome: error while loading shared libraries: libatomic.so.1: cannot open shared object file: No such file or directory

Actual results:
ungoogled-chromium AppImage cannot be launched.

Expected results:
ungoogled-chromium AppImage can be launched just like other AppImage applications.

Additional info:
I also tried to install libatomic.so.1 in Terminal.
[fedora@localhost ~]$ sudo dnf install libatomic.so.1

But the problem remains, the same as what I wrote in Steps to reproduce in point 3.

Additional info 2:
Just typed this in the Terminal and it was solved:

[fedora@localhost ~]$ sudo dnf install libatomic

This means that the problem can be fixed automatically for users without additional installation if libatomic is integrated into ungoogled-chromium AppImage.

How to have up-to-date build?

Now that the version on the main repo has been updated - and the general build.md guide cannot be followed without issues - what is the right way to have an up-to-date version of portablelinux UC?

Build fails under archlinux

Could be a problem since arch has python 3.9 and not 3.5

Done. Made 13997 targets from 2412 files in 3911ms
+ ninja -C out/Default chrome chrome_sandbox chromedriver
ninja: Entering directory `out/Default'
[224/43824] ACTION //chrome/common/apps/platform_apps/api...chema_generator(//build/toolchain/linux/unbundle:default)
/tmp/build/ungoogled-chromium-portablelinux/build/src/tools/json_schema_compiler/model.py:211: SyntaxWarning: "is" with a literal. Did you mean "=="?
  if name is 'ManifestKeys':
[365/43824] ACTION //chrome/browser/resources/print_preview:preprocess(//build/toolchain/linux/unbundle:default)
FAILED: gen/chrome/browser/resources/print_preview/preprocessed/print_preview.html gen/chrome/browser/resources/print_preview/preprocessed/cloud_print_interface.js gen/chrome/browser/resources/print_preview/preprocessed/cloud_print_interface_impl.js gen/chrome/browser/resources/print_preview/preprocessed/dark_mode_behavior.js gen/chrome/browser/resources/print_preview/preprocessed/metrics.js gen/chrome/browser/resources/print_preview/preprocessed/native_layer.js gen/chrome/browser/resources/print_preview/preprocessed/print_preview.js gen/chrome/browser/resources/print_preview/preprocessed/print_preview_utils.js gen/chrome/browser/resources/print_preview/preprocessed/data/cloud_parsers.js gen/chrome/browser/resources/print_preview/preprocessed/data/coordinate2d.js gen/chrome/browser/resources/print_preview/preprocessed/data/destination.js gen/chrome/browser/resources/print_preview/preprocessed/data/destination_match.js gen/chrome/browser/resources/print_preview/preprocessed/data/destination_policies.js gen/chrome/browser/resources/print_preview/preprocessed/data/destination_store.js gen/chrome/browser/resources/print_preview/preprocessed/data/document_info.js gen/chrome/browser/resources/print_preview/preprocessed/data/invitation.js gen/chrome/browser/resources/print_preview/preprocessed/data/invitation_store.js gen/chrome/browser/resources/print_preview/preprocessed/data/local_parsers.js gen/chrome/browser/resources/print_preview/preprocessed/data/margins.js gen/chrome/browser/resources/print_preview/preprocessed/data/measurement_system.js gen/chrome/browser/resources/print_preview/preprocessed/data/model.js gen/chrome/browser/resources/print_preview/preprocessed/data/printable_area.js gen/chrome/browser/resources/print_preview/preprocessed/data/scaling.js gen/chrome/browser/resources/print_preview/preprocessed/data/size.js gen/chrome/browser/resources/print_preview/preprocessed/data/state.js gen/chrome/browser/resources/print_preview/preprocessed/data/user_manager.js gen/chrome/browser/resources/print_preview/preprocessed/ui/highlight_utils.js gen/chrome/browser/resources/print_preview/preprocessed/ui/input_behavior.js gen/chrome/browser/resources/print_preview/preprocessed/ui/plugin_proxy.js gen/chrome/browser/resources/print_preview/preprocessed/ui/select_behavior.js gen/chrome/browser/resources/print_preview/preprocessed/ui/settings_behavior.js gen/chrome/browser/resources/print_preview/preprocessed_manifest.json
python ../../tools/grit/preprocess_grit.py --in-folder ../../chrome/browser/resources/print_preview/ --out-folder gen/chrome/browser/resources/print_preview/preprocessed --in-files print_preview.html cloud_print_interface.js cloud_print_interface_impl.js dark_mode_behavior.js metrics.js native_layer.js print_preview.js print_preview_utils.js data/cloud_parsers.js data/coordinate2d.js data/destination.js data/destination_match.js data/destination_policies.js data/destination_store.js data/document_info.js data/invitation.js data/invitation_store.js data/local_parsers.js data/margins.js data/measurement_system.js data/model.js data/printable_area.js data/scaling.js data/size.js data/state.js data/user_manager.js ui/highlight_utils.js ui/input_behavior.js ui/plugin_proxy.js ui/select_behavior.js ui/settings_behavior.js -D scale_factors=2x -D _chromium -E CHROMIUM_BUILD=chromium -D desktop_linux -D toolkit_views -D use_aura -D use_nss_certs -D use_ozone --out-manifest gen/chrome/browser/resources/print_preview/preprocessed_manifest.json
Traceback (most recent call last):
  File "/tmp/build/ungoogled-chromium-portablelinux/build/src/out/Default/../../tools/grit/preprocess_grit.py", line 101, in <module>
    main(sys.argv[1:])
  File "/tmp/build/ungoogled-chromium-portablelinux/build/src/out/Default/../../tools/grit/preprocess_grit.py", line 96, in main
    json.dump(manifest_data, manifest_file)
  File "/usr/lib/python3.9/json/__init__.py", line 180, in dump
    fp.write(chunk)
TypeError: a bytes-like object is required, not 'str'
[382/43824] ACTION //chrome/browser/metrics:expired_histograms_array(//build/toolchain/linux/unbundle:default)
ninja: build stopped: subcommand failed.
./build.sh  432.05s user 23.02s system 226% cpu 3:20.49 total

Consider using sysroot or sysroot scripts inside Docker

Chromium's sysroot scripts have quite a few modifications to maximize compatibility of their builds (see HacksAndPatchesCommon in https://chromium.googlesource.com/chromium/src.git/+/master/build/linux/sysroot_scripts/sysroot-creator.sh). We should include them so we have the same compatibility as official Chrome/Chromium.

There are two ways we could implement this:

  1. Modify the Docker environment with these hacks. We may have to reimplement the hacks ourselves in this case.
  2. Add another build method that creates a sysroot image and configure GN to use it. It should be possible to add this to build.sh, but I don't know how easy that is. It also makes the Docker container a bit redundant.

'Ptrace Protection with Yama LSM' = No in chrome://sandbox/

I notice that chrome://sandbox/ shows everything equal to Yes except:

Layer 1 Sandbox Namespace
PID namespaces Yes
Network namespaces Yes
Seccomp-BPF sandbox Yes
Seccomp-BPF sandbox supports TSYNC Yes
Ptrace Protection with Yama LSM (Broker) No
Ptrace Protection with Yama LSM (Non-broker) No

You are adequately sandboxed.

I have no idea if the above is an issue that needs fixing or anything to worry about at all. So some feedback would be appreciated.

build issue

Not sure how to fix this. I was able to build version 87 on the same box with no issues.

[4505/48832] ACTION //third_party/devtools-frontend/src/front_end:html_entrypoints-generation(//build/toolchain/linux/unbundle:default)
FAILED: gen/third_party/devtools-frontend/src/front_end/devtools_app.html gen/third_party/devtools-frontend/src/front_end/inspector.html gen/third_party/devtools-frontend/src/front_end/js_app.html gen/third_party/devtools-frontend/src/front_end/ndb_app.html gen/third_party/devtools-frontend/src/front_end/node_app.html gen/third_party/devtools-frontend/src/front_end/toolbox.html gen/third_party/devtools-frontend/src/front_end/worker_app.html 
python ../../third_party/node/node.py ../../third_party/devtools-frontend/src/scripts/build/generate_html_entrypoint.js --template ../../third_party/devtools-frontend/src/front_end/entrypoint_template.html --out-directory gen/third_party/devtools-frontend/src/front_end
Traceback (most recent call last):
  File "../../third_party/node/node.py", line 44, in <module>
    RunNode(sys.argv[1:])
  File "../../third_party/node/node.py", line 24, in RunNode
    cmd, cwd=os.getcwd(), stdout=subprocess.PIPE, stderr=subprocess.PIPE)
  File "/usr/lib/python2.7/subprocess.py", line 394, in __init__
    errread, errwrite)
  File "/usr/lib/python2.7/subprocess.py", line 1047, in _execute_child
    raise child_exception
OSError: [Errno 2] No such file or directory

export: `-B/usr/lib/llvm-13/bin': not a valid identifier

This is my first attempt at building, so bear with me.

Using Linux Mint 20.3, I've installed all of the clang-13 packages from the LLVM Ubuntu repo. The download and subsequent unpacking seems to go OK. The problem is with one of the export statements in build.sh. Here's the output from the export statements leading up to the error:

+ export LLVM_VERSION=13
+ LLVM_VERSION=13
+ export AR=llvm-ar-13
+ AR=llvm-ar-13
+ export NM=llvm-nm-13
+ NM=llvm-nm-13
+ export CC=clang-13
+ CC=clang-13
+ export CXX=clang++-13
+ CXX=clang++-13
+ export LLVM_BIN=/usr/lib/llvm-13/bin
+ LLVM_BIN=/usr/lib/llvm-13/bin
++ clang-13 --print-resource-dir
+ _llvm_resource_dir=/usr/lib/llvm-13/lib/clang/13.0.1
+ export CXXFLAGS+=-resource-dir=/usr/lib/llvm-13/lib/clang/13.0.1 -B/usr/lib/llvm-13/bin
+ CXXFLAGS+=-resource-dir=/usr/lib/llvm-13/lib/clang/13.0.1
./build.sh: line 38: export: `-B/usr/lib/llvm-13/bin': not a valid identifier

Line 38 is this: export CXXFLAGS+=-resource-dir=${_llvm_resource_dir} -B${LLVM_BIN}.

Docker compilation failing

Hi,

The compilation via the docker-build.sh is not working for versions 88 and up.

For the version 88, two patches are missing (I have them working here).
For the vesrion 89 and up, still working on it.

Do you want a PR for the "old" versions 88, and a second for 89/90
or one only solving for the latest version (90)?

Thousands of 'warning: unknown warning option'

I am building 80.0.3987.87-2 and unlike in 79.x and previous versions this time I see many many warnings. A few examples:

warning: unknown warning option '-Wno-deprecated-copy'; did you mean '-Wno-deprecated'? [-Wunknown-warning-option]
3 warnings generated.
[4622/38831] CXX obj/third_party/angle/src/...n/angle_vulkan_backend/WindowSurfaceVkXcb.o
warning: unknown warning option '-Wno-bitwise-conditional-parentheses'; did you mean '-Wno-bitwise-op-parentheses'? [-Wunknown-warning-option]
warning: unknown warning option '-Wno-builtin-assume-aligned-alignment' [-Wunknown-warning-option]
warning: unknown warning option '-Wno-deprecated-copy'; did you mean '-Wno-deprecated'? [-Wunknown-warning-option]
3 warnings generated.
[4623/38831] CXX obj/third_party/angle/src/...rer/vulkan/angle_vulkan_backend/FenceNVVk.o
warning: unknown warning option '-Wno-bitwise-conditional-parentheses'; did you mean '-Wno-bitwise-op-parentheses'? [-Wunknown-warning-option]
warning: unknown warning option '-Wno-builtin-assume-aligned-alignment' [-Wunknown-warning-option]
warning: unknown warning option '-Wno-deprecated-copy'; did you mean '-Wno-deprecated'? [-Wunknown-warning-option]
3 warnings generated.

fatal error: 'stddef.h' file not found

Trying to build latest stable version (75.0.3770.90-1.1) I am getting fatal error: 'stddef.h' file not found. More details:

https://susepaste.org/view//e933cd22

I am using the same process and environment which worked fine for previous versions:

clang version 9.0.0 (trunk 355786)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /home/***/builds/llvm-build/bin
Found candidate GCC installation: /usr/lib64/gcc/x86_64-suse-linux/7
Selected GCC installation: /usr/lib64/gcc/x86_64-suse-linux/7
Candidate multilib: .;@m64
Selected multilib: .;@m64

What is this due to and how to fix it please?

95.0.4638.69-1.1 fails to compile on Ubuntu Impish with Clang 13

As the title says, 95.0.4638.69-1.1 fails to compile with Clang 13 on Ubuntu Impish. When Clang gets to compiling ../../third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc, compilation fails with ../../third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc:141:41: error: no matching function for call to 'max'

Cannot build tag 87.0.4280.141-1.1 (Ubuntu 18.04, clang 12)

Attempt to build current master using instructuions fails with message:

../../third_party/blink/renderer/platform/disk_data_allocator.cc:66:10: error: call to deleted constructor of 'blink::DiskDataMetadata'
  return chosen_chunk;
         ^~~~~~~~~~~~
../../third_party/blink/renderer/platform/disk_data_metadata.h:17:3: note: 'DiskDataMetadata' has been explicitly marked deleted here
  DiskDataMetadata(DiskDataMetadata&& other) = delete;
  ^
1 error generated.

Probably was fixed here: chromium/chromium@d62de64#diff-01cd2432d0e8e0055c79a9f3375aaf213a8be0bbaa63c8396317723e7cc45f72

Update portable to 85.*

This binary is still on version 83.0.4103.97-1.1. Could someone update it to at least 85.0.4183.102-1? Portable is from over 3 months ago.

Docker scripts to build portable image

I have created this project that contains docker scripts to build a portable image of ungoogled-chromium. It basically just gathers all the dependencies and sets up clang, etc, then calls the scripts from this repo to start the build.

This will simplify the build a lot because:

  • the only pre-requisite is docker
  • works the same on any linux host
  • the dependencies don't pollute the host system

Will be more than happy to move the repo to this organisation, if there is interest.

No space in C(XX/PP)FLAGS exports in build.sh

I noticed that exporting custom CFLAGS results in concatenation like this (example):

CFLAGS='something'

While build.sh is running this results in:

clang++ ... something-resource-dir=...

instead of:

clang++ ... something -resource-dir=...

Of course it is not a problem to workaround this with an extra space in my custom script which adds CFLAGS however it may be better to add it on lines 34-38 in build.sh, e.g.:

export CFLAGS+=-resource-dir=$("$CC" --print-resource-dir) \

becomes

export CFLAGS+=' -resource-dir='$("$CC" --print-resource-dir) \

BTW why is there a trailing \ on all 3 lines?

Errors when starting

I have built successfully 74.0.3729.131 and I notice the following when starting it from console:

[28541:28541:0512/162121.179639:ERROR:sandbox_linux.cc(368)] InitializeSandbox() called with multiple threads in process gpu-process.
[28541:28541:0512/162121.251040:ERROR:buffer_manager.cc(488)] [.DisplayCompositor]GL ERROR :GL_INVALID_OPERATION : glBufferData: <- error from previous GL command

When I open github.com the following shows up too:

[28547:28561:0512/162147.285717:ERROR:nss_util.cc(748)] After loading Root Certs, loaded==false: NSS error code: -8018

And when I exit:

[28515:28524:0512/162206.088703:ERROR:browser_process_sub_thread.cc(217)] Waited 3 ms for network service

Automate updates

Question: Can we automate updates to this repo whenever ungoogled-chromium updates?

Since the amount of changes (patches, build flags, etc.) is relatively small, I suspect we could write a simple GitHub Actions workflow that tries to refresh all the changes. If it fails part-way, maybe we could have it draft a PR that we can continue working on.

It might help keep this repo up-to-date, because I think most of the devs here don't update this repo because it's more work than it's worth (compared to other platform repos).

Provide any build compatible with Ubuntu 18.04 (which is LTS)

./ungoogled-chromium_91.0.4472.164-1.1.AppImage
results into

/tmp/.mount_ungoogu7xwUu/opt/google/chrome/chrome: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.29' not found (required by /tmp/.mount_ungoogu7xwUu/opt/google/chrome/chrome)
/tmp/.mount_ungoogu7xwUu/opt/google/chrome/chrome: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.28' not found (required by /tmp/.mount_ungoogu7xwUu/opt/google/chrome/chrome)

because

ls -lash /lib/x86_64-linux-gnu/libc.so.6 /lib/x86_64-linux-gnu/libm.so.6
0 lrwxrwxrwx 1 root root 12 Dec  7  2020 /lib/x86_64-linux-gnu/libc.so.6 -> libc-2.27.so*
0 lrwxrwxrwx 1 root root 12 Dec  7  2020 /lib/x86_64-linux-gnu/libm.so.6 -> libm-2.27.so

build 92.0.4515.159-1.1 failed

OS debian

git clone --recurse-submodules https://github.com/ungoogled-software/ungoogled-chromium-portablelinux.git
cd ungoogled-chromium-portablelinux
git checkout --recurse-submodules 92.0.4515.159-1.1
./build.sh

FAILED: brotli
python3 "../../build/toolchain/gcc_link_wrapper.py" --output="./brotli" -- clang++ -fuse-ld=lld -Wl,--build-id=sha1 -fPIC -Wl,-z,noexecstack -Wl,-z,relro -Wl,-z,now -Wl,-z,defs -Wl,--as-needed -Wl,--icf=all -Wl,--color-diagnostics -Wl,-mllvm,-instcombine-lower-dbg-declare=0 -flto=thin -Wl,--thinlto-jobs=all -Wl,--thinlto-cache-dir=thinlto-cache -Wl,--thinlto-cache-policy,cache_size=10%:cache_size_bytes=40g:cache_size_files=100000 -Wl,-mllvm,-import-instr-limit=5 -fwhole-program-vtables -Wl,--no-call-graph-profile-sort -m64 -Wl,-O2 -Wl,--gc-sections -rdynamic -nostdlib++ -Wl,--lto-O0 -fsanitize=cfi-vcall -fsanitize=cfi-icall -pie -Wl,--disable-new-dtags -o "./brotli" -Wl,--start-group @"./brotli.rsp" -Wl,--end-group -ldl -lpthread -lrt
ld.lld: error: undefined symbol: BrotliDefaultFreeFunc

./build.sh output

+ ./out/Default/gn gen out/Default --fail-on-unused-args
Done. Made 16102 targets from 2664 files in 5499ms
+ ninja -C out/Default chrome chrome_sandbox chromedriver
ninja: Entering directory `out/Default'
[3892/49597] LINK ./brotli
FAILED: brotli
python3 "../../build/toolchain/gcc_link_wrapper.py" --output="./brotli" -- clang++ -fuse-ld=lld -Wl,--build-id=sha1 -fPIC -Wl,-z,noexecstack -Wl,-z,relro -Wl,-z,now -Wl,-z,defs -Wl,--as-needed -Wl,--icf=all -Wl,--color-diagnostics -Wl,-mllvm,-instcombine-lower-dbg-declare=0 -flto=thin -Wl,--thinlto-jobs=all -Wl,--thinlto-cache-dir=thinlto-cache -Wl,--thinlto-cache-policy,cache_size=10%:cache_size_bytes=40g:cache_size_files=100000 -Wl,-mllvm,-import-instr-limit=5 -fwhole-program-vtables -Wl,--no-call-graph-profile-sort -m64 -Wl,-O2 -Wl,--gc-sections -rdynamic -nostdlib++ -Wl,--lto-O0 -fsanitize=cfi-vcall -fsanitize=cfi-icall -pie -Wl,--disable-new-dtags -o "./brotli" -Wl,--start-group @"./brotli.rsp" -Wl,--end-group -ldl -lpthread -lrt
ld.lld: error: undefined symbol: BrotliDefaultFreeFunc
>>> referenced by ld-temp.o
>>> lto.tmp:(BrotliDefaultFreeFunc.cfi_jt)

ld.lld: error: undefined symbol: BrotliDefaultAllocFunc
>>> referenced by ld-temp.o
>>> lto.tmp:(BrotliDefaultAllocFunc.cfi_jt)

ld.lld: error: undefined symbol: BrotliEncoderCreateInstance
>>> referenced by brotli.c
>>> thinlto-cache/Thin-84a984.tmp.o:(main)

ld.lld: error: undefined symbol: BrotliEncoderSetParameter
>>> referenced by brotli.c
>>> thinlto-cache/Thin-84a984.tmp.o:(main)
>>> referenced by brotli.c
>>> thinlto-cache/Thin-84a984.tmp.o:(main)
>>> referenced by brotli.c
>>> thinlto-cache/Thin-84a984.tmp.o:(main)
>>> referenced 1 more times

ld.lld: error: undefined symbol: BrotliEncoderCompressStream
>>> referenced by brotli.c
>>> thinlto-cache/Thin-84a984.tmp.o:(main)

ld.lld: error: undefined symbol: BrotliEncoderIsFinished
>>> referenced by brotli.c
>>> thinlto-cache/Thin-84a984.tmp.o:(main)

ld.lld: error: undefined symbol: BrotliEncoderDestroyInstance
>>> referenced by brotli.c
>>> thinlto-cache/Thin-84a984.tmp.o:(main)

ld.lld: error: undefined symbol: BrotliTransformDictionaryWord
>>> referenced by decode.c
>>> thinlto-cache/Thin-b3951b.tmp.o:(ProcessCommands)
>>> referenced by decode.c
>>> thinlto-cache/Thin-b3951b.tmp.o:(SafeProcessCommands)

ld.lld: error: undefined symbol: BrotliGetDictionary
>>> referenced by state.c
>>> thinlto-cache/Thin-3fa7ee.tmp.o:(BrotliDecoderStateInit)

ld.lld: error: undefined symbol: BrotliGetTransforms
>>> referenced by state.c
>>> thinlto-cache/Thin-3fa7ee.tmp.o:(BrotliDecoderStateInit)
clang: error: linker command failed with exit code 1 (use -v to see invocation)
[3901/49597] ACTION //third_party/blink/renderer/bindings:web_idl_database(//build/toolchain/linux/unbundle:default)
ninja: build stopped: subcommand failed.

Extremely slow build ending with error

Hi,

I am still having trouble with building 80.0.3987.106-1.1
What I notice as abnormal is:

  1. Previous versions (79.x and older) used to build in 2-3 hours max. On the same machine 80.0.3987.106-1.1 build has been running for more than 8 hours now and still on [36958/38831] (i.e. still needs quite some time)

  2. The number of "steps" of ninja is almost x2 as mentioned above: [38831]. In previous versions I used to see something like 20-22K

  3. Tons of repeated warnings like these and proceeding to the next (of 38831) step is quite slow:

[37015/38831] CXX obj/third_party/blink/renderer/modules/webgl/webgl/ovr_multiview_2.o
In file included from ../../third_party/blink/renderer/modules/webgl/ovr_multiview_2.cc:5:
In file included from ../../third_party/blink/renderer/modules/webgl/ovr_multiview_2.h:8:
In file included from ../../third_party/blink/renderer/modules/webgl/webgl_extension.h:30:
In file included from ../../third_party/blink/renderer/core/html/canvas/html_canvas_element.h:35:
In file included from ../../third_party/blink/renderer/bindings/core/v8/script_value.h:36:
In file included from ../../third_party/blink/renderer/bindings/core/v8/world_safe_v8_reference.h:9:
In file included from ../../third_party/blink/renderer/platform/bindings/dom_wrapper_world.h:39:
../../third_party/blink/renderer/platform/bindings/script_state.h:197:38: warning: arithmetic between different enumeration types ('gin::ContextEmbedderDataFields' and 'gin::GinEmbedder') [-Wenum-enum-conversion]
      gin::kPerContextDataStartIndex +  // NOLINT(readability/enum_casing)
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^
In file included from ../../third_party/blink/renderer/modules/webgl/ovr_multiview_2.cc:5:
In file included from ../../third_party/blink/renderer/modules/webgl/ovr_multiview_2.h:8:
In file included from ../../third_party/blink/renderer/modules/webgl/webgl_extension.h:30:
In file included from ../../third_party/blink/renderer/core/html/canvas/html_canvas_element.h:38:
In file included from ../../third_party/blink/renderer/core/dom/document.h:39:
In file included from ../../services/metrics/public/cpp/ukm_source_id.h:10:
../../base/metrics/ukm_source_id.h:44:26: warning: definition of implicit copy constructor for 'UkmSourceId' is deprecated because it has a user-declared copy assignment operator [-Wdeprecated-copy]
  constexpr UkmSourceId& operator=(UkmSourceId other) {
                         ^
../../base/metrics/ukm_source_id.h:70:12: note: in implicit copy constructor for 'base::UkmSourceId' first required here
    return UkmSourceId(internal_value);
           ^
In file included from ../../third_party/blink/renderer/modules/webgl/ovr_multiview_2.cc:5:
In file included from ../../third_party/blink/renderer/modules/webgl/ovr_multiview_2.h:8:
In file included from ../../third_party/blink/renderer/modules/webgl/webgl_extension.h:30:
In file included from ../../third_party/blink/renderer/core/html/canvas/html_canvas_element.h:38:
In file included from ../../third_party/blink/renderer/core/dom/document.h:46:
In file included from ../../third_party/blink/renderer/core/dom/container_node.h:31:
In file included from ../../third_party/blink/renderer/core/dom/node.h:38:
../../third_party/blink/renderer/core/style/computed_style_constants.h:159:40: warning: bitwise operation between different enumeration types ('blink::InternalGridAutoFlowAlgorithm' and 'blink::InternalGridAutoFlowDirection') [-Wenum-enum-conversion]
      kInternalAutoFlowAlgorithmSparse | kInternalAutoFlowDirectionRow,
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../third_party/blink/renderer/core/style/computed_style_constants.h:161:40: warning: bitwise operation between different enumeration types ('blink::InternalGridAutoFlowAlgorithm' and 'blink::InternalGridAutoFlowDirection') [-Wenum-enum-conversion]
      kInternalAutoFlowAlgorithmSparse | kInternalAutoFlowDirectionColumn,
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../third_party/blink/renderer/core/style/computed_style_constants.h:163:39: warning: bitwise operation between different enumeration types ('blink::InternalGridAutoFlowAlgorithm' and 'blink::InternalGridAutoFlowDirection') [-Wenum-enum-conversion]
      kInternalAutoFlowAlgorithmDense | kInternalAutoFlowDirectionRow,
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../third_party/blink/renderer/core/style/computed_style_constants.h:165:39: warning: bitwise operation between different enumeration types ('blink::InternalGridAutoFlowAlgorithm' and 'blink::InternalGridAutoFlowDirection') [-Wenum-enum-conversion]
      kInternalAutoFlowAlgorithmDense | kInternalAutoFlowDirectionColumn
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../../third_party/blink/renderer/modules/webgl/ovr_multiview_2.cc:5:
In file included from ../../third_party/blink/renderer/modules/webgl/ovr_multiview_2.h:8:
In file included from ../../third_party/blink/renderer/modules/webgl/webgl_extension.h:30:
In file included from ../../third_party/blink/renderer/core/html/canvas/html_canvas_element.h:49:
In file included from ../../third_party/blink/renderer/platform/graphics/canvas_resource_provider.h:10:
In file included from ../../third_party/blink/renderer/platform/graphics/canvas_resource.h:11:
../../gpu/command_buffer/common/sync_token.h:35:3: warning: definition of implicit copy assignment operator for 'SyncToken' is deprecated because it has a user-declared copy constructor [-Wdeprecated-copy]
  SyncToken(const SyncToken& other);
  ^
../../components/viz/common/resources/transferable_resource.h:60:33: note: in implicit copy assignment operator for 'gpu::SyncToken' first required here
    r.mailbox_holder.sync_token = sync_token;
                                ^
7 warnings generated.

What is the reason for this slowness and the increase in "steps"?

FWIW: For build 80.x I am using llvm/clang which I build from Git:

clang version 10.0.0 (https://github.com/llvm/llvm-project.git 90c78073f73eac58f4f8b4772a896dc8aac023bc)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /opt/llvm/bin
Found candidate GCC installation: /usr/lib64/gcc/x86_64-suse-linux/7
Selected GCC installation: /usr/lib64/gcc/x86_64-suse-linux/7
Candidate multilib: .;@m64
Selected multilib: .;@m64

For version 79.x I used llvm/clang which I build from SVN (like Google does, not sure why their python script still refers to SVN as LLVM has moved to git):

clang version 10.0.0 (trunk 373424)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /opt/llvm/bin
Found candidate GCC installation: /usr/lib64/gcc/x86_64-suse-linux/7
Selected GCC installation: /usr/lib64/gcc/x86_64-suse-linux/7
Candidate multilib: .;@m64
Selected multilib: .;@m64

what are plans and current situation wrt to published binaries?

What are plans and is the current situation wrt to publishing binaries, in particular those that can be used on *.deb based systems?

At the time of writing the ungoogled-chromium-debian repository has seen its last commit in November and seems to be stalled? Is @braewoods still active there?

Also at this moment the last portablelinux release seems to be chrome v95, meanwhile chromium in Debian has seen a v97 release.

@Eloston states that he won't use OBS for now for portablelinux in order not to interfere with the OBS Debian builds and thus portablelinux binaries do not get built automatically. There are issues #86 and #50 requesting official portable OBS builds and tentatively asking if using OBS would be OK and #50 offering help.

Meanwhile the portablelinux repository is seeing commits by @Eloston but there are seemingly no publicly available binaries as a result?

Is the problem that the main committers (@braewoods and @Eloston ?) are lacking time and/or motivation to deal with the infrastructure and tickets here?

I guess it should be possible for someone to fork these projects once more and set up CI for portablelinux but then again, the chaos of these many repos is already very hard to understand and to follow so yet another fork wouldn't improve this particular problematic aspect?

@berkley4 seems to have taken that road with his fork that adds other patches, makes releases however is also at v96.

So I'd like to ask if the main committers could maybe chime in and tell where they want this project and these repos to go?

Docker build fails

I tried the Docker build without success.

Tag 84.0.4147.125-1.1

Log tail:

...
ninja: Entering directory `/repo/build/src/out/Release/gn_build'
[188/188] LINK gn
+ ./out/Default/gn gen out/Default --fail-on-unused-args
Done. Made 11924 targets from 2201 files in 3462ms
+ ninja -C out/Default chrome chrome_sandbox chromedriver
ninja: Entering directory `out/Default'
ninja: error: '/usr/share/xcb/bigreq.xml', needed by 'gen/ui/gfx/x/bigreq_undef.h', missing and no known rule to make it

Deprecated Python Modules Prevent Building

I cannot build on opensuse tumbleweed currently as several files contain deprecated use of StringIO and cStringIO

[1061/40414] ACTION //chrome/test/chromedriver:embed_extension_in_cpp(//build/toolchain/linux/unbundle:default) FAILED: gen/chrome/test/chromedriver/chrome/embedded_automation_extension.cc gen/chrome/test/chromedriver/chrome/embedded_automation_extension.h python ../../chrome/test/chromedriver/embed_extension_in_cpp.py --directory gen/chrome/test/chromedriver/chrome ../../chrome/test/chromedriver/extension/background.js ../../chrome/test/chromedriver/extension/manifest.json Traceback (most recent call last): File "../../chrome/test/chromedriver/embed_extension_in_cpp.py", line 11, in <module> import StringIO ModuleNotFoundError: No module named 'StringIO' [1070/40414] ACTION //extensions/common/api:generated_api_json_strings_bundle_generator_schema(//build/toolchain/linux/unbundle:default) ninja: build stopped: subcommand failed.

What would be my best course of action to complete a build?
Thanks,

Both normal and docker builds fail

Warnings blasting for literally every link, and building still fails on normal and docker version.

warning: unknown warning option '-Wno-max-tokens'; did you mean '-Wno-extra-tokens'? [-Wunknown-warning-option]
3 warnings generated.
[1905/48832] LINK ./chrome_sandbox
FAILED: chrome_sandbox
python "../../build/toolchain/gcc_link_wrapper.py" --output="./chrome_sandbox" -- clang++ -pie -fuse-ld=lld -Wl,--build-id=sha1 -fPIC -Wl,-z,noexecstack -Wl,-z,relro -Wl,-z,now -Wl,-z,defs -Wl,--as-needed -Wl,--icf=all -Wl,--color-diagnostics -Wl,-mllvm,-instcombine-lower-dbg-declare=0 -flto=thin -Wl,--thinlto-jobs=all -Wl,--thinlto-cache-dir=thinlto-cache -Wl,--thinlto-cache-policy,cache_size=10\%:cache_size_bytes=40g:cache_size_files=100000 -Wl,-mllvm,-import-instr-limit=5 -fwhole-program-vtables -Wl,--no-call-graph-profile-sort -m64 -Wl,-O2 -Wl,--gc-sections -rdynamic -nostdlib++ -Wl,--lto-O0 -fsanitize=cfi-vcall -fsanitize=cfi-icall -pie -Wl,--disable-new-dtags -o "./chrome_sandbox" -Wl,--start-group @"./chrome_sandbox.rsp"  -Wl,--end-group  -ldl -lpthread -lrt
ld.lld: error: --thinlto-jobs=all: number expected, but got 'all'
ld.lld: error: --thinlto-jobs: number of threads must be > 0
clang: error: linker command failed with exit code 1 (use -v to see invocation)
[1908/48832] CXX obj/ppapi/cpp/objects/file_io.o
warning: unknown warning option '-Wno-psabi' [-Wunknown-warning-option]
warning: unknown warning option '-Wno-non-c-typedef-for-linkage'; did you mean '-Wno-return-type-c-linkage'? [-Wunknown-warning-option]
warning: unknown warning option '-Wno-max-tokens'; did you mean '-Wno-extra-tokens'? [-Wunknown-warning-option]
3 warnings generated.
[1911/48832] CXX obj/skia/skia_core_and_effects/SkDropShadowImageFilter.o
warning: unknown warning option '-Wno-psabi' [-Wunknown-warning-option]
warning: unknown warning option '-Wno-non-c-typedef-for-linkage'; did you mean '-Wno-return-type-c-linkage'? [-Wunknown-warning-option]
warning: unknown warning option '-Wno-max-tokens'; did you mean '-Wno-extra-tokens'? [-Wunknown-warning-option]
3 warnings generated.
[1914/48832] CXX obj/skia/skia_core_and_effects/SkDisplacementMapImageFilter.o
warning: unknown warning option '-Wno-psabi' [-Wunknown-warning-option]
warning: unknown warning option '-Wno-non-c-typedef-for-linkage'; did you mean '-Wno-return-type-c-linkage'? [-Wunknown-warning-option]
warning: unknown warning option '-Wno-max-tokens'; did you mean '-Wno-extra-tokens'? [-Wunknown-warning-option]
3 warnings generated.
ninja: build stopped: subcommand failed.
ungoogled-chromium-portablelinux on ๎‚  HEAD (3821a20) took 2m50s โฏ

Same failiure on both tries, chrome_sandbox.

What am I missing here?

I did the following:
apt install clang-10 lld-10 llvm-10-dev python python3 ninja-build nodejs

and just followed the guide from here

I also used the 90.0.4430.85-1.1 tag.

Ubuntu 18.04 LTS: Can't run

https://github.com/ungoogled-software/ungoogled-chromium-portablelinux/blob/master/README.md

Portable Linux builds can run on any Linux distribution (that regular Chromium supports).

ungoogled-chromium_91.0.4472.164-1.1_linux$ ./chrome
./chrome: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.29' not found (required by ./chrome)
./chrome: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.28' not found (required by ./chrome)

Ubuntu 18.04

ungoogled-chromium_91.0.4472.164-1.1_linux.tar.xz downloaded from: https://ungoogled-software.github.io/ungoogled-chromium-binaries/releases/linux_portable/64bit/91.0.4472.164-1.1

Portable Linux 87.0.4280.67-1.1 - Segmentation Fault with v85 settings, Singleton links appear, and output errors

Portable Linux Ungoogled Chromium ('UC') v87.0.4280.67-1.1, offered by @LordTwix, was installed on Calculate Linux (Gentoo-compatible) 20.6. The following three issues manifested, the last of which is still outstanding (the more up-to-date Portable Linux Ungoogled Chromium version 87.0.4280.88-1.1 offered by @mcstrugs was not tested here):-

  1. Whenever Portable Linux UC v87.0.4280.67-1.1 was launched from a terminal, keeping settings from Portable Linux UC v85, this terminated with a 'Segmentation Fault' when launched from a new /bin/usr/chromium soft link, regardless whether it was launched from a new and --incognito switch or not, and regardless of the variation of urls specified, if any. Perhaps the original ~/.config/chromium settings folder - carried over from UC v85 and probably older versions - became corrupted at one point; that settings folder had since been used several times lately with the out-of-the-box Calculate-Linux-/Gentoo-provided Chromium v87.0.4280.66 offered on a new system install.
    Solution - Ungoogled-Chromium Portable Version 87.0.4280.67-1.1 version opened correctly with a clean UC install:
    Step 1) Export bookmarks while running v85 (or other version, perhaps) in the standard way for later import;
    Step 2) Backup the v85 ~/.config/chromium directory, say, to ~/.config/chromiumV85 for safekeeping in case you later want to revert to v85;
    Step 3) Launch the new Portable Version 87 version, which forces UC to automatically create a new chromium settings folder for this new version.
    This works so far.

  2. Therefore, a newly created ~/.config/chromium directory was created (clean UC install); and bookmarks backed up from v85 were then proceded to be imported. Freshly-created search engines were entered with freshly-installed extensions for v87 and freshly-specified cookie policies and font settings. In order to save setup time for other user(s) on this system, this new directory with its settings was attempted to be copied over from the first user to another, and ownership was attributed to, say, 'newuser':

sudo chown newuser:newuser -R /home/newuser/.config/chromium

Although, as expected, no segmentation faults occurred for the user logged in as 'newuser', the following did manifest:-
a) Cookie policies, font settings and v87 extensions at least, as set by the first user, somehow did not carry over despite having being set by the first user in a fresh v87 install and file ownerships having been set for 'newuser'.
b) SingletonCookie, SingletonLock and SingletonSocket were found listed in of newuser's imported .config/chromium v87 directory, copied over chromium from the first user. Those 'Singleton' elements were perhaps simply due to extensions, as mentioned here and here (or perhaps see this also). Indeed, the extensions didn't load, nor the settings, although the bookmarks and search engines did carry over.

  1. From memory, a few days ago, UC's chrome-wrapper launcher in this Linux Portable v87 would hang after launching from a terminal when specifying several websites as parameters (see steps reproduced below from memory). UC v87 was launched as shown below (with a similar list of urls used as parameters although probably launching by using soft link /usr/bin/chromium pointing to chrome-wrapper instead), and after several minutes, the UC session was manually attempted to be shut down by clicking the 'x' at the top right of UC's window, but the terminal from which chrome-wrapper was launched then did not immediately offer a '$' prompt; the terminal just 'hung' displaying perhaps no new messages. I didn't make much deal of it and after a moment I just decided to close the terminal as I didn't get a new prompt. Today, I could not reproduce this. I doubt that the .config/chromium folder for v85 had still been used, which had caused a hiccup for the v87 session, as in cases 1. and 2. above. However, when launching UC v87 today with the .config/chromium folder deleted (so as to get a clean settings folder generated), UC developers may want to be aware of some error messages that were generated before shutting down UC by clicking the 'x' at the top right of UC's window after just two minutes without clicking on anything in the opened tabs. EDIT: I accidentally tried this experiment publishing the results here for UC v85, so I have edited that out and retried the following command twice with v87:
$ ./chrome-wrapper 'https://gnews.org/' 'https://nitter.net/CHHR01'  'https://nitter.net/Stars4P'  'https://nitter.net/roccogalatilaw'  'https://nitter.net/Rothbard1776'  'https://nitter.net/SidneyPowell1' 'https://nitter.net/dmills3710'  'https://nitter.net/iNewsTV' 'https://nitter.net/ElizabetCovfefe' 'https://nitter.net/GeorgWebb' 'https://nitter.net/search?f=tweets&q=pufpufpafpaf+lang%3Aen'  'https://nitter.net/anthonyfenton'  'https://nitter.net/frank275'  'https://nitter.net/SaRaAshcraft'  'https://nitter.net/LucindDionysius'  'https://nitter.net/boginjaproleca'  'https://nitter.net/n0nmanifest' 'https://nitter.net/jeffreyprather' 'https://therightscoop.com/' 'https://nitter.net/JuliansRum' 'https://nitter.net/Stars4P' 'https://nitter.net/kraken_wood' 

Strangely, the first time I tried to repeat this experiment today by using the following command got partly rehashed, yet a screenshot taken with xfce4-screenshooter somehow only displays a slither (it seems to be a slither of my background wallpaper):-

github com__Eloston__ungoogled-chromium__issues-PortLin87 0 4280 67-1 1 - Segmentation Fault with v85 settings, Singleton links appear, and four output errors - 9 12 2

Here is the output from that first retrial, and it produced a 'hashed prompt':

$ cd /opt/ungoogled-chromium_87.0.4280.67-1.1_linux/
thankGdasuser /opt/ungoogled-chromium_87.0.4280.67-1.1_linux $ ./chrome-wrapper 'https://gnethankGdasuser /opt/ungoogled-chromium_87.0.4280.67-1.1_linux $ ./chrome-wrapper thankGdasuser /opt/ungoogled-chromium_87.0.4280.67-1.1_linux $ ./chrome-wrapper 'https://gnews.org/' 'https://nitter.net/CHHR01'  'https://nitter.net/Stars4P'  'https://nitter.net/roccogalatilaw'  'https://nitter.net/Rothbard1776'  'https://nitter.net/SidneyPowell1' 'https://nitter.net/dmills3710'  'https://nitter.net/iNewsTV' 'https://nitter.net/ElizabetCovfefe' 'https://nitter.net/GeorgWebb' 'https://nitter.net/search?f=tweets&q=pufpufpafpaf+lang%3Aen'  'https://nitter.net/anthonyfenton'  'https://nitter.net/frank275'  'https://nitter.net/SaRaAshcraft'  'https://nitter.net/LucindDionysius'  'https://nitter.net/boginjaproleca'  'https://nitter.net/n0nmanifest' 'https://nitter.net/jeffreyprather' 'https://therightscoop.com/' 'https://nitter.net/JuliansRum' 'https://nitter.net/Stars4P' 'https://nitter.net/kraken_wood' 
[32728:32728:1209/172110.411662:ERROR:sandbox_linux.cc(374)] InitializeSandbox() called with multiple threads in process gpu-process.
[32731:32747:1209/172111.370291:ERROR:ev_root_ca_metadata.cc(841)] Failed to register OID: 0
[449:1:1209/172118.130579:ERROR:webrtc_sdp.cc(396)] Failed to parse: "a=msid: ". Reason: Missing track ID in msid attribute.
[449:1:1209/172118.131935:ERROR:webrtc_sdp.cc(396)] Failed to parse: "a=msid: ". Reason: Missing track ID in msid attribute.
[449:1:1209/172118.132189:ERROR:webrtc_sdp.cc(396)] Failed to parse: "a=msid: ". Reason: Missing track ID in msid attribute.
[449:1:1209/172118.132410:ERROR:webrtc_sdp.cc(396)] Failed to parse: "a=msid: ". Reason: Missing track ID in msid attribute.
[449:1:1209/172118.132620:ERROR:rtc_peer_connection_handler.cc(2575)] Failed to create native session description. Type: "offer" SDP: "v=0\r\no=- 3097479903649175884 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0\r\na=msid-semantic: WMS\r\nm=application 9 UDP/TLS/RTP/SAVPF 118\r\nc=IN IP4 0.0.0.0\r\nb=AS:30\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:JpYu\r\na=ice-pwd:/sTFEE3rzW38rt8NI20ABN+s\r\na=ice-options:trickle\r\na=fingerprint:sha-256 38:AA:10:C2:44:A6:7E:33:E0:61:50:98:34:CB:6B:D3:CA:36:CE:64:74:98:1C:8B:EF:2F:64:8A:4C:14:6D:93\r\na=setup:actpass\r\na=mid:0\r\na=sendrecv\r\na=msid: \r\na=rtcp-mux\r\na=rtpmap:118 google-data/90000\r\na=ssrc:713266884 cname:xAFwYrx7utD/bNy/\r\na=ssrc:713266884 msid:- \r\na=ssrc:713266884 mslabel:-\r\na=ssrc:713266884 label:\r\n"
[449:1:1209/172118.132747:ERROR:rtc_peer_connection_handler.cc(1367)] "Failed to parse SessionDescription. a=msid:  Missing track ID in msid attribute."
thankGdasuser /opt/ungoogled-chromium_87.0.4280.67-1.1_linux $ 

Therefore there were several artefacts in that first retrial:-

Error 3A: Lines 2-3 in the terminal output display the original './chrome-wrapper' command partly rehashed. Maybe this is due to a bug on my system installation, as with the following error.

Error 3B: Line 2 shows the command, but starting with an URL containing the username 'thankGdasuser' in part:

 $ ./chrome-wrapper 'https://gnethankGdasuser

The prompt, presumably, should be username (thankGdasuser), path (/opt/ungoogled-chromium_87.0.4280.67-1.1_linux), prompt symbol ($), as follows:

thankGdasuser /opt/ungoogled-chromium_87.0.4280.67-1.1_linux $

Inspecting the output of that first retrial, there were further artefacts:-

ERROR 3C: 'ERROR:sandbox_linux.cc(374)] InitializeSandbox() called with multiple threads in process gpu-process.'

ERROR 3D: 'ERROR:ev_root_ca_metadata.cc(841)] Failed to register OID: 0'

ERROR 3E: 'ERROR:webrtc_sdp.cc(396)] Failed to parse: "a=msid: ". Reason: Missing track ID in msid attribute.'
This occurs four times, sequentially, as shown above.

ERROR 3F: 'ERROR:rtc_peer_connection_handler.cc(2575)] Failed to create native session description.

ERROR 3G: 'ERROR:rtc_peer_connection_handler.cc(1367)] "Failed to parse SessionDescription. a=msid: Missing track ID in msid attribute."'

Seeing how the screenshot was just a slither, I tried to reproduce the error by again removing the .config/chromium settings folder for a clean install. This second time, a readable screenshot was successful, but somehow only two errors reported:

github com__Eloston__ungoogled-chromium__issues-PortLin87 0 4280 67-1 1 - Segmentation Fault with v85 settings, Singleton links appear, and four output errors - 9 12 2SSECONDSCREENSHOT

Output from this second retrial:

thankGdasuser /opt/ungoogled-chromium_87.0.4280.67-1.1_linux $ ./chrome-wrapper 'https://gnews.org/' 'https://nitter.net/CHHR01'  'https://nitter.net/Stars4P'  'https://nitter.net/roccogalatilaw'  'https://nitter.net/Rothbard1776'  'https://nitter.net/SidneyPowell1' 'https://nitter.net/dmills3710'  'https://nitter.net/iNewsTV' 'https://nitter.net/ElizabetCovfefe' 'https://nitter.net/GeorgWebb' 'https://nitter.net/search?f=tweets&q=pufpufpafpaf+lang%3Aen'  'https://nitter.net/anthonyfenton'  'https://nitter.net/frank275'  'https://nitter.net/SaRaAshcraft'  'https://nitter.net/LucindDionysius'  'https://nitter.net/boginjaproleca'  'https://nitter.net/n0nmanifest' 'https://nitter.net/jeffreyprather' 'https://therightscoop.com/' 'https://nitter.net/JuliansRum' 'https://nitter.net/Stars4P' 'https://nitter.net/kraken_wood' 
[11296:11296:1209/175830.548160:ERROR:sandbox_linux.cc(374)] InitializeSandbox() called with multiple threads in process gpu-process.
[11300:11341:1209/175831.340934:ERROR:ev_root_ca_metadata.cc(841)] Failed to register OID: 0
thankGdasuser /opt/ungoogled-chromium_87.0.4280.67-1.1_linux $ 

Therefore, there were only two errors in this second retrial:-
ERROR 3H: 'ERROR:sandbox_linux.cc(374)] InitializeSandbox() called with multiple threads in process gpu-process.'

ERROR 3I: 'ERROR:ev_root_ca_metadata.cc(841)] Failed to register OID: 0'

Some UC sessions apparently generate a bit more cooling fan activity than with v85.
Thank you very much for your work.

Dockered build for version 94.0.4606.81-1.1 fails

git clone --recurse-submodules https://github.com/ungoogled-software/ungoogled-chromium-portablelinux.git
cd ungoogled-chromium-portablelinux
git checkout --recurse-submodules tags/94.0.4606.81-1.1

# Further commands were taken from docker-build.sh, because running ./docker-build.sh produces an error about unknown command 'pushd'
git submodule update --init --recursive
mkdir -p build
cd docker-stage1
docker build --rm -f "Dockerfile" -t ug-chromium-builder-stage1:latest ./
cd ..
docker build --rm -f "Dockerfile-stage2" -t ug-chromium-builder-stage2:latest ./

# so far, so good.
docker run -ti -v `pwd`/build:/repo/build ug-chromium-builder-stage2:latest bash -c "./build.sh && ./package.sh" # This fails

tail of the build when errors start to show up:

[5/50245] CC obj/base/third_party/xdg_mime/xdg_mime/xdgmimeparent.o
FAILED: obj/base/third_party/xdg_mime/xdg_mime/xdgmimeparent.o
clang -MMD -MF obj/base/third_party/xdg_mime/xdg_mime/xdgmimeparent.o.d -DUSE_UDEV -DUSE_AURA=1 -DUSE_GLIB=1 -DUSE_NSS_CERTS=1 -DUSE_OZONE=1 -DUSE_X11=1 -DOFFICIAL_BUILD -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DNO_UNWIND_TABLES -D_GNU_SOURCE -DCR_CLANG_REVISION=\"llvmorg-14-init-1002-gb5e470aa-1\" -D_LIBCPP_ABI_UNSTABLE -D_LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS -D_LIBCXXABI_DISABLE_VISIBILITY_ANNOTATIONS -D_LIBCPP_ENABLE_NODISCARD -DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7 -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -I../.. -Igen -I../../buildtools/third_party/libc++ -fno-delete-null-pointer-checks -fno-ident -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector -fno-unwind-tables -fno-asynchronous-unwind-tables -fPIC -pthread -fcolor-diagnostics -fmerge-all-constants -fcrash-diagnostics-dir=../../tools/clang/crashreports -mllvm -instcombine-lower-dbg-declare=0 -ffp-contract=off -flto=thin -fsplit-lto-unit -fwhole-program-vtables -fcomplete-member-pointers -m64 -march=x86-64 -msse3 -ffile-compilation-dir=. -no-canonical-prefixes -O2 -fdata-sections -ffunction-sections -fno-unique-section-names -fno-omit-frame-pointer -g0 -ftrivial-auto-var-init=pattern -fsanitize=cfi-vcall -fsanitize-ignorelist=../../tools/cfi/ignores.txt -fsanitize=cfi-icall -fvisibility=hidden -Wheader-hygiene -Wstring-conversion -Wtautological-overlap-compare -Wall -Wno-unused-variable -Wno-c++11-narrowing -Wno-misleading-indentation -Wno-missing-field-initializers -Wno-unused-parameter -Wloop-analysis -Wno-unneeded-internal-declaration -Wenum-compare-conditional -Wno-psabi -Wno-ignored-pragma-optimize -Wno-builtin-assume-aligned-alignment -Wno-deprecated-copy -Wno-unused-but-set-parameter -Wno-unused-but-set-variable -Wno-inline-asm -std=c11 -resource-dir=/usr/lib/llvm-11/lib/clang/11.0.1 -resource-dir=/usr/lib/llvm-11/lib/clang/11.0.1 -c ../../base/third_party/xdg_mime/xdgmimeparent.c -o obj/base/third_party/xdg_mime/xdg_mime/xdgmimeparent.o
clang: error: unknown argument: '-ffile-compilation-dir=.'
clang: error: unknown argument: '-fsanitize-ignorelist=../../tools/cfi/ignores.txt'
[6/50245] CXX obj/base/third_party/double_conversion/double_conversion/fixed-dtoa.o
FAILED: obj/base/third_party/double_conversion/double_conversion/fixed-dtoa.o
clang++ -MMD -MF obj/base/third_party/double_conversion/double_conversion/fixed-dtoa.o.d -DUSE_UDEV -DUSE_AURA=1 -DUSE_GLIB=1 -DUSE_NSS_CERTS=1 -DUSE_OZONE=1 -DUSE_X11=1 -DOFFICIAL_BUILD -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DNO_UNWIND_TABLES -D_GNU_SOURCE -DCR_CLANG_REVISION=\"llvmorg-14-init-1002-gb5e470aa-1\" -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D_FORTIFY_SOURCE=2 -D_LIBCPP_ABI_UNSTABLE -D_LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS -D_LIBCXXABI_DISABLE_VISIBILITY_ANNOTATIONS -D_LIBCPP_ENABLE_NODISCARD -DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7 -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -I../.. -Igen -I../../buildtools/third_party/libc++ -fno-delete-null-pointer-checks -fno-ident -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector -fno-unwind-tables -fno-asynchronous-unwind-tables -fPIC -pthread -fcolor-diagnostics -fmerge-all-constants -fcrash-diagnostics-dir=../../tools/clang/crashreports -mllvm -instcombine-lower-dbg-declare=0 -ffp-contract=off -flto=thin -fsplit-lto-unit -fwhole-program-vtables -fcomplete-member-pointers -m64 -march=x86-64 -msse3 -ffile-compilation-dir=. -no-canonical-prefixes -Wall -Wextra -Wimplicit-fallthrough -Wunreachable-code -Wthread-safety -Wextra-semi -Wno-missing-field-initializers -Wno-unused-parameter -Wloop-analysis -Wno-unneeded-internal-declaration -Wenum-compare-conditional -Wno-psabi -Wno-ignored-pragma-optimize -Wno-builtin-assume-aligned-alignment -Wno-deprecated-copy -Wno-unused-but-set-parameter -Wno-unused-but-set-variable -Wno-inline-asm -O2 -fdata-sections -ffunction-sections -fno-unique-section-names -fno-omit-frame-pointer -g0 -ftrivial-auto-var-init=pattern -fsanitize=cfi-vcall -fsanitize-ignorelist=../../tools/cfi/ignores.txt -fsanitize=cfi-icall -fvisibility=hidden -Wheader-hygiene -Wstring-conversion -Wtautological-overlap-compare -Wno-unused-const-variable -Wno-unused-function -std=c++14 -fno-trigraphs -Wno-trigraphs -fno-exceptions -fno-rtti -nostdinc++ -isystem../../buildtools/third_party/libc++/trunk/include -isystem../../buildtools/third_party/libc++abi/trunk/include -fvisibility-inlines-hidden -resource-dir=/usr/lib/llvm-11/lib/clang/11.0.1 -resource-dir=/usr/lib/llvm-11/lib/clang/11.0.1 -c ../../base/third_party/double_conversion/double-conversion/fixed-dtoa.cc -o obj/base/third_party/double_conversion/double_conversion/fixed-dtoa.o
clang++: error: unknown argument: '-ffile-compilation-dir=.'
clang++: error: unknown argument: '-fsanitize-ignorelist=../../tools/cfi/ignores.txt'
[7/50245] CXX obj/base/third_party/xdg_user_dirs/xdg_user_dirs/xdg_user_dir_lookup.o
FAILED: obj/base/third_party/xdg_user_dirs/xdg_user_dirs/xdg_user_dir_lookup.o
clang++ -MMD -MF obj/base/third_party/xdg_user_dirs/xdg_user_dirs/xdg_user_dir_lookup.o.d -DUSE_UDEV -DUSE_AURA=1 -DUSE_GLIB=1 -DUSE_NSS_CERTS=1 -DUSE_OZONE=1 -DUSE_X11=1 -DOFFICIAL_BUILD -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DNO_UNWIND_TABLES -D_GNU_SOURCE -DCR_CLANG_REVISION=\"llvmorg-14-init-1002-gb5e470aa-1\" -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D_FORTIFY_SOURCE=2 -D_LIBCPP_ABI_UNSTABLE -D_LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS -D_LIBCXXABI_DISABLE_VISIBILITY_ANNOTATIONS -D_LIBCPP_ENABLE_NODISCARD -DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7 -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -I../.. -Igen -I../../buildtools/third_party/libc++ -fno-delete-null-pointer-checks -fno-ident -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector -fno-unwind-tables -fno-asynchronous-unwind-tables -fPIC -pthread -fcolor-diagnostics -fmerge-all-constants -fcrash-diagnostics-dir=../../tools/clang/crashreports -mllvm -instcombine-lower-dbg-declare=0 -ffp-contract=off -flto=thin -fsplit-lto-unit -fwhole-program-vtables -fcomplete-member-pointers -m64 -march=x86-64 -msse3 -ffile-compilation-dir=. -no-canonical-prefixes -Wall -Wextra -Wimplicit-fallthrough -Wunreachable-code -Wthread-safety -Wextra-semi -Wno-missing-field-initializers -Wno-unused-parameter -Wloop-analysis -Wno-unneeded-internal-declaration -Wenum-compare-conditional -Wno-psabi -Wno-ignored-pragma-optimize -Wno-builtin-assume-aligned-alignment -Wno-deprecated-copy -Wno-unused-but-set-parameter -Wno-unused-but-set-variable -Wno-inline-asm -O2 -fdata-sections -ffunction-sections -fno-unique-section-names -fno-omit-frame-pointer -g0 -ftrivial-auto-var-init=pattern -fsanitize=cfi-vcall -fsanitize-ignorelist=../../tools/cfi/ignores.txt -fsanitize=cfi-icall -fvisibility=hidden -Wheader-hygiene -Wstring-conversion -Wtautological-overlap-compare -std=c++14 -fno-trigraphs -Wno-trigraphs -fno-exceptions -fno-rtti -nostdinc++ -isystem../../buildtools/third_party/libc++/trunk/include -isystem../../buildtools/third_party/libc++abi/trunk/include -fvisibility-inlines-hidden -resource-dir=/usr/lib/llvm-11/lib/clang/11.0.1 -resource-dir=/usr/lib/llvm-11/lib/clang/11.0.1 -c ../../base/third_party/xdg_user_dirs/xdg_user_dir_lookup.cc -o obj/base/third_party/xdg_user_dirs/xdg_user_dirs/xdg_user_dir_lookup.o
clang++: error: unknown argument: '-ffile-compilation-dir=.'
clang++: error: unknown argument: '-fsanitize-ignorelist=../../tools/cfi/ignores.txt'
[8/50245] CC obj/base/third_party/xdg_mime/xdg_mime/xdgmimemagic.o
FAILED: obj/base/third_party/xdg_mime/xdg_mime/xdgmimemagic.o
clang -MMD -MF obj/base/third_party/xdg_mime/xdg_mime/xdgmimemagic.o.d -DUSE_UDEV -DUSE_AURA=1 -DUSE_GLIB=1 -DUSE_NSS_CERTS=1 -DUSE_OZONE=1 -DUSE_X11=1 -DOFFICIAL_BUILD -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DNO_UNWIND_TABLES -D_GNU_SOURCE -DCR_CLANG_REVISION=\"llvmorg-14-init-1002-gb5e470aa-1\" -D_LIBCPP_ABI_UNSTABLE -D_LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS -D_LIBCXXABI_DISABLE_VISIBILITY_ANNOTATIONS -D_LIBCPP_ENABLE_NODISCARD -DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7 -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -I../.. -Igen -I../../buildtools/third_party/libc++ -fno-delete-null-pointer-checks -fno-ident -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector -fno-unwind-tables -fno-asynchronous-unwind-tables -fPIC -pthread -fcolor-diagnostics -fmerge-all-constants -fcrash-diagnostics-dir=../../tools/clang/crashreports -mllvm -instcombine-lower-dbg-declare=0 -ffp-contract=off -flto=thin -fsplit-lto-unit -fwhole-program-vtables -fcomplete-member-pointers -m64 -march=x86-64 -msse3 -ffile-compilation-dir=. -no-canonical-prefixes -O2 -fdata-sections -ffunction-sections -fno-unique-section-names -fno-omit-frame-pointer -g0 -ftrivial-auto-var-init=pattern -fsanitize=cfi-vcall -fsanitize-ignorelist=../../tools/cfi/ignores.txt -fsanitize=cfi-icall -fvisibility=hidden -Wheader-hygiene -Wstring-conversion -Wtautological-overlap-compare -Wall -Wno-unused-variable -Wno-c++11-narrowing -Wno-misleading-indentation -Wno-missing-field-initializers -Wno-unused-parameter -Wloop-analysis -Wno-unneeded-internal-declaration -Wenum-compare-conditional -Wno-psabi -Wno-ignored-pragma-optimize -Wno-builtin-assume-aligned-alignment -Wno-deprecated-copy -Wno-unused-but-set-parameter -Wno-unused-but-set-variable -Wno-inline-asm -std=c11 -resource-dir=/usr/lib/llvm-11/lib/clang/11.0.1 -resource-dir=/usr/lib/llvm-11/lib/clang/11.0.1 -c ../../base/third_party/xdg_mime/xdgmimemagic.c -o obj/base/third_party/xdg_mime/xdg_mime/xdgmimemagic.o
clang: error: unknown argument: '-ffile-compilation-dir=.'
clang: error: unknown argument: '-fsanitize-ignorelist=../../tools/cfi/ignores.txt'
[9/50245] CXX obj/base/third_party/double_conversion/double_conversion/fast-dtoa.o
FAILED: obj/base/third_party/double_conversion/double_conversion/fast-dtoa.o
clang++ -MMD -MF obj/base/third_party/double_conversion/double_conversion/fast-dtoa.o.d -DUSE_UDEV -DUSE_AURA=1 -DUSE_GLIB=1 -DUSE_NSS_CERTS=1 -DUSE_OZONE=1 -DUSE_X11=1 -DOFFICIAL_BUILD -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DNO_UNWIND_TABLES -D_GNU_SOURCE -DCR_CLANG_REVISION=\"llvmorg-14-init-1002-gb5e470aa-1\" -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D_FORTIFY_SOURCE=2 -D_LIBCPP_ABI_UNSTABLE -D_LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS -D_LIBCXXABI_DISABLE_VISIBILITY_ANNOTATIONS -D_LIBCPP_ENABLE_NODISCARD -DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7 -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -I../.. -Igen -I../../buildtools/third_party/libc++ -fno-delete-null-pointer-checks -fno-ident -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector -fno-unwind-tables -fno-asynchronous-unwind-tables -fPIC -pthread -fcolor-diagnostics -fmerge-all-constants -fcrash-diagnostics-dir=../../tools/clang/crashreports -mllvm -instcombine-lower-dbg-declare=0 -ffp-contract=off -flto=thin -fsplit-lto-unit -fwhole-program-vtables -fcomplete-member-pointers -m64 -march=x86-64 -msse3 -ffile-compilation-dir=. -no-canonical-prefixes -Wall -Wextra -Wimplicit-fallthrough -Wunreachable-code -Wthread-safety -Wextra-semi -Wno-missing-field-initializers -Wno-unused-parameter -Wloop-analysis -Wno-unneeded-internal-declaration -Wenum-compare-conditional -Wno-psabi -Wno-ignored-pragma-optimize -Wno-builtin-assume-aligned-alignment -Wno-deprecated-copy -Wno-unused-but-set-parameter -Wno-unused-but-set-variable -Wno-inline-asm -O2 -fdata-sections -ffunction-sections -fno-unique-section-names -fno-omit-frame-pointer -g0 -ftrivial-auto-var-init=pattern -fsanitize=cfi-vcall -fsanitize-ignorelist=../../tools/cfi/ignores.txt -fsanitize=cfi-icall -fvisibility=hidden -Wheader-hygiene -Wstring-conversion -Wtautological-overlap-compare -Wno-unused-const-variable -Wno-unused-function -std=c++14 -fno-trigraphs -Wno-trigraphs -fno-exceptions -fno-rtti -nostdinc++ -isystem../../buildtools/third_party/libc++/trunk/include -isystem../../buildtools/third_party/libc++abi/trunk/include -fvisibility-inlines-hidden -resource-dir=/usr/lib/llvm-11/lib/clang/11.0.1 -resource-dir=/usr/lib/llvm-11/lib/clang/11.0.1 -c ../../base/third_party/double_conversion/double-conversion/fast-dtoa.cc -o obj/base/third_party/double_conversion/double_conversion/fast-dtoa.o
clang++: error: unknown argument: '-ffile-compilation-dir=.'
clang++: error: unknown argument: '-fsanitize-ignorelist=../../tools/cfi/ignores.txt'
[10/50245] ACTION //base:anchor_functions_buildflags(//build/toolchain/linux/unbundle:default)
ninja: build stopped: subcommand failed.

full build.log

Feature request: Official portable build

I'm not sure about the right place to put this feature request. Feel free to close the wrong one.

As somebody proposed in discussions having an official portable build to take and repackage in other distros would be nice. It would really help to spread this project. There's at least one distro considering this. Taking the unofficial binaries seems not like something a distro can do as you need to trust more and completely unknown users than just @Eloston.
Building chromium is a task only major distributions can tackle. Adding ungoogled-chromium-portablelinux to OBS would be perfect. It just needs to stay portable (which means /opt, obviously).

I came to understand that the OBS is operated by @braewoods and @jstkdng. Since Eloston obviously approves this, that would be trustworthy enough, I think.

lld version 8 is installed but the build tools seems to have it hardcoded in the default which is version 6 - no variable to export in build.sh

Posting this for a friend, I am quoting them verbatim

  • ./tools/gn/bootstrap/bootstrap.py -o out/Default/gn --skip-generate-buildfiles
    ninja: Entering directory /home/elr/ungoogled-chromium-portablelinux/build/src/out/Release/gn_build' [184/184] LINK gn + ./out/Default/gn gen out/Default --fail-on-unused-args Done. Made 11238 targets from 1801 files in 10782ms + ninja -C out/Default chrome chrome_sandbox chromedriver ninja: Entering directory out/Default'
    [3525/21619] LINK ./chrome_sandbox
    FAILED: chrome_sandbox
    clang++-8 -pie -Wl,--build-id=sha1 -fPIC -Wl,-z,noexecstack -Wl,-z,relro -Wl,-z,now -Wl,-z,defs -Wl,--no-as-needed -fuse-ld=lld -Wl,--icf=all -Wl,--color-diagnostics -flto=thin -Wl,--thinlto-jobs=8 -Wl,--thinlto-cache-dir=thinlto-cache -Wl,--thinlto-cache-policy,cache_size=10%:cache_size_bytes=10g:cache_size_files=100000 -Wl,--lto-O0 -fwhole-program-vtables -m64 -Wl,-O2 -Wl,--gc-sections -rdynamic -nostdlib++ -fsanitize=cfi-vcall -fsanitize=cfi-icall -pie -Wl,--disable-new-dtags -o "./chrome_sandbox" -Wl,--start-group @"./chrome_sandbox.rsp" -Wl,--end-group -ldl -lpthread -lrt
    /usr/bin/ld.lld: error: Invalid summary version 6, 1, 2, 3 or 4 expected
    /usr/bin/ld.lld: error: Invalid summary version 6, 1, 2, 3 or 4 expected
    /usr/bin/ld.lld: error: Invalid summary version 6, 1, 2, 3 or 4 expected
    /usr/bin/ld.lld: error: Invalid summary version 6, 1, 2, 3 or 4 expected
    /usr/bin/ld.lld: error: Invalid summary version 6, 1, 2, 3 or 4 expected
    /usr/bin/ld.lld: error: Invalid summary version 6, 1, 2, 3 or 4 expected
    /usr/bin/ld.lld: error: Invalid summary version 6, 1, 2, 3 or 4 expected
    /usr/bin/ld.lld: error: Invalid summary version 6, 1, 2, 3 or 4 expected
    /usr/bin/ld.lld: error: Invalid summary version 6, 1, 2, 3 or 4 expected
    /usr/bin/ld.lld: error: Invalid summary version 6, 1, 2, 3 or 4 expected
    /usr/bin/ld.lld: error: Invalid summary version 6, 1, 2, 3 or 4 expected
    /usr/bin/ld.lld: error: Invalid summary version 6, 1, 2, 3 or 4 expected
    /usr/bin/ld.lld: error: Invalid summary version 6, 1, 2, 3 or 4 expected
    /usr/bin/ld.lld: error: Invalid summary version 6, 1, 2, 3 or 4 expected
    /usr/bin/ld.lld: error: Invalid summary version 6, 1, 2, 3 or 4 expected
    /usr/bin/ld.lld: error: Invalid summary version 6, 1, 2, 3 or 4 expected
    /usr/bin/ld.lld: error: Invalid summary version 6, 1, 2, 3 or 4 expected
    /usr/bin/ld.lld: error: Invalid summary version 6, 1, 2, 3 or 4 expected
    /usr/bin/ld.lld: error: Invalid summary version 6, 1, 2, 3 or 4 expected
    /usr/bin/ld.lld: error: Invalid summary version 6, 1, 2, 3 or 4 expected
    /usr/bin/ld.lld: error: too many errors emitted, stopping now (use -error-limit=0 to see all errors)
    clang: error: linker command failed with exit code 1 (use -v to see invocation)
    [3530/21619] CXX obj/sandbox/linux/seccomp_bpf/codegen.o
    ninja: build stopped: subcommand failed.

musl portable must be --no-sandbox (or crash on video)

The title explains it all, I guess.

Crash

$ chromium-browser https://www.youtube.com/watch?v=tOzwIYQDSbY
https://www.youtube.com/watch?v=tOzwIYQDSbY
[20638:20638:1029/165359.523682:ERROR:sandbox_linux.cc(374)] InitializeSandbox() called with multiple threads in process gpu-process.
WARNING: Kernel has no file descriptor comparison support: Function not implemented
Fontconfig error: Cannot load default config file: No such file: (null)
[20783:15:1029/165406.560372:ERROR:batching_media_log.cc(38)] MediaEvent: {"error":"{\"causes\":[{\"causes\":[],\"data\":{},\"stack\":[{\"file\":\"../../media/filters/decrypting_video_decoder.cc\",\"line\":53}],\"status_code\":264,\"status_message\":\"\"}],\"data\":{\"Decoder name\":\"DecryptingVideoDecoder\"},\"stack\":[{\"file\":\"../../media/filters/decoder_selector.cc\",\"line\":172}],\"status_code\":265,\"status_message\":\"\"}"}
[20783:15:1029/165406.560529:ERROR:batching_media_log.cc(38)] MediaEvent: {"error":"{\"causes\":[{\"causes\":[],\"data\":{},\"stack\":[{\"file\":\"../../media/filters/vpx_video_decoder.cc\",\"line\":135}],\"status_code\":265,\"status_message\":\"\"}],\"data\":{\"Decoder name\":\"VpxVideoDecoder\"},\"stack\":[{\"file\":\"../../media/filters/decoder_selector.cc\",\"line\":172}],\"status_code\":265,\"status_message\":\"\"}"}
[20783:15:1029/165406.560728:ERROR:batching_media_log.cc(38)] MediaEvent: {"error":"{\"causes\":[{\"causes\":[],\"data\":{\"codec\":\"h264\"},\"stack\":[{\"file\":\"../../media/filters/dav1d_video_decoder.cc\",\"line\":165}],\"status_code\":260,\"status_message\":\"\"}],\"data\":{\"Decoder name\":\"Dav1dVideoDecoder\"},\"stack\":[{\"file\":\"../../media/filters/decoder_selector.cc\",\"line\":172}],\"status_code\":265,\"status_message\":\"\"}"}

No crash

$ chromium-browser --no-sandbox https://www.youtube.com/watch?v=tOzwIYQDSbY
[19698:19698:1029/165324.425148:ERROR:sandbox_linux.cc(374)] InitializeSandbox() called with multiple threads in process gpu-process.
WARNING: Kernel has no file descriptor comparison support: Function not implemented
[19730:19881:1029/165326.280800:ERROR:batching_media_log.cc(38)] MediaEvent: {"error":"{\"causes\":[{\"causes\":[],\"data\":{},\"stack\":[{\"file\":\"../../media/filters/decrypting_video_decoder.cc\",\"line\":53}],\"status_code\":264,\"status_message\":\"\"}],\"data\":{\"Decoder name\":\"DecryptingVideoDecoder\"},\"stack\":[{\"file\":\"../../media/filters/decoder_selector.cc\",\"line\":172}],\"status_code\":265,\"status_message\":\"\"}"}
[19730:19881:1029/165326.280976:ERROR:batching_media_log.cc(38)] MediaEvent: {"error":"{\"causes\":[{\"causes\":[],\"data\":{},\"stack\":[{\"file\":\"../../media/filters/vpx_video_decoder.cc\",\"line\":135}],\"status_code\":265,\"status_message\":\"\"}],\"data\":{\"Decoder name\":\"VpxVideoDecoder\"},\"stack\":[{\"file\":\"../../media/filters/decoder_selector.cc\",\"line\":172}],\"status_code\":265,\"status_message\":\"\"}"}
[19730:19881:1029/165326.281099:ERROR:batching_media_log.cc(38)] MediaEvent: {"error":"{\"causes\":[{\"causes\":[],\"data\":{\"codec\":\"h264\"},\"stack\":[{\"file\":\"../../media/filters/dav1d_video_decoder.cc\",\"line\":165}],\"status_code\":260,\"status_message\":\"\"}],\"data\":{\"Decoder name\":\"Dav1dVideoDecoder\"},\"stack\":[{\"file\":\"../../media/filters/decoder_selector.cc\",\"line\":172}],\"status_code\":265,\"status_message\":\"\"}"}

I believe the guys at Alpine are aware of this very issue; they run Chromium unsandboxed as well.

Update to 74

Help wanted for updating to ungoogled-chromium 73. Please respond if you'd like to work on this. Thanks

Error building under debian

Building under Debian unstable, I'm hitting an identical error to the one I mentioned in debian issue #178. I run into this building both 86.0.4240.111 and 86.0.4240.183.

Unless this issue is something specific to my setup (a chroot build), this would appear to be a debian issue since other distros seem able to build fine.

[3498/43114] ACTION //third_party/blink/renderer/bindings:generate_bindings_all(//build/toolchain/linux/unbundle:default)
.
.
python ../../third_party/blink/renderer/bindings/scripts/generate_bindings.py --web_idl_database gen/third_party/blink/renderer/bindings/web_idl_database.pickle --root_src_dir ../../ --root_gen_dir gen --output_core_reldir third_party/blink/renderer/bindings/core/v8/ --output_modules_reldir third_party/blink/renderer/bindings/modules/v8/ enumeration interface
Traceback (most recent call last):
File "../../third_party/blink/renderer/bindings/scripts/generate_bindings.py", line 100, in
main()
File "../../third_party/blink/renderer/bindings/scripts/generate_bindings.py", line 77, in main
task_queue = bind_gen.TaskQueue()
File "/home/berkley4/ungoogled-chromium-portablelinux/build/src/third_party/blink/renderer/bindings/scripts/bind_gen/task_queue.py", line 19, in init
package_initializer().init)
File "/usr/lib/python2.7/multiprocessing/init.py", line 232, in Pool
return Pool(processes, initializer, initargs, maxtasksperchild)
File "/usr/lib/python2.7/multiprocessing/pool.py", line 140, in init
self._setup_queues()
File "/usr/lib/python2.7/multiprocessing/pool.py", line 236, in _setup_queues
self._inqueue = SimpleQueue()
File "/usr/lib/python2.7/multiprocessing/queues.py", line 352, in init
self._rlock = Lock()
File "/usr/lib/python2.7/multiprocessing/synchronize.py", line 147, in init
SemLock.init(self, SEMAPHORE, 1, 1)
File "/usr/lib/python2.7/multiprocessing/synchronize.py", line 75, in init
sl = self._semlock = _multiprocessing.SemLock(kind, value, maxvalue)
OSError: [Errno 13] Permission denied

Python build error (80.0.3987.122-1.1)

Hi, new to building Chromium (working on my first successful build). I am checked out and began building off the 80.0.3987.122-1.1 release tag. I run into an error that says:
NameError: name 'unicode' is not defined

After some research, it looks like this is related to python, so I tried using 2.7 as the default 'python' binary, but run into more errors. Is there something I need to do to get this to build properly? Using stable LLVM and meet the rest of the requirements. Essentially, I would like to contribute binaries in a timely manner for releases.

Thanks!

Build fails with segfault on alpine linux

For the past couple of days I've been trying to build ungoogled-chromium-portablelinux musl using docker in alpine linux, but every time the build stops when trying to link crashpad_handler, the output is as follows:

[12451/39799] LINK ./crashpad_handler
FAILED: crashpad_handler
clang++ -Wl,--build-id=sha1 -fPIC -Wl,-z,noexecstack -Wl,-z,relro -Wl,-z,now -Wl,-z,defs -Wl,--no-as-needed -fuse-ld=lld -Wl,--icf=all -Wl,--color-diagnostics -flto=thin -Wl,--thinlto-jobs=8 -Wl,--thinlto-cache-dir=thinlto-cache -Wl,--thinlto-cache-policy,cache_size=10\%:cache_size_bytes=10g:cache_size_files=100000 -Wl,--lto-O0 -fwhole-program-vtables -m64 -Wl,-O2 -Wl,--gc-sections -rdynamic -nostdlib++ -fsanitize=cfi-vcall -fsanitize=cfi-icall -pie -Wl,--disable-new-dtags -o "./crashpad_handler" -Wl,--start-group @"./crashpad_handler.rsp"  -Wl,--end-group  -ldl -lpthread -lrt -lgmodule-2.0 -lgobject-2.0 -lgthread-2.0 -lglib-2.0 -lintl -latomic
clang-8: error: unable to execute command: Segmentation fault (core dumped)
clang-8: error: linker command failed due to signal (use -v to see invocation)
[12456/39799] ACTION //chrome/app:generated_resources_grit(//build/toolchain/linux/unbundle:default)
ninja: build stopped: subcommand failed.

My stage1 dockerfile

FROM alpine:3.10

RUN apk update && apk upgrade

ADD scripts /scripts

RUN /scripts/pre-build.sh

RUN apk add bash git build-base compiler-rt clang-dev lld llvm8-dev python2 python3 pkgconf ninja py3-jinja2 ca-certificates gsettings-desktop-schemas-dev wget flex yasm xvfb diffutils coreutils gperf bison valgrind xz glew-dev libxt-dev libvpx-dev alsa-lib-dev at-spi2-atk-dev at-spi2-core-dev atk-dev cairo-dev cups-dev dbus-dev eudev-dev expat-dev ffmpeg-dev flac-dev fontconfig-dev freetype-dev gdk-pixbuf-dev glib-dev gtk+3.0-dev harfbuzz-dev libdrm-dev libevent-dev libjpeg-turbo-dev libpng-dev libc-dev libc-utils libstdc++ libwebp-dev libx11-dev libxcb-dev libxcomposite-dev libxcursor-dev libxdamage-dev libxext-dev libxfixes-dev libxi-dev libxml2-dev libxrandr-dev libxrender-dev libxscrnsaver-dev libxslt-dev mesa-gbm mesa-dev nspr-dev nss-dev opus-dev pango-dev snappy-dev ttf-opensans zlib-dev nodejs-current bison bzip2-dev dbus-glib-dev elfutils-dev findutils freetype-dev gnutls-dev gperf gzip hunspell-dev jpeg-dev jsoncpp-dev krb5-dev libcap-dev libevent-dev libexif-dev libgnome-keyring-dev libpng-dev libusb-dev libva-dev libwebp-dev libxcomposite-dev libxinerama-dev linux-headers openjdk8 pciutils-dev perl re2-dev speex-dev sqlite-dev xdg-utils minizip-dev pulseaudio-dev libatomic llvm-libunwind binutils libpciaccess-dev libice-dev libffi-dev libxtst-dev lcms2-dev linux-pam-dev ffmpeg-dev openjpeg-dev libmodplug-dev acf-jquery libuuid util-linux-dev icu-dev bsd-compat-headers libbsd-dev

RUN /scripts/get-clang-deps.sh

get-clang-deps

#!/bin/bash -eux
  
# In alpine linux no packages provide the file cfi_blacklist.txt, so download it beforehand and
# manually place it in the right folder

mkdir tempdir
cd tempdir

wget -O comp-rt.tar.xz https://github.com/llvm/llvm-project/releases/download/llvmorg-8.0.1/compiler-rt-8.0.1.src.tar.xz

tar xf comp-rt.tar.xz
mkdir $(clang --print-resource-dir)/share
cp ./compiler-rt*/lib/cfi/cfi_blacklist.txt /usr/lib/clang/*/share/

cd ..
rm -rf tempdir

pre-build.sh

# set your timezone
ln -fs /usr/share/zoneinfo/America/New_York /etc/localtime

Things I've tried

  • linking /usr/bin/ld.lld to /usr/bin/ld
  • replacing alpine patches with the ones void linux uses (after the appropriate modifications)
  • building with LDFLAGS+=-Wl,-znodelete
  • building with LLVM 8 and 9 (alpine 3.10 and 3.11)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.