brave / brave-browser

Brave browser for Android, iOS, Linux, macOS, Windows.
https://brave.com
Mozilla Public License 2.0
17.97k stars 2.35k forks source link

Linker command failure by building Brave for nVIDIA Jetson Nano #21363

Closed 1div0 closed 1 year ago

1div0 commented 2 years ago

`€ yarn --verbose run build --target_os=linux --target_arch=arm64 --target=brave yarn run v1.12.3

...

$ cd src/brave && npm run build -- --target_os=linux --target_arch=arm64 --target=brave

brave-core@1.37.68 build node ./build/commands/scripts/commands.js build "--target_os=linux" "--target_arch=arm64" "--target=brave"

Compiling brave-rust v0.1.0 (/run/media/peter.kovar/8TB/usr/src/github.com/1div0/brave-browser/src/brave/build/rust) Finished dev [unoptimized + debuginfo] target(s) in 2m 24s [73/74] LINK ./chrome FAILED: chrome python3 "../../build/toolchain/gcc_link_wrapper.py" --output="./chrome" -- ../../third_party/llvm-build/Release+Asserts/bin/clang++ -fuse-ld=lld -Wl,--fatal-warnings -Wl,--build-id -fPIC -Wl,-z,noexecstack -Wl,-z,relro -Wl,-z,max-page-size=4096 -Wl,--icf=all -Wl,--color-diagnostics -Wl,--no-call-graph-profile-sort --target=aarch64-linux-gnu -no-canonical-prefixes -Werror -Wl,-O2 -Wl,--gc-sections -rdynamic -nostdlib++ --sysroot=../../build/linux/ubuntu_bionic_arm64-sysroot -Wl,-z,defs -Wl,--as-needed -pie -Wl,--disable-new-dtags -Wl,-rpath=\$ORIGIN -o "./chrome" -Wl,--start-group @"./chrome.rsp" ./libbase.so ./libabsl.so ./libboringssl.so ./libperfetto.so ./libbindings.so ./libbindings_base.so ./libmojo_public_system_cpp.so ./libmojo_public_system.so ./libmojo_cpp_platform.so ./libprotobuf_lite.so ./libmessage_support.so ./libmojo_mojom_bindings.so ./libmojo_mojom_bindings_shared.so ./liburl_mojom_traits.so ./libmojo_base_mojom_shared.so ./liburl.so ./libmojo_base_shared_typemap_traits.so ./libmojo_base_lib.so ./libbase_i18n.so ./libicui18n.so ./libicuuc.so ./libui_base.so ./libui_base_features.so ./libui_data_pack.so ./libskia.so ./libgfx.so ./libcolor_space.so ./libcolor_utils.so ./libgeometry.so ./libgfx_skia.so ./libgfx_switches.so ./libanimation.so ./libcodec.so ./libgeometry_skia.so ./librange.so ./libcc_paint.so ./libcc_base.so ./libcc_debug.so ./libui_base_file_info.so ./libevents_base.so ./libplatform.so ./libkeycodes_x11.so ./libcontent_public_common_mojo_bindings_shared.so ./libmojom_platform_shared.so ./libandroid_mojo_bindings_shared.so ./libauthenticator_test_mojo_bindings_shared.so ./libcolor_scheme_mojo_bindings_shared.so ./libmojom_mhtml_load_result_shared.so ./libscript_type_mojom_shared.so ./libweb_feature_mojo_bindings_mojom_shared.so ./libgpu_common_interfaces_shared.so ./libvulkan_interface_shared.so ./libservice_manager_mojom_shared.so ./libservice_manager_mojom_constants_shared.so ./libblink_gpu_mojom_shared.so ./libservice_worker_storage_mojom_shared.so ./libtokens_mojom_shared.so ./libusb_shared.so ./libui_base_dragdrop_mojom_shared.so ./libmojo_base_mojom.so ./libmojo_base_typemap_traits.so ./libcontent_settings_features.so ./libipc.so ./libipc_mojom.so ./libipc_mojom_shared.so ./libtracing_cpp.so ./libstartup_tracing.so ./libtracing_mojom.so ./libtracing_mojom_shared.so ./libnet.so ./libcrcrypto.so ./libcookies_mojom_support.so ./libskia_shared_typemap_traits.so ./libcontent.so ./libgpu.so ./libmailbox.so ./libcrash_key_lib.so ./libchrome_zlib.so ./libvulkan_info.so ./libgfx_native_types_shared_mojom_traits.so ./libgfx_shared_mojom_traits.so ./libgl_wrapper.so ./libgfx_ipc.so ./libgfx_ipc_geometry.so ./libvulkan_ycbcr_info.so ./libgpu_channel_mojom_shared.so ./liburl_ipc.so ./libviz_common.so ./libviz_resource_format_utils.so ./libviz_vulkan_context_provider.so ./libdisplay.so ./libdisplay_types.so ./libmedia.so ./libshared_memory_support.so ./libleveldb_proto.so ./libkeyed_service_core.so ./libleveldatabase.so ./liblearning_common.so ./libmedia_learning_shared_typemap_traits.so ./libmedia_session_base_cpp.so ./libip_address_mojom_support.so ./libnetwork_param_mojom_support.so ./libproxy_config_mojom_support.so ./libwebrtc_component.so ./libcross_origin_embedder_policy.so ./libnetwork_cpp_base.so ./libcrash_keys.so ./libschemeful_site_mojom_support.so ./libservice_manager_mojom.so ./libservice_manager_mojom_constants.so ./libservice_manager_cpp_types.so ./libservice_manager_mojom_traits.so ./libgfx_ipc_color.so ./libgfx_ipc_buffer_types.so ./libgfx_ipc_skia.so ./libservice_manager_cpp.so ./libmetrics_cpp.so ./libui_base_clipboard_types.so ./libevents.so ./libui_base_data_transfer_policy.so ./libcc.so ./libvideo_capture_mojom_support.so ./libcapture_base.so ./liblatency_shared_mojom_traits.so ./libprediction.so ./libblink_common.so ./libprivacy_budget.so ./libnetwork_cpp.so ./libbrave_network_cpp.so ./libweb_feature_mojo_bindings_mojom.so ./libui_base_clipboard.so ./libdisplay_shared_mojom_traits.so ./libmojom_modules_shared.so ./libmojom_core_shared.so ./libfido.so ./libbluetooth.so ./libscript_type_mojom.so ./libcc_ipc.so ./libcc_shared_mojom_traits.so ./libblink_gpu_mojom.so ./libservice_worker_storage_mojom.so ./libtokens_traits.so ./libui_base_cursor_base.so ./libui_base_dragdrop_mojom.so ./libime_shared_mojom_traits.so ./libui_base_ime_types.so ./libui_events_ipc.so ./libweb_bluetooth_mojo_bindings_shared.so ./libax_base.so ./libui_accessibility_ax_mojom.so ./libui_accessibility_ax_mojom_shared.so ./libui_base_ime.so ./libcontent_common_mojo_bindings_shared.so ./libaccessibility.so ./libaura.so ./libui_base_dragdrop_types.so ./libmetadata.so ./libcompositor.so ./libblink_features.so ./libsurface.so ./libpolicy.so ./libnetwork_service.so ./libmemory_instrumentation.so ./libresource_coordinator_public_mojom.so ./libresource_coordinator_public_mojom_shared.so ./libstorage_common.so ./libpublic.so ./libinterfaces_shared.so ./libstorage_service_filesystem_mojom_shared.so ./libstorage_service_buckets_support.so ./libstorage_service_filesystem_mojom.so ./libstorage_service_typemap_traits.so ./libmedia_session_cpp.so ./libstorage_browser.so ./libchrome_features.so ./libprefs.so ./libvariations.so ./libvariations_features.so ./libextensions.so ./liburl_matcher.so ./libcapture_lib.so ./libcapture_switches.so ./libcommon.so ./libnetwork_session_configurator.so ./libsql.so ./libchromium_sqlite3.so ./libwebdata_common.so ./libos_crypt.so ./libomnibox_http_headers.so ./libcloud_policy_proto_generated_compile.so ./libpolicy_component.so ./libpolicy_proto.so ./libgcm.so ./libnative_theme.so ./libservice_provider.so ./libautofill_core_common_features.so ./libui_message_center_cpp.so ./libppapi_shared.so ./libprinting.so ./libmetafile.so ./libprinting_base.so ./libprinting_backend.so ./libmedia_webrtc.so ./libwtf.so ./libv8_libbase.so ./libv8_libplatform.so ./libsandbox_services.so ./libsuid_sandbox_client.so ./libseccomp_bpf.so ./libsecurity_state_features.so ./libec_commutative_cipher.so ./libkeyed_service_content.so ./libstorage_service_public.so ./libstorage_service_filesystem_support.so ./libuser_prefs.so ./libperformance_manager_public_mojom.so ./libperformance_manager_public_mojom_shared.so ./libsessions.so ./libpermissions_common.so ./libgeolocation_service.so ./libextras.so ./libcaptive_portal_core.so ./libdevice_features.so ./libweb_modal.so ./libonc.so ./libdevice_event_log.so ./libshell_dialogs.so ./libui_base_idle.so ./libdbus.so ./libAPP_UPDATE.so ./libAPP_TYPES.so ./libuser_manager.so ./libdevices.so ./libviews.so ./libui_base_ime_init.so ./libui_base_cursor_theme_manager.so ./libui_aura_cursor.so ./libhost.so ./libukm_recorder.so ./libcrdtp.so ./libdiscardable_memory_service.so ./libcbor.so ./libproxy_config.so ./libtab_groups.so ./libmessage_center.so ./libozone.so ./libozone_base.so ./libdisplay_util.so ./libvulkan_wrapper.so ./libdata_exchange.so ./libplatform_window.so ./libfontconfig.so ./libui_touch_selection.so ./libffmpeg.so ./libsnapshot.so ./libwebview.so ./libdomain_reliability.so ./liblookalikes_features.so ./libui_devtools.so ./libgesture_detection.so ./libweb_dialogs.so ./libmojo_core_embedder.so ./libwm.so ./libICON_TYPES.so ./libui_base_ime_linux.so ./libfreetype_harfbuzz.so ./libmenu.so ./libproperties.so ./libthread_linux.so ./libgfx_x11.so ./libgtk.so ./libbrowser_ui_views.so ./libglobal_media_controls.so ./libmedia_message_center.so ./libsoda.so ./libtab_count_metrics.so ./libwm_public.so ./libppapi_proxy.so ./libcolor.so ./libmixers.so ./libcertificate_matching.so ./libcertificate_transparency.so ./libmirroring_service.so ./libdevice_base.so ./libswitches.so ./libmidi.so ./libmedia_mojo_services.so ./libmedia_gpu.so ./libgles2_utils.so ./libgles2.so ./libgpu_ipc_service.so ./libgl_init.so ./libstable_video_decoder_shared.so ./libmojo_core_embedder_features.so ./libcert_net_url_loader.so ./liberror_reporting.so ./libevents_ozone.so ./libui_base_x.so ./libppapi_host.so ./libpower_scheduler.so ./libgwp_asan_client.so ./libgin.so ./libv8.so ./libblink_controller.so ./libblink_core.so ./libblink_mojom_broadcastchannel_bindings_shared.so ./libwtf_support.so ./libweb_feature_mojo_bindings_mojom_blink.so ./libmojo_base_mojom_blink.so ./libservice_manager_mojom_blink.so ./libservice_manager_mojom_constants_blink.so ./libui_base_dragdrop_mojom_blink.so ./libblink_platform.so ./libcc_animation.so ./libresource_coordinator_public_mojom_blink.so ./libkeyframe.so ./libblink_embedded_frame_sink_mojo_bindings_shared.so ./libperformance_manager_public_mojom_blink.so ./libui_accessibility_ax_mojom_blink.so ./libblink_modules.so ./libshared_with_blink.so ./libgamepad_mojom_blink.so ./libgamepad_mojom_shared.so ./libgamepad_shared_typemap_traits.so ./liburlpattern.so ./libdevice_vr_service_mojo_bindings_blink.so ./libdevice_vr_service_mojo_bindings_shared.so ./libdevice_vr_test_mojo_bindings_shared.so ./libdevice_vr_test_mojo_bindings_blink.so ./libdevice_vr_public_typemaps.so ./libpdfium.so ./libdiscardable_memory_client.so ./libheadless_non_renderer.so ./libc++.so -Wl,--end-group -ldl -lpthread -lrt -lgmodule-2.0 -lglib-2.0 -lgobject-2.0 -lgthread-2.0 -lsmime3 -lnss3 -lnssutil3 -lplds4 -lplc4 -lnspr4 -latk-1.0 -latk-bridge-2.0 -lcups -lgio-2.0 -ldbus-1 brave_rust/out/arm64/debug/libbrave_rust.a ld.lld: error: brave_rust/out/arm64/debug/libbrave_rust.a(bls_cxx-b9bdecf50a6b0c09.25d574nm6dw6qbsm.rcgu.o) is incompatible with elf64-littleaarch64 ld.lld: error: brave_rust/out/arm64/debug/libbrave_rust.a(brave_wallet_cxx-9922beafd7e392b8.115o6rzpzmhquhju.rcgu.o) is incompatible with elf64-littleaarch64 ld.lld: error: brave_rust/out/arm64/debug/libbrave_rust.a(brave_news_cxx-ed35c16a7d4247e2.3d1mtdk124varpqm.rcgu.o) is incompatible with elf64-littleaarch64 ld.lld: error: brave_rust/out/arm64/debug/libbrave_rust.a(skus_cxx-3ffa9e6c8da62e9a.50hrwoj07cuc06k7.rcgu.o) is incompatible with elf64-littleaarch64 ld.lld: error: brave_rust/out/arm64/debug/libbrave_rust.a(cxx-b6a7a7e59608f9ca.2rlcdnwm0mkrquwy.rcgu.o) is incompatible with elf64-littleaarch64 ld.lld: error: brave_rust/out/arm64/debug/libbrave_rust.a(cxx-b6a7a7e59608f9ca.2zmfm3zp9yz9r9n7.rcgu.o) is incompatible with elf64-littleaarch64 ld.lld: error: brave_rust/out/arm64/debug/libbrave_rust.a(cxx-b6a7a7e59608f9ca.30qijxtj3gwjppt6.rcgu.o) is incompatible with elf64-littleaarch64 ld.lld: error: brave_rust/out/arm64/debug/libbrave_rust.a(cxx-b6a7a7e59608f9ca.3luubisoosxpcs95.rcgu.o) is incompatible with elf64-littleaarch64 ld.lld: error: brave_rust/out/arm64/debug/libbrave_rust.a(speedreader_ffi-ce05a5f44aced2e1.1kogwq0jp6tcmcwi.rcgu.o) is incompatible with elf64-littleaarch64 ld.lld: error: brave_rust/out/arm64/debug/libbrave_rust.a(challenge_bypass_ristretto_ffi-4d3acd6ddf47c7d0.4bsfhenov9xgpscy.rcgu.o) is incompatible with elf64-littleaarch64 ld.lld: error: brave_rust/out/arm64/debug/libbrave_rust.a(adblock-651db72df6955587.5g3x6ai497m96ajh.rcgu.o) is incompatible with elf64-littleaarch64 ld.lld: error: brave_rust/out/arm64/debug/libbrave_rust.a(compiler_builtins-5667a4a7e2c48d47.compiler_builtins.ce2b8975-cgu.79.rcgu.o) is incompatible with elf64-littleaarch64 clang++: error: linker command failed with exit code 1 (use -v to see invocation) ninja: build stopped: subcommand failed. null null verbose 156.262161049 Error: Command failed with exit code 1.

`

