ฉันจะรวบรวม Chromium สำหรับ ARM ได้อย่างไร


12

เป้าหมาย

ฉันต้องติดตั้ง Chromium บน FriendlyARM ที่mini210sใช้Linux 3.0.8 armv7l

สิ่งแวดล้อม

Toolchain depot_tools

หลังจากได้รับdepot_tools:

vagrant@vagrant:~/depot_tools$ fetch chromium

ตัวแปรสภาพแวดล้อม

export GYP_CROSSCOMPILE=1
export GYP_DEFINES="target_arch=arm arm_float_abi=hard"

การอ้างอิง

vagrant@vagrant:~/depot_tools/src$  ./chrome/installer/linux/sysroot_scripts/install-debian.wheezy.sysroot.py --arch=arm 
Installing Debian Wheezy arm root image: /home/vagrant/depot_tools/src/chrome/installer/linux/debian_wheezy_arm-sysroot
Downloading http://storage.googleapis.com/chrome-linux-sysroot/toolchain/285950/debian_wheezy_arm_sysroot.tgz

build/install-build-deps.sh --arm
build/install-build-deps-android.sh
gclient sync

รวบรวม

build/gyp_chromium -Goutput_dir=out_arm 
ninja -C out_arm/Debug chrome

ข้อผิดพลาด

