New issue
Advanced search Search tips

Issue 615625 link

Starred by 1 user

Issue metadata

Status: WontFix
Owner: ----
Closed: May 2016
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 2
Type: Bug



Sign in to add a comment

Native Linux build broken - appears to be incorrectly using the wrong linker for nacl

Reported by stephen....@gmail.com, May 28 2016

Issue description

UserAgent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Fedora/23 Chromium/52.0.2728.0 Chrome/52.0.2728.0 Safari/537.36

Steps to reproduce the problem:
1. Attempt to build (details below) 

What is the expected behavior?
A successful build should result.

What went wrong?
The linking of the nacl_bootstrap_raw appears to be incorrectly using the Linux host (Fedora 23) linker /usr/bin/ld.bfd.  When I tried running the problem statement below but pointing to one of the linkers provided by the synced toolchains, the link appeared successful.

[5428/20755] ACTION Linking nacl_bootstrap_raw
FAILED: nacl_bootstrap_raw 
cd ../../native_client/src/trusted/service_runtime/linux; python ld_bfd.py --compiler g++ -m elf_x86_64 --build-id -static -z "max-page-size=0x1000" --defsym "RESERVE_TOP=0x0" "--script=nacl_bootstrap.x" -o ../../../../../out/Release/nacl_bootstrap_raw --whole-archive ../../../../../out/Release/gen/nacl_bootstrap/libnacl_bootstrap_lib.a --no-whole-archive
/usr/bin/ld.bfd: ../../../../../out/Release/gen/nacl_bootstrap/../../obj/native_client/src/trusted/service_runtime/linux/nacl_bootstrap_lib.nacl_bootstrap.o: unrecognized relocation (0x2a) in section `.text.do_load'
/usr/bin/ld.bfd: final link failed: Bad value
[5429/20755] CC obj/native_client/src/trusted/validator_ragel/gen/rdfa_validator.validator_x86_64.o
[5430/20755] ACTION nacl_lib_newlib: build nonsfi_helper x86-32 nlib_34595b1baf6b0067c0d7da5211c629a9
ninja: build stopped: subcommand failed.
error: Bad exit status from /var/tmp/rpm-tmp.5VkTVm (%build)

Did this work before? Yes My last successful build was 52.0.2728.0

Chrome version: 52.0.2728.0  Channel: n/a
OS Version: 
Flash Version: Shockwave Flash 22.0 r0

Below is my gyp_chromium command and my last successful build string where I float in the repentant details of my build. 

I've been regularly building since around version 37.

Version 52.0.2728.0 4.4.9-300.fc23.x86_64 gcc 5.3.1 2016-05-07 09:17:22 EDT (64-bit)

./build/gyp_chromium build/all.gyp  --depth=. \
-D linux_sandbox_path=%{install_dir}/chrome-sandbox \
-D linux_sandbox_chrome_path=%{install_dir}/chrome \
-D linux_link_gnome_keyring=0 \
-D werror='' \
-D use_system_sqlite=0 \
-D use_system_libxml=1 \
-D use_system_zlib=1 \
-D use_system_bzip2=1 \
-D use_system_libbz2=1 \
-D use_system_libpng=0 \
-D use_system_libjpeg=0 \
-D use_system_libevent=1 \
-D use_system_flac=1 \
-D use_system_vpx=1 \
-D use_system_speex=1 \
-D use_system_libusb=1 \
-D use_system_libexif=1 \
-D use_system_libsrtp=1 \
-D use_system_libmtp=1 \
-D use_system_opus=1 \
-D use_system_libwebp=1 \
-D use_system_harfbuzz=1 \
-D use_system_minizip=1 \
-D use_system_yasm=1 \
-D use_system_xdg_utils=1 \
-D build_ffmpegsumo=1 \
-D ffmpeg_branding=Chrome \
-D proprietary_codecs=1 \
-D use_pulseaudio=1 \
-D use_system_v8=1 \
-D use_system_nspr=1 \
-D use_system_libxslt=1 \
-D use_system_protobuf=0 \
-D use_system_libyuv=1 \
-D linux_link_libpci=1 \
-D linux_link_gsettings=1 \
-D linux_link_libspeechd=1 \
-D linux_link_kerberos=1 \
-D linux_link_libgps=1 \
-D linux_fpic=1 \
-D disable_newlib_untar=0 \
-D logging_like_official_build=1 \
-D remove_webcore_debug_symbols=1 \
-D linux_link_libspeechd=1 \
-D libspeechd_h_prefix=speech-dispatcher/ \
-D javascript_engine=v8 \
-D google_api_key='{redacted}' \
-D google_default_client_id='{redacted}' \
-D google_default_client_secret='{redacted}' \
-D use_system_icu=0 \
-D linux_use_gold_binary=0 \
-D linux_use_gold_flags=0 \
-D use_mojo=1 \
-D disable_glibc=1 \
-D disable_newlib=0 \
-D target_arch=x64 \
-D release_extra_cflags=-fPIC \
-D want_separate_host_toolset=0 \
-D disable_nacl=0 \
-D disable_pnacl=0 \
-D disable_fatal_linker_warnings= \
-D use_system_ffmpeg=0 \
-D selinux=0 \
-D build_pnacl_newlib=1 \
-D libjingle_nacl=1 \
-D use_nss=1 \
-D use_system_libsrtp=0 \
-D enable_webrtc=1 \
-D release_optimize=3 \
-D branding=Chromium \
-D enable_hangout_services_extension=1 \
-D use_sysroot=0 \
-G config=Release
 
This issue can be closed because it appears to be an issue with my build environment.

Upon further investigation, it appears that around May 7, the version of ../third/party/binutils was advanced to 2.26.20160125 while my Fedora 23 environment was still 2.25-17.fc23. I modified the ld_bfd.py to call the third party version and it successfully linked libnacl_bootstrap_lib.a.  So I built and installed the Fedora 25 Rawhide development version of binutils which contains 2.26.20160125. A successful build resulted so the issue appears to be a backward compatibility issue.

Version 53.0.2752.0 4.5.5-201.fc23.x86_64 gcc 5.3.1 2016-05-29 06:47:42 EDT (64-bit)
Status: WontFix (was: Unconfirmed)
Thank you for your report.

Sign in to add a comment