1div0 commented 2 years ago

So far I have discovered that Rust compiler generated code for the x86-64 instead of ARMv8-A. However I am struggling with the reconfiguration. Any hints?

1div0 commented 2 years ago

In the meantime, I have compiled gn according to https://github.com/rubyjs/libv8/issues/261

peter.kovar@JetsonNano:/usr/src/github.com/1div0/brave-browser/src$ gn gen /usr/src/github.com/1div0/brave-browser/src/out/Component_arm64 --args="is_asan=false enable_full_stack_frames_for_profiling=false v8_enable_verify_heap=false disable_fieldtrial_testing_config=true safe_browsing_mode=1 brave_services_key=\"\" root_extra_deps=[\"//brave\"] is_component_build=true is_universal_binary=false proprietary_codecs=true ffmpeg_branding=\"Chrome\" branding_path_component=\"brave\" enable_nacl=false enable_widevine=true target_cpu=\"arm64\" is_official_build=false is_debug=false dcheck_always_on=true brave_channel=\"development\" brave_google_api_key=\"AIzaSyAREPLACEWITHYOUROWNGOOGLEAPIKEY2Q\" brave_google_api_endpoint=\"https://www.googleapis.com/geolocation/v1/geolocate?key=\" google_default_client_id=\"\" google_default_client_secret=\"\" brave_infura_project_id=\"\" binance_client_id=\"\" ftx_client_id=\"\" ftx_client_secret=\"\" bitflyer_client_id=\"\" bitflyer_client_secret=\"\" bitflyer_staging_client_id=\"\" bitflyer_staging_client_secret=\"\" bitflyer_staging_url=\"\" gemini_api_url=\"\" gemini_api_staging_url=\"\" gemini_oauth_url=\"\" gemini_oauth_staging_url=\"\" gemini_wallet_client_id=\"\" gemini_wallet_client_secret=\"\" gemini_wallet_staging_client_id=\"\" gemini_wallet_staging_client_secret=\"\" gemini_client_id=\"\" gemini_client_secret=\"\" uphold_client_id=\"\" uphold_client_secret=\"\" uphold_staging_client_id=\"\" uphold_staging_client_secret=\"\" brave_product_name=\"brave\" brave_version_major=\"1\" brave_version_minor=\"37\" brave_version_build=\"68\" chrome_version_string=\"99.0.4844.35\" chrome_version_major=\"99\" brave_sync_endpoint=\"\" safebrowsing_api_endpoint=\"\" brave_variations_server_url=\"\" updater_prod_endpoint=\"\" updater_dev_endpoint=\"\" webcompat_report_api_endpoint=\"https://webcompat.brave.com/1/webcompat\" rewards_grant_dev_endpoint=\"\" rewards_grant_staging_endpoint=\"\" rewards_grant_prod_endpoint=\"\" brave_stats_api_key=\"\" brave_stats_updater_url=\"\" enable_hangout_services_extension=true enable_cdm_host_verification=false enable_pseudolocales=false skip_signing=true sparkle_dsa_private_key_file=\"\" sparkle_eddsa_private_key=\"\" sparkle_eddsa_public_key=\"\" chrome_pgo_phase=0 cc_wrapper=\"/usr/src/github.com/1div0/brave-browser/src/brave/script/redirect-cc.py\" " Done. Made 18262 targets from 3336 files in 21570ms peter.kovar@JetsonNano:/usr/src/github.com/1div0/brave-browser/src$ time nice /usr/bin/ninja -C out/Component_arm64 ninja: Entering directoryout/Component_arm64' ninja: error: '../../brave/browser/resources/settings/brave_wallet_page/wallet_networks.js', needed by 'gen/brave/browser/resources/settings/brave_wallet_page/wallet_networks.js_library', missing and no known rule to make it