vagrant@vagrant:~/depot_tools/src$ ninja -C out_arm/Debug chrome
ninja: Entering directory `out_arm/Debug'
[222/18316] CXX obj/third_party/webrtc/modules/audio_coding/codecs/audio_encoder_interface.audio_encoder.o
FAILED: ../../third_party/llvm-build/Release+Asserts/bin/clang++ -MMD -MF obj/third_party/webrtc/modules/audio_coding/codecs/audio_encoder_interface.audio_encoder.o.d -DV8_DEPRECATION_WARNINGS -D_FILE_OFFSET_BITS=64 -DCHROMIUM_BUILD -DCR_CLANG_REVISION=223108 -DTOOLKIT_VIEWS=1 -DUI_COMPOSITOR_IMAGE_TRANSPORT -DUSE_AURA=1 -DUSE_ASH=1 -DUSE_PANGO=1 -DUSE_CAIRO=1 -DUSE_DEFAULT_RENDER_THEME=1 -DUSE_LIBJPEG_TURBO=1 -DUSE_X11=1 -DUSE_CLIPBOARD_AURAX11=1 -DENABLE_ONE_CLICK_SIGNIN -DENABLE_PRE_SYNC_BACKUP -DENABLE_REMOTING=1 -DENABLE_WEBRTC=1 -DENABLE_PEPPER_CDMS -DENABLE_CONFIGURATION_POLICY -DENABLE_NOTIFICATIONS -DUSE_UDEV -DDONT_EMBED_BUILD_METADATA -DENABLE_TASK_MANAGER=1 -DENABLE_EXTENSIONS=1 -DENABLE_PLUGINS=1 -DENABLE_SESSION_SERVICE=1 -DENABLE_THEMES=1 -DENABLE_AUTOFILL_DIALOG=1 -DENABLE_BACKGROUND=1 -DENABLE_GOOGLE_NOW=1 -DCLD_VERSION=2 -DENABLE_PRINTING=1 -DENABLE_BASIC_PRINTING=1 -DENABLE_PRINT_PREVIEW=1 -DENABLE_SPELLCHECK=1 -DENABLE_CAPTIVE_PORTAL_DETECTION=1 -DENABLE_APP_LIST=1 -DENABLE_SETTINGS_APP=1 -DENABLE_SUPERVISED_USERS=1 -DENABLE_MDNS=1 -DENABLE_SERVICE_DISCOVERY=1 -DV8_USE_EXTERNAL_STARTUP_DATA -DWEBRTC_RESTRICT_LOGGING -DEXPAT_RELATIVE_PATH -DWEBRTC_MODULE_UTILITY_VIDEO -DWEBRTC_CHROMIUM_BUILD -DLOGGING_INSIDE_WEBRTC -DWEBRTC_ARCH_ARM -DWEBRTC_ARCH_ARM_V7 -DWEBRTC_ARCH_ARM_NEON -DWEBRTC_POSIX -DWEBRTC_LINUX -DUSE_LIBPCI=1 -DUSE_GLIB=1 -DUSE_NSS=1 -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DWTF_USE_DYNAMIC_ANNOTATIONS=1 -D_DEBUG -D_GLIBCXX_DEBUG=1 -Igen -I../.. -I../../third_party/webrtc/overrides -I../../third_party -fstack-protector --param=ssp-buffer-size=4 -Werror -pthread -fno-strict-aliasing -Wall -Wno-unused-parameter -Wno-missing-field-initializers -fvisibility=hidden -pipe -fPIC -Wno-reserved-user-defined-literal -Xclang -load -Xclang /home/vagrant/depot_tools/src/third_party/llvm-build/Release+Asserts/lib/libFindBadConstructs.so -Xclang -add-plugin -Xclang find-bad-constructs -fcolor-diagnostics -Wheader-hygiene -Wno-char-subscripts -Wno-unneeded-internal-declaration -Wno-covered-switch-default -Wstring-conversion -Wno-c++11-narrowing -Wno-deprecated-register -Wno-inconsistent-missing-override -target arm-linux-gnueabihf -march=armv7-a -no-integrated-as -mtune=generic-armv7-a -mfpu=neon -mfloat-abi=hard -mthumb --sysroot=/home/vagrant/depot_tools/src/chrome/installer/linux/debian_wheezy_arm-sysroot -O0 -g -gdwarf-4 -funwind-tables -Wno-undefined-bool-conversion -Wno-tautological-undefined-compare -fno-exceptions -fno-rtti -fno-threadsafe-statics -fvisibility-inlines-hidden -Wsign-compare -std=gnu++11  -c ../../third_party/webrtc/modules/audio_coding/codecs/audio_encoder.cc -o obj/third_party/webrtc/modules/audio_coding/codecs/audio_encoder_interface.audio_encoder.o
/tmp/audio_encoder-f5366d.s: Assembler messages:
/tmp/audio_encoder-f5366d.s:559: Internal error!
Assertion failure in get_line_subseg at ../../gas/dwarf2dbg.c line 262.
Please report this bug.
clang: error: assembler command failed with exit code 1 (use -v to see invocation)
[222/18316] ACTION Generating resources from app/generated_resources.grd
ninja: build stopped: subcommand failed.

รอคอยที่จะมีคำแนะนำและโอกาสในการขาย

ทำตามคำแนะนำโดยeyoung100ยังคงได้รับข้อผิดพลาด แต่ต่อไป

vagrant@vagrant:/vagrant_data/buildhost/src$ ninja -C out/Debug chrome
ninja: Entering directory `out/Debug'
[369/18783] CXX obj/mojo/public/cpp/bindings/lib/mojo_cpp_bindings.array_internal.o
FAILED: ../../third_party/llvm-build/Release+Asserts/bin/clang++ -MMD -MF obj/mojo/public/cpp/bindings/lib/mojo_cpp_bindings.array_internal.o.d -DV8_DEPRECATION_WARNINGS -D_FILE_OFFSET_BITS=64 -DCHROMIUM_BUILD -DCR_CLANG_REVISION=223108 -DCOMPONENT_BUILD -DTOOLKIT_VIEWS=1 -DUI_COMPOSITOR_IMAGE_TRANSPORT -DUSE_AURA=1 -DUSE_ASH=1 -DUSE_PANGO=1 -DUSE_CAIRO=1 -DUSE_DEFAULT_RENDER_THEME=1 -DUSE_LIBJPEG_TURBO=1 -DUSE_X11=1 -DUSE_CLIPBOARD_AURAX11=1 -DENABLE_ONE_CLICK_SIGNIN -DENABLE_PRE_SYNC_BACKUP -DENABLE_REMOTING=1 -DENABLE_WEBRTC=1 -DENABLE_PEPPER_CDMS -DENABLE_CONFIGURATION_POLICY -DENABLE_NOTIFICATIONS -DUSE_UDEV -DDONT_EMBED_BUILD_METADATA -DENABLE_TASK_MANAGER=1 -DENABLE_EXTENSIONS=1 -DENABLE_PLUGINS=1 -DENABLE_SESSION_SERVICE=1 -DENABLE_THEMES=1 -DENABLE_AUTOFILL_DIALOG=1 -DENABLE_BACKGROUND=1 -DENABLE_GOOGLE_NOW=1 -DCLD_VERSION=2 -DENABLE_PRINTING=1 -DENABLE_BASIC_PRINTING=1 -DENABLE_PRINT_PREVIEW=1 -DENABLE_SPELLCHECK=1 -DENABLE_CAPTIVE_PORTAL_DETECTION=1 -DENABLE_APP_LIST=1 -DENABLE_SETTINGS_APP=1 -DENABLE_SUPERVISED_USERS=1 -DENABLE_MDNS=1 -DENABLE_SERVICE_DISCOVERY=1 -DV8_USE_EXTERNAL_STARTUP_DATA -DUSE_LIBPCI=1 -DUSE_GLIB=1 -DUSE_NSS=1 -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DWTF_USE_DYNAMIC_ANNOTATIONS=1 -D_DEBUG -D_GLIBCXX_DEBUG=1 -Igen -I../.. -fstack-protector --param=ssp-buffer-size=4 -Werror -pthread -fno-strict-aliasing -Wall -Wno-unused-parameter -Wno-missing-field-initializers -fvisibility=hidden -pipe -fPIC -Wno-reserved-user-defined-literal -Xclang -load -Xclang /vagrant_data/buildhost/src/third_party/llvm-build/Release+Asserts/lib/libFindBadConstructs.so -Xclang -add-plugin -Xclang find-bad-constructs -Xclang -plugin-arg-find-bad-constructs -Xclang strict-virtual-specifiers -fcolor-diagnostics -Wheader-hygiene -Wno-char-subscripts -Wno-unneeded-internal-declaration -Wno-covered-switch-default -Wstring-conversion -Wno-c++11-narrowing -Wno-deprecated-register -Wno-inconsistent-missing-override -target arm-linux-gnueabihf -march=armv7-a -no-integrated-as -mtune=generic-armv7-a -mfpu=neon -mfloat-abi=hard -mthumb --sysroot=/vagrant_data/buildhost/src/chrome/installer/linux/debian_wheezy_arm-sysroot -O0 -g -gdwarf-4 -funwind-tables -Wno-undefined-bool-conversion -Wno-tautological-undefined-compare -fno-exceptions -fno-rtti -fno-threadsafe-statics -fvisibility-inlines-hidden -Wsign-compare -std=gnu++11  -c ../../mojo/public/cpp/bindings/lib/array_internal.cc -o obj/mojo/public/cpp/bindings/lib/mojo_cpp_bindings.array_internal.o
/tmp/array_internal-a7a8d2.s: Assembler messages:
/tmp/array_internal-a7a8d2.s:1182: Internal error!
Assertion failure in get_line_subseg at ../../gas/dwarf2dbg.c line 262.
Please report this bug.
clang: error: assembler command failed with exit code 1 (use -v to see invocation)
[369/18783] ACTION Generating resources from app/generated_resources.grd
ninja: build stopped: subcommand failed.

ปัญหาที่โพสต์ในกลุ่ม Google อื่น ๆ :

ปัญหาเดียวกันนี้เมื่อทำการคอมไพล์ข้ามบน Precise64 VM

ข้อผิดพลาดที่ฉันได้รับเมื่อทำการคอมไพล์ใน Trusty64 VM

อัพเดทพยายามข้ามคอมไพล์ใน Ubuntu 14.04 (เชื่อถือได้) ล้มเหลว

... ข้อความที่คล้ายกันมากกว่ากับ Precise64

vagrant@vagrant-ubuntu-trusty-64:/vagrant_data/buildhost/src$ ninja -C out/Debug chrome
ninja: Entering directory `out/Debug'
[66/18785] CXX obj/mojo/public/cpp/bindings/lib/mojo_cpp_bindings.array_internal.o
FAILED: ../../third_party/llvm-build/Release+Asserts/bin/clang++ -MMD -MF obj/mojo/public/cpp/bindings/lib/mojo_cpp_bindings.array_internal.o.d -DV8_DEPRECATION_WARNINGS -D_FILE_OFFSET_BITS=64 -DCHROMIUM_BUILD -DCR_CLANG_REVISION=223108 -DCOMPONENT_BUILD -DTOOLKIT_VIEWS=1 -DUI_COMPOSITOR_IMAGE_TRANSPORT -DUSE_AURA=1 -DUSE_ASH=1 -DUSE_PANGO=1 -DUSE_CAIRO=1 -DUSE_DEFAULT_RENDER_THEME=1 -DUSE_LIBJPEG_TURBO=1 -DUSE_X11=1 -DUSE_CLIPBOARD_AURAX11=1 -DENABLE_ONE_CLICK_SIGNIN -DENABLE_PRE_SYNC_BACKUP -DENABLE_REMOTING=1 -DENABLE_WEBRTC=1 -DENABLE_PEPPER_CDMS -DENABLE_CONFIGURATION_POLICY -DENABLE_NOTIFICATIONS -DUSE_UDEV -DDONT_EMBED_BUILD_METADATA -DENABLE_TASK_MANAGER=1 -DENABLE_EXTENSIONS=1 -DENABLE_PLUGINS=1 -DENABLE_SESSION_SERVICE=1 -DENABLE_THEMES=1 -DENABLE_AUTOFILL_DIALOG=1 -DENABLE_BACKGROUND=1 -DENABLE_GOOGLE_NOW=1 -DCLD_VERSION=2 -DENABLE_PRINTING=1 -DENABLE_BASIC_PRINTING=1 -DENABLE_PRINT_PREVIEW=1 -DENABLE_SPELLCHECK=1 -DENABLE_CAPTIVE_PORTAL_DETECTION=1 -DENABLE_APP_LIST=1 -DENABLE_SETTINGS_APP=1 -DENABLE_SUPERVISED_USERS=1 -DENABLE_MDNS=1 -DENABLE_SERVICE_DISCOVERY=1 -DV8_USE_EXTERNAL_STARTUP_DATA -DUSE_LIBPCI=1 -DUSE_GLIB=1 -DUSE_NSS=1 -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DWTF_USE_DYNAMIC_ANNOTATIONS=1 -D_DEBUG -D_GLIBCXX_DEBUG=1 -Igen -I../.. -fstack-protector --param=ssp-buffer-size=4 -Werror -pthread -fno-strict-aliasing -Wall -Wno-unused-parameter -Wno-missing-field-initializers -fvisibility=hidden -pipe -fPIC -Wno-reserved-user-defined-literal -Xclang -load -Xclang /vagrant_data/buildhost/src/third_party/llvm-build/Release+Asserts/lib/libFindBadConstructs.so -Xclang -add-plugin -Xclang find-bad-constructs -Xclang -plugin-arg-find-bad-constructs -Xclang strict-virtual-specifiers -fcolor-diagnostics -Wheader-hygiene -Wno-char-subscripts -Wno-unneeded-internal-declaration -Wno-covered-switch-default -Wstring-conversion -Wno-c++11-narrowing -Wno-deprecated-register -Wno-inconsistent-missing-override -target arm-linux-gnueabihf -march=armv7-a -no-integrated-as -mtune=generic-armv7-a -mfpu=neon -mfloat-abi=hard -mthumb --sysroot=/vagrant_data/buildhost/src/chrome/installer/linux/debian_wheezy_arm-sysroot -O0 -g -gdwarf-4 -funwind-tables -Wno-undefined-bool-conversion -Wno-tautological-undefined-compare -fno-exceptions -fno-rtti -fno-threadsafe-statics -fvisibility-inlines-hidden -Wsign-compare -std=gnu++11  -c ../../mojo/public/cpp/bindings/lib/array_internal.cc -o obj/mojo/public/cpp/bindings/lib/mojo_cpp_bindings.array_internal.o
/tmp/array_internal-227b6c.s: Assembler messages:
/tmp/array_internal-227b6c.s:1180: Internal error!
Assertion failure in get_line_subseg at ../../gas/dwarf2dbg.c line 271.
Please report this bug.
clang: error: assembler command failed with exit code 1 (use -v to see invocation)
[66/18785] CXX obj/mojo/public/cpp/bindings/lib/mojo_cpp_bindings.message_queue.o
ninja: build stopped: subcommand failed.

เกี่ยวกับ Precise64 เมื่อclang=FalseFAILED

เมื่อใช้chromium.gyp_env(ไม่มีตัวแปร env.)

vagrant@vagrant:/vagrant_data/buildhost/src$ more ../chromium.gyp_env 
{ 'GYP_DEFINES': 'target_arch=arm arm_float_abi=hard component=shared_library linux_use_gold_flags=1 clang=False', 'GYP_CROSSCOMPILE': 'True', }

ฉันได้รับสิ่งนี้

vagrant@vagrant:/vagrant_data/buildhost/src$ ninja -C out/Debug chrome
ninja: Entering directory `out/Debug'
[2/18785] CC obj/third_party/libwebp/dsp/libwebp_dsp.enc_sse2.o
FAILED: cc -MMD -MF obj/third_party/libwebp/dsp/libwebp_dsp.enc_sse2.o.d -DV8_DEPRECATION_WARNINGS -D_FILE_OFFSET_BITS=64 -DCHROMIUM_BUILD -DCOMPONENT_BUILD -DTOOLKIT_VIEWS=1 -DUI_COMPOSITOR_IMAGE_TRANSPORT -DUSE_AURA=1 -DUSE_ASH=1 -DUSE_PANGO=1 -DUSE_CAIRO=1 -DUSE_DEFAULT_RENDER_THEME=1 -DUSE_LIBJPEG_TURBO=1 -DUSE_X11=1 -DUSE_CLIPBOARD_AURAX11=1 -DENABLE_ONE_CLICK_SIGNIN -DENABLE_PRE_SYNC_BACKUP -DENABLE_REMOTING=1 -DENABLE_WEBRTC=1 -DENABLE_PEPPER_CDMS -DENABLE_CONFIGURATION_POLICY -DENABLE_NOTIFICATIONS -DUSE_UDEV -DDONT_EMBED_BUILD_METADATA -DENABLE_TASK_MANAGER=1 -DENABLE_EXTENSIONS=1 -DENABLE_PLUGINS=1 -DENABLE_SESSION_SERVICE=1 -DENABLE_THEMES=1 -DENABLE_AUTOFILL_DIALOG=1 -DENABLE_BACKGROUND=1 -DENABLE_GOOGLE_NOW=1 -DCLD_VERSION=2 -DENABLE_PRINTING=1 -DENABLE_BASIC_PRINTING=1 -DENABLE_PRINT_PREVIEW=1 -DENABLE_SPELLCHECK=1 -DENABLE_CAPTIVE_PORTAL_DETECTION=1 -DENABLE_APP_LIST=1 -DENABLE_SETTINGS_APP=1 -DENABLE_SUPERVISED_USERS=1 -DENABLE_MDNS=1 -DENABLE_SERVICE_DISCOVERY=1 -DV8_USE_EXTERNAL_STARTUP_DATA -DUSE_LIBPCI=1 -DUSE_GLIB=1 -DUSE_NSS=1 -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DWTF_USE_DYNAMIC_ANNOTATIONS=1 -D_DEBUG -D_GLIBCXX_DEBUG=1 -Igen -I../../third_party/libwebp -fstack-protector --param=ssp-buffer-size=4 -pthread -fno-strict-aliasing -Wno-unused-parameter -Wno-missing-field-initializers -fvisibility=hidden -pipe -fPIC -Wno-format -Wno-unused-result -march=armv7-a -mtune=generic-armv7-a -mfpu=neon -mfloat-abi=hard -mthumb --sysroot=/vagrant_data/buildhost/src/chrome/installer/linux/debian_wheezy_arm-sysroot -O0 -g -gdwarf-4 -funwind-tables   -c ../../third_party/libwebp/dsp/enc_sse2.c -o obj/third_party/libwebp/dsp/libwebp_dsp.enc_sse2.o
cc1: error: unrecognized command line option ‘-mfpu=neon’
cc1: error: unrecognized command line option ‘-mfloat-abi=hard’
cc1: error: unrecognized command line option ‘-mthumb’
../../third_party/libwebp/dsp/enc_sse2.c:1:0: error: bad value (generic-armv7-a) for -mtune= switch
../../third_party/libwebp/dsp/enc_sse2.c:1:0: error: bad value (armv7-a) for -march= switch
../../third_party/libwebp/dsp/enc_sse2.c:1:0: error: bad value (generic-armv7-a) for -mtune= switch
[2/18785] ACTION Generating libudev0 library loader
ninja: build stopped: subcommand failed.