real 0m12,170s user 0m10,100s sys 0m1,832s `

1div0 commented 2 years ago

Also, another try:

`peter.kovar@JetsonNano:/usr/src/github.com/1div0/brave-browser/src/brave$ npm run build -- --target_os=linux --target_arch=arm64 --target=brave

brave-core@1.37.68 build node ./build/commands/scripts/commands.js build "--target_os=linux" "--target_arch=arm64" "--target=brave"

touch original files overridden by chromium_src... touch original vector icon files overridden by brave/vector_icons... update branding... Recursing through GRD to find GRDP files... Done recursing through GRD to find GRDP files. generating ninja files... Widevine cdm host verification is disabled


/usr/src/github.com/1div0/brave-browser/src

gn gen /usr/src/github.com/1div0/brave-browser/src/out/Component_arm64 --args="is_asan=false enable_full_stack_frames_for_profiling=false v8_enable_verify_heap=false disable_fieldtrial_testing_config=true safe_browsing_mode=1 brave_services_key=\"\" root_extra_deps=[\"//brave\"] is_component_build=true is_universal_binary=false proprietary_codecs=true ffmpeg_branding=\"Chrome\" branding_path_component=\"brave\" enable_nacl=false enable_widevine=true target_cpu=\"arm64\" is_official_build=false is_debug=false dcheck_always_on=true brave_channel=\"development\" brave_google_api_key=\"AIzaSyAREPLACEWITHYOUROWNGOOGLEAPIKEY2Q\" brave_google_api_endpoint=\"https://www.googleapis.com/geolocation/v1/geolocate?key=\" google_default_client_id=\"\" google_default_client_secret=\"\" brave_infura_project_id=\"\" binance_client_id=\"\" ftx_client_id=\"\" ftx_client_secret=\"\" bitflyer_client_id=\"\" bitflyer_client_secret=\"\" bitflyer_staging_client_id=\"\" bitflyer_staging_client_secret=\"\" bitflyer_staging_url=\"\" gemini_api_url=\"\" gemini_api_staging_url=\"\" gemini_oauth_url=\"\" gemini_oauth_staging_url=\"\" gemini_wallet_client_id=\"\" gemini_wallet_client_secret=\"\" gemini_wallet_staging_client_id=\"\" gemini_wallet_staging_client_secret=\"\" gemini_client_id=\"\" gemini_client_secret=\"\" uphold_client_id=\"\" uphold_client_secret=\"\" uphold_staging_client_id=\"\" uphold_staging_client_secret=\"\" brave_product_name=\"brave\" brave_version_major=\"1\" brave_version_minor=\"37\" brave_version_build=\"68\" chrome_version_string=\"99.0.4844.35\" chrome_version_major=\"99\" brave_sync_endpoint=\"\" safebrowsing_api_endpoint=\"\" brave_variations_server_url=\"\" updater_prod_endpoint=\"\" updater_dev_endpoint=\"\" webcompat_report_api_endpoint=\"https://webcompat.brave.com/1/webcompat\" rewards_grant_dev_endpoint=\"\" rewards_grant_staging_endpoint=\"\" rewards_grant_prod_endpoint=\"\" brave_stats_api_key=\"\" brave_stats_updater_url=\"\" enable_hangout_services_extension=true enable_cdm_host_verification=false enable_pseudolocales=false skip_signing=true sparkle_dsa_private_key_file=\"\" sparkle_eddsa_private_key=\"\" sparkle_eddsa_public_key=\"\" chrome_pgo_phase=0 cc_wrapper=\"/usr/src/github.com/1div0/brave-browser/src/brave/script/redirect-cc.py\" " warning: TCG doesn't support requested feature: CPUID.01H:ECX.vmx [bit 5] /lib64/ld-linux-x86-64.so.2: No such file or directory null null `