บนแม่นยำ 64 เมื่อส่งออก env ตัวแปรclang=0

เมื่อไหร่

vagrant@vagrant:/vagrant_data/buildhost/src$ env | grep GYP
GYP_CROSSCOMPILE=1
GYP_DEFINES=target_arch=arm arm_float_abi=hard component=shared_library linux_use_gold_flags=1 clang=0

ฉันได้รับข้อผิดพลาดนี้

$ ninja -C out/Debug chrome
ninja: Entering directory `out/Debug'
[6/18785] CXX obj/components/crash/app/crash_component_lib.crash_reporter_client.o
FAILED: /usr/bin/arm-linux-gnueabihf-g++ -MMD -MF obj/components/crash/app/crash_component_lib.crash_reporter_client.o.d -DV8_DEPRECATION_WARNINGS -D_FILE_OFFSET_BITS=64 -DCHROMIUM_BUILD -DCOMPONENT_BUILD -DTOOLKIT_VIEWS=1 -DUI_COMPOSITOR_IMAGE_TRANSPORT -DUSE_AURA=1 -DUSE_ASH=1 -DUSE_PANGO=1 -DUSE_CAIRO=1 -DUSE_DEFAULT_RENDER_THEME=1 -DUSE_LIBJPEG_TURBO=1 -DUSE_X11=1 -DUSE_CLIPBOARD_AURAX11=1 -DENABLE_ONE_CLICK_SIGNIN -DENABLE_PRE_SYNC_BACKUP -DENABLE_REMOTING=1 -DENABLE_WEBRTC=1 -DENABLE_PEPPER_CDMS -DENABLE_CONFIGURATION_POLICY -DENABLE_NOTIFICATIONS -DUSE_UDEV -DDONT_EMBED_BUILD_METADATA -DENABLE_TASK_MANAGER=1 -DENABLE_EXTENSIONS=1 -DENABLE_PLUGINS=1 -DENABLE_SESSION_SERVICE=1 -DENABLE_THEMES=1 -DENABLE_AUTOFILL_DIALOG=1 -DENABLE_BACKGROUND=1 -DENABLE_GOOGLE_NOW=1 -DCLD_VERSION=2 -DENABLE_PRINTING=1 -DENABLE_BASIC_PRINTING=1 -DENABLE_PRINT_PREVIEW=1 -DENABLE_SPELLCHECK=1 -DENABLE_CAPTIVE_PORTAL_DETECTION=1 -DENABLE_APP_LIST=1 -DENABLE_SETTINGS_APP=1 -DENABLE_SUPERVISED_USERS=1 -DENABLE_MDNS=1 -DENABLE_SERVICE_DISCOVERY=1 -DV8_USE_EXTERNAL_STARTUP_DATA -DUSE_LIBPCI=1 -DUSE_GLIB=1 -DUSE_NSS=1 -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DWTF_USE_DYNAMIC_ANNOTATIONS=1 -D_DEBUG -D_GLIBCXX_DEBUG=1 -Igen -I../.. -I../../breakpad/src -fstack-protector --param=ssp-buffer-size=4 -Werror -pthread -fno-strict-aliasing -Wall -Wno-unused-parameter -Wno-missing-field-initializers -fvisibility=hidden -pipe -fPIC -march=armv7-a -mtune=generic-armv7-a -mfpu=neon -mfloat-abi=hard -mthumb --sysroot=/vagrant_data/buildhost/src/chrome/installer/linux/debian_wheezy_arm-sysroot -O0 -g -gdwarf-4 -funwind-tables -fno-exceptions -fno-rtti -fno-threadsafe-statics -fvisibility-inlines-hidden -Wsign-compare -Wno-abi  -c ../../components/crash/app/crash_reporter_client.cc -o obj/components/crash/app/crash_component_lib.crash_reporter_client.o
In file included from ../../base/basictypes.h:18:0,
                 from ../../base/strings/string16.h:33,
                 from ../../components/crash/app/crash_reporter_client.h:10,
                 from ../../components/crash/app/crash_reporter_client.cc:5:
../../base/macros.h:165:3: error: identifier ‘static_assert’ will become a keyword in C++0x [-Werror=c++0x-compat]
../../base/macros.h: In function ‘Dest bit_cast(const Source&)’:
../../base/macros.h:165:3: error: there are no arguments to ‘static_assert’ that depend on a template parameter, so a declaration of ‘static_assert’ must be available [-fpermissive]
../../base/macros.h:165:3: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated)
In file included from ../../components/crash/app/crash_reporter_client.h:10:0,
                 from ../../components/crash/app/crash_reporter_client.cc:5:
../../base/strings/string16.h: At global scope:
../../base/strings/string16.h:67:3: error: expected identifier before ‘sizeof’
../../base/strings/string16.h:67:3: error: expected ‘,’ or ‘...’ before ‘sizeof’
../../base/strings/string16.h:67:3: error: ISO C++ forbids declaration of ‘static_assert’ with no type [-fpermissive]
In file included from ../../base/files/file_path.h:111:0,
                 from ../../components/crash/app/crash_reporter_client.cc:7:
../../base/containers/hash_tables.h:171:61: error: ‘>>’ operator will be treated as two right angle brackets in C++0x [-Werror=c++0x-compat]
../../base/containers/hash_tables.h:171:61: note: suggest parentheses around ‘>>’ expression
../../base/containers/hash_tables.h:171:61: error: ‘>>’ should be ‘> >’ within a nested template argument list
../../base/containers/hash_tables.h:172:1: error: expected unqualified-id before ‘using’
../../base/containers/hash_tables.h:177:61: error: ‘>>’ operator will be treated as two right angle brackets in C++0x [-Werror=c++0x-compat]
../../base/containers/hash_tables.h:177:61: note: suggest parentheses around ‘>>’ expression
../../base/containers/hash_tables.h:177:61: error: ‘>>’ should be ‘> >’ within a nested template argument list
../../base/containers/hash_tables.h:178:1: error: expected unqualified-id before ‘using’
../../base/containers/hash_tables.h:184:42: error: ‘>>’ operator will be treated as two right angle brackets in C++0x [-Werror=c++0x-compat]
../../base/containers/hash_tables.h:184:42: note: suggest parentheses around ‘>>’ expression
../../base/containers/hash_tables.h:184:42: error: spurious ‘>>’, use ‘>’ to terminate a template argument list
../../base/containers/hash_tables.h:185:1: error: expected ‘>’ before ‘using’
../../base/containers/hash_tables.h:186:68: error: expected unqualified-id before ‘;’ token
../../base/containers/hash_tables.h:191:42: error: ‘>>’ operator will be treated as two right angle brackets in C++0x [-Werror=c++0x-compat]
../../base/containers/hash_tables.h:191:42: note: suggest parentheses around ‘>>’ expression
../../base/containers/hash_tables.h:191:42: error: spurious ‘>>’, use ‘>’ to terminate a template argument list
../../base/containers/hash_tables.h:192:1: error: expected ‘>’ before ‘using’
../../base/containers/hash_tables.h:192:76: error: expected unqualified-id before ‘;’ token
cc1plus: all warnings being treated as errors
[6/18785] ACTION Generating resources from blink_resources.grd
ninja: build stopped: subcommand failed.

การรวบรวมสำเร็จสมบูรณ์

ใน Precise64 4GB หน่วยความจำ Vagrant VM

สิ่งแวดล้อม

GYP_CROSSCOMPILE=1
GYP_DEFINES=target_arch=arm arm_float_abi=hard component=shared_library linux_use_gold_flags=1

และสร้างขึ้นในโหมด Release

ninja -v -C out/Release chrome

vagrant@vagrant:~/chromium/buildhost/src/out/Release$ ls
build.ninja             gen         icudtl.dat              libpdf.so      nacl_bootstrap_raw       nacl_irt_arm.nexe.debug.raw  protoc                             resources          yasm
chrome                  genmacro    java_mojo               libpdf.so.TOC  nacl_helper              natives_blob.bin             pseudo_locales                     resources.pak
chrome.1                genmodule   keyboard_resources.pak  libyuv.a       nacl_helper_bootstrap    obj                          pyproto                            snapshot_blob.bin
chrome_100_percent.pak  genperf     lib                     libyuv_neon.a  nacl_irt_arm.nexe        obj.host                     re2c                               tls_edit
chrome-wrapper          genstring   libffmpegsumo.so        locales        nacl_irt_arm.nexe.cmd    pnacl                        remoting_locales                   xdg-mime

กับ

vagrant@vagrant:~/chromium/buildhost/src/out/Release$ ls -alh chrome
-rwxrwxr-x 1 vagrant vagrant 39M Jan 12 22:47 chrome

คลิกที่นี่เพื่อตอบกลับฉันจะติดตั้ง Chrome บนแขนเปล่า Linux 3.0.8 armv7l ของฉันได้อย่างไร


1
เริ่มต้นล้างออกสร้างไดเรกทอรีของคุณติดตั้งเครื่องมือ Depot และทำตามสูตรที่ 2 แจ้งให้เราทราบผลลัพธ์ ...
eyoung100

ตกลงฉันเข้าใจแล้ว ผมเริ่มต้นด้วยสภาพแวดล้อมที่สะอาดและไม่มีการตั้งค่า CC, CXX ฯลฯ ดูคำถามของฉันการปรับปรุง
zabumba

คำตอบ:


13

ตอนนี้ที่ทำงานฉันจะเขียนคำตอบทีละขั้นตอน ก่อนอื่นคุณดูเหมือนจะทำตามขั้นตอนในลำดับที่ผิด ดังนั้นฉันจะระบุหมายเลขขั้นตอนเหล่านี้ตามลำดับที่ควรดำเนินการ

  1. mkdir -pv ~/chromium
  2. cd ~/chromium
  3. git config --global user.name “Joel Maranhao”
  4. git config --global user.email “youremail@example.com”
  5. git config --global core.autocrlf false
  6. git config --global core.filemode false
  7. git config --global color.ui true
  8. git clone https://chromium.googlesource.com/chromium/tools/depot_tools
  9. export PATH=$PATH:~/chromium/depot_tools ดูอัพเดตหมายเหตุ 1
  10. mkdir -v ~/chromium/buildhost ดูอัปเดตหมายเหตุ 2
  11. cd ../buildhost ดูอัปเดตหมายเหตุ 2
  12. fetch --nohooks chromium
  13. cd src && ./build/install-build-deps.sh ดูหมายเหตุ 3
  14. sudo apt-get install gcc-arm-linux-gnueabihf
  15. sudo apt-get install g++-4.8-multilib-arm-linux-gnueabihf
  16. ./build/install-build-deps.sh --arm ดูหมายเหตุ 3
  17. gclient sync
  18. GYP_CROSSCOMPILE=1 GYP_DEFINES=target_arch=arm arm_float_abi=hard component=shared_library linux_use_gold_flags=1 ดูหมายเหตุ 4
  19. gclient runhooks
  20. ninja -C out/Debug chrome

ขั้นตอนการแจ้งให้ทราบล่วงหน้า 17 - 19 ขั้นตอนที่ 18 แทนที่งบส่งออกจากสูตร 2 ใน chromium.gyp_env แฟ้ม (สวิทช์นี้ได้อย่างมีประสิทธิภาพสร้างคอมไพเลอร์ไปclang) ขั้นตอนที่ 19 นำเข้าการตั้งค่า chromium.gyp_env และจะเรียกใช้งาน buildscripts ที่เหมาะสมตามลำดับที่ถูกต้อง

คำเตือน: ขั้นตอนการทดสอบ

ฉันจะทดสอบขั้นตอนเหล่านี้บน XUbuntu VM ของฉันและรายงานกลับ / ปรับปรุง ฯลฯ


บันทึกการปรับปรุง

  1. แนะนำให้ทำการเปลี่ยนแปลงแบบถาวรกับPATHตัวแปรหากคุณทำฆ้องมากกว่าหนึ่งครั้ง ค้นหาสิ่งต่อไปนี้:

# set PATH so it includes user's private bin if it exists if [ -d "$HOME/bin" ] ; then PATH="$HOME/bin:$PATH" fi

ใน$HOME\.profile. เพิ่ม PATH=$PATH:~/chromium/depot_toolsเพื่อให้ifดูเหมือนว่าสุดท้าย:

# set PATH so it includes user's private bin if it exists if [ -d "$HOME/bin" ] ; then PATH="$HOME/bin:$PATH" PATH=$PATH:~/chromium/depot_tools fi

ถ้าจำเป็นให้สร้าง$HOME/binไดเรกทอรี (ไม่มีอยู่ใน VM ของฉัน) จากนั้นออกจากระบบและกลับเข้ามาอีกครั้ง


  1. จากการศึกษาโพสต์ของคุณในขณะที่ดาวน์โหลดข้อมูลกิ๊กและกิ๊กจากที่เก็บฉันเห็นว่าคุณรันfetchสคริปต์และดาวน์โหลดซอร์สโค้ดลงในdepot_toolsไดเรกทอรี นี่เป็นข้อผิดพลาดทั่วไปและสามารถแก้ไขได้ง่ายโดยสร้างไดเรกทอรีแยกอย่างที่ฉันทำ สิ่งนี้จะช่วยให้เครื่องมือที่จำเป็นในการจัดการและจัดการไฟล์บิลด์แยกต่างหากจากรายการที่คุณกำลังสร้าง นอกจากนี้ยังช่วยให้มั่นใจได้ว่ารายการที่คุณกำลังสร้างไม่ได้รับมลพิษโดยเครื่องมือที่ใช้ในการสร้าง
  2. ผ่านครั้งแรกของการbuild-deps.shดาวน์โหลดเครื่องมือสร้างทั้งหมดโดยไม่คำนึงถึงการรวบรวมข้ามหรือไม่ จำเป็นต้องมีขั้นตอนที่ 14 และ 15 ในกรณีที่สคริปต์บ่นเกี่ยวกับแพ็คเกจที่จัดขึ้น รอบที่ 2 (ขั้นตอนที่ 16) ตั้งค่าการคอมไพล์ไขว้ ฉันจะอัปเดตบันทึกย่อนี้เมื่อบิลด์ทำงานต่อ
  3. ด้วยเหตุผลบางอย่าง OP และฉันทั้งคู่มีปัญหากับgyp_envไฟล์ ด้วยเหตุนี้ฉันได้อัปเดตขั้นตอนที่ 18 เพื่อรวมการส่งออกที่จำเป็น หากสนใจที่จะใช้gyp_envไฟล์ให้ดูเอกสารประกอบการใช้ Gyp , การกำหนดค่า Buildsและพารามิเตอร์การสร้าง Gyp ทั่วไป

1
@joelmaranhao ฉันอยู่ที่ขั้นตอนที่ 13 downlload หมดเวลาข้ามคืน
eyoung100

1
ใช้apt-cache search -multilib-arm-linux-gnueabihf ฉันใช้ 14.10 ดังนั้น 4.8 อาจ 4.6 เป็นต้น
eyoung100

1
ไม่ใช่ถ้า/build/install-build-deps.shไม่ได้รายงานข้อผิดพลาดระหว่างการผ่านครั้งแรก หากมีข้อผิดพลาดให้แทนที่ 4.8 ในขั้นตอนที่ 15 ด้วย 4.6 และรันซ้ำ/build/install-build-deps.sh
eyoung100

1
True คือ 1 มันเป็นตัวแปรไบนารี
eyoung100

1
ให้ลองใช้ตัวรวบรวมลินุกซ์เริ่มต้น ดูอัปเดตเป็นขั้นตอนที่ 18
eyoung100
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.