1div0 commented 2 years ago

Screenshot from 2022-04-11 15-10-17

mihaiplesa commented 2 years ago

@1div0 I see you managed to get a starting build, was there anything else you tried not captured here?

1div0 commented 2 years ago

Hi++ @mihaiplesa !

There were plenty of minor changes in order to crosscompile whole Cr and then Brave. It is running fairly well on nVIDIA Jetson Nano with 4 GB DRAM, albeit browser is using at least half of the available memory. However, I intend to restart the whole build effort for Orin modules with more DRAM.

Cheers

1div0 commented 2 years ago

I've just tried to restart the crosscompilation for AArch64.

However, it somehow fails because of missing Qt5. It used to be working half year ago.

cd /1TB/usr/src/github.com/1div0/brave-browser/src

build/linux/sysroot_scripts/install-sysroot.py --arch=arm64

gn gen out/Release_arm64 --args='target_os="linux" target_cpu="arm64"'

time ninja -C out/Release_arm64 -v

Any hints?

1div0 commented 2 years ago

Modified the qt.gni as follows:

declare_args() {

use_qt = is_linux && !is_castos

use_qt = false }

Regenerated build scripts and waiting for compilation results.

1div0 commented 2 years ago

[11640/102620] ../../third_party/llvm-build/Release+Asserts/bin/clang++ -MMD -MF obj/base/base/message_pump.o.d -DBASE_IMPLEMENTATION -DUSE_SYMBOLIZE -DDCHECK_ALWAYS_ON=1 -DUSE_UDEV -DUSE_AURA=1 -DUSE_GLIB=1 -DUSE_OZONE=1 -DSTDC_CONSTANT_MACROS -DSTDC_FORMAT_MACROS -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_GNU_SOURCE -DCR_CLANG_REVISION=\"llvmorg-16-init-7184-gdeb82d4a-1\" -DCOMPONENT_BUILD -DCR_LIBCXX_REVISION=888eff8ec2bc534f13d17254089d93f73220d81f -DCR_SYSROOT_KEY=20220331T153654Z-0 -D_DEBUG -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DGLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_2_40 -DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_40 -DABSL_CONSUME_DLL -DBORINGSSL_SHARED_LIBRARY -DGLOG_EXPORT= -DU_USING_ICU_NAMESPACE=0 -DU_ENABLE_DYLOAD=0 -DUSE_CHROMIUM_ICU=1 -DU_ENABLE_TRACING=1 -DU_ENABLE_RESOURCE_TRACING=0 -DICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_FILE -I../.. -Igen -I../../buildtools/third_party/libc++ -I../../third_party/perfetto/include -Igen/third_party/perfetto/build_config -Igen/third_party/perfetto -I../../third_party/abseil-cpp -I../../third_party/boringssl/src/include -I../../third_party/protobuf/src -Igen/protoc_out -I../../third_party/icu/source/common -I../../third_party/icu/source/i18n -Wall -Werror -Wextra -Wimplicit-fallthrough -Wextra-semi -Wunreachable-code-aggressive -Wthread-safety -Wno-missing-field-initializers -Wno-unused-parameter -Wno-psabi -Wloop-analysis -Wno-unneeded-internal-declaration -Wenum-compare-conditional -Wno-ignored-pragma-optimize -Wno-deprecated-builtins -Wno-bitfield-constant-conversion -Wshadow -fno-delete-null-pointer-checks -fno-ident -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector -funwind-tables -fPIC -pthread -fcolor-diagnostics -fmerge-all-constants -fcrash-diagnostics-dir=../../tools/clang/crashreports -mllvm -instcombine-lower-dbg-declare=0 -ffp-contract=off -fcomplete-member-pointers -mbranch-protection=standard --target=aarch64-linux-gnu -Wno-builtin-macro-redefined -DDATE= -DTIME= -DTIMESTAMP= -ffile-compilation-dir=. -no-canonical-prefixes -ftrivial-auto-var-init=pattern -O0 -fno-omit-frame-pointer -gdwarf-4 -g2 -gdwarf-aranges -gsplit-dwarf -ggnu-pubnames -Xclang -fuse-ctor-homing -fvisibility=hidden -Xclang -add-plugin -Xclang find-bad-constructs -Xclang -plugin-arg-find-bad-constructs -Xclang raw-ref-template-as-trivial-member -Xclang -plugin-arg-find-bad-constructs -Xclang check-ipc -Wheader-hygiene -Wstring-conversion -Wtautological-overlap-compare -Wshorten-64-to-32 -Wimplicit-int-conversion -Wsign-compare -Wsign-conversion -Wtautological-unsigned-zero-compare -Wexit-time-destructors -Wglobal-constructors -isystem../../build/linux/debian_bullseye_arm64-sysroot/usr/include/glib-2.0 -isystem../../build/linux/debian_bullseye_arm64-sysroot/usr/lib64/glib-2.0/include -isystem../../build/linux/debian_bullseye_arm64-sysroot/usr/include/sysprof-4 -DPROTOBUF_ALLOW_DEPRECATED=1 -Wno-undefined-bool-conversion -Wno-tautological-undefined-compare -std=c++20 -Wno-trigraphs -fno-exceptions -fno-rtti -nostdinc++ -isystem../../buildtools/third_party/libc++/trunk/include -isystem../../buildtools/third_party/libc++abi/trunk/include --sysroot=../../build/linux/debian_bullseye_arm64-sysroot -fvisibility-inlines-hidden -c ../../base/message_loop/message_pump.cc -o obj/base/base/message_pump.o FAILED: obj/base/base/message_pump.o ../../third_party/llvm-build/Release+Asserts/bin/clang++ -MMD -MF obj/base/base/message_pump.o.d -DBASE_IMPLEMENTATION -DUSE_SYMBOLIZE -DDCHECK_ALWAYS_ON=1 -DUSE_UDEV -DUSE_AURA=1 -DUSE_GLIB=1 -DUSE_OZONE=1 -DSTDC_CONSTANT_MACROS -DSTDC_FORMAT_MACROS -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_GNU_SOURCE -DCR_CLANG_REVISION=\"llvmorg-16-init-7184-gdeb82d4a-1\" -DCOMPONENT_BUILD -DCR_LIBCXX_REVISION=888eff8ec2bc534f13d17254089d93f73220d81f -DCR_SYSROOT_KEY=20220331T153654Z-0 -D_DEBUG -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DGLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_2_40 -DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_40 -DABSL_CONSUME_DLL -DBORINGSSL_SHARED_LIBRARY -DGLOG_EXPORT= -DU_USING_ICU_NAMESPACE=0 -DU_ENABLE_DYLOAD=0 -DUSE_CHROMIUM_ICU=1 -DU_ENABLE_TRACING=1 -DU_ENABLE_RESOURCE_TRACING=0 -DICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_FILE -I../.. -Igen -I../../buildtools/third_party/libc++ -I../../third_party/perfetto/include -Igen/third_party/perfetto/build_config -Igen/third_party/perfetto -I../../third_party/abseil-cpp -I../../third_party/boringssl/src/include -I../../third_party/protobuf/src -Igen/protoc_out -I../../third_party/icu/source/common -I../../third_party/icu/source/i18n -Wall -Werror -Wextra -Wimplicit-fallthrough -Wextra-semi -Wunreachable-code-aggressive -Wthread-safety -Wno-missing-field-initializers -Wno-unused-parameter -Wno-psabi -Wloop-analysis -Wno-unneeded-internal-declaration -Wenum-compare-conditional -Wno-ignored-pragma-optimize -Wno-deprecated-builtins -Wno-bitfield-constant-conversion -Wshadow -fno-delete-null-pointer-checks -fno-ident -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector -funwind-tables -fPIC -pthread -fcolor-diagnostics -fmerge-all-constants -fcrash-diagnostics-dir=../../tools/clang/crashreports -mllvm -instcombine-lower-dbg-declare=0 -ffp-contract=off -fcomplete-member-pointers -mbranch-protection=standard --target=aarch64-linux-gnu -Wno-builtin-macro-redefined -DDATE= -DTIME= -DTIMESTAMP= -ffile-compilation-dir=. -no-canonical-prefixes -ftrivial-auto-var-init=pattern -O0 -fno-omit-frame-pointer -gdwarf-4 -g2 -gdwarf-aranges -gsplit-dwarf -ggnu-pubnames -Xclang -fuse-ctor-homing -fvisibility=hidden -Xclang -add-plugin -Xclang find-bad-constructs -Xclang -plugin-arg-find-bad-constructs -Xclang raw-ref-template-as-trivial-member -Xclang -plugin-arg-find-bad-constructs -Xclang check-ipc -Wheader-hygiene -Wstring-conversion -Wtautological-overlap-compare -Wshorten-64-to-32 -Wimplicit-int-conversion -Wsign-compare -Wsign-conversion -Wtautological-unsigned-zero-compare -Wexit-time-destructors -Wglobal-constructors -isystem../../build/linux/debian_bullseye_arm64-sysroot/usr/include/glib-2.0 -isystem../../build/linux/debian_bullseye_arm64-sysroot/usr/lib64/glib-2.0/include -isystem../../build/linux/debian_bullseye_arm64-sysroot/usr/include/sysprof-4 -DPROTOBUF_ALLOW_DEPRECATED=1 -Wno-undefined-bool-conversion -Wno-tautological-undefined-compare -std=c++20 -Wno-trigraphs -fno-exceptions -fno-rtti -nostdinc++ -isystem../../buildtools/third_party/libc++/trunk/include -isystem../../buildtools/third_party/libc++abi/trunk/include --sysroot=../../build/linux/debian_bullseye_arm64-sysroot -fvisibility-inlines-hidden -c ../../base/message_loop/message_pump.cc -o obj/base/base/message_pump.o In file included from ../../base/message_loop/message_pump.cc:10: In file included from ../../base/message_loop/message_pump_for_ui.h:22: In file included from ../../base/message_loop/message_pump_glib.h:8: In file included from ../../build/linux/debian_bullseye_arm64-sysroot/usr/include/glib-2.0/glib.h:30: In file included from ../../build/linux/debian_bullseye_arm64-sysroot/usr/include/glib-2.0/glib/galloca.h:32: ../../build/linux/debian_bullseye_arm64-sysroot/usr/include/glib-2.0/glib/gtypes.h:32:10: fatal error: 'glibconfig.h' file not found

include

     ^~~~~~~~~~~~~~

1 error generated.

1div0 commented 2 years ago

Added soft link:

src/build/linux/debian_bullseye_arm64-sysroot/usr/include ln -s ../lib/aarch64-linux-gnu/glib-2.0/include/glibconfig.h

1div0 commented 2 years ago

Also:

src/build/linux/debian_bullseye_arm64-sysroot/usr/include/dbus-1.0/dbus ln -s ../../../lib/aarch64-linux-gnu/dbus-1.0/include/dbus/dbus-arch-deps.h

mihaiplesa commented 1 year ago

@1div0 we launched Linux arm64 a few weeks ago, are you still seeing issues?

1div0 commented 1 year ago

Thank you so much for Linux AArch64 port. So far I have 10 days uptime with latest Brave. Almost perfect with memory saving option for inactive tabs. Only problem detected with Widevine so far. I will dig deeper and report.

mihaiplesa commented 1 year ago

Widevine for Linux arm64 is tracked in https://github.com/brave/brave-browser/issues/28903 so closing this.