Cel
Muszę zainstalować Chromium na FriendlyARM z mini210s
systemem Linux 3.0.8 armv7l
Środowisko
- Vagrant box z Ubuntu Precise64
- Zainstalowano
depot_tools
zgodnie z tymi wytycznymi Get-the-code i Linux Chromium ARM
Toolchain depot_tools
Po otrzymaniu depot_tools
:
vagrant@vagrant:~/depot_tools$ fetch chromium
Zmienne środowiska
export GYP_CROSSCOMPILE=1
export GYP_DEFINES="target_arch=arm arm_float_abi=hard"
Zależności
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
Skompilować
build/gyp_chromium -Goutput_dir=out_arm
ninja -C out_arm/Debug chrome
Błędy
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.
Czekamy na kilka rekomendacji i wskazówek
Postępując zgodnie z instrukcjami eyoung100 , nadal pojawia się błąd, ale dalej
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.
Wysłany problem w innej grupie Google:
Ten sam problem podczas kompilacji krzyżowej na maszynie wirtualnej Precise64
Występuje błąd podczas kompilacji krzyżowej na maszynie Wirtualnej Trusty64
AKTUALIZACJA Próba kompilacji krzyżowej na Ubuntu 14.04 (Trusty) NIE powiodła się
... podobny komunikat niż w przypadku 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.
Na Precise64 gdy clang=False
FAILED
Podczas korzystania chromium.gyp_env
(bez zmiennych środowiskowych)
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', }
rozumiem
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.
Na Precise64 podczas eksportu środowiska. zmienneclang=0
Kiedy
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
Otrzymuję ten błąd
$ 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.
Kompilacja zakończona sukcesem
W pamięci Precise64 4 GB Vagrant VM
Środowisko
GYP_CROSSCOMPILE=1
GYP_DEFINES=target_arch=arm arm_float_abi=hard component=shared_library linux_use_gold_flags=1
i zbudowany w trybie 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
z
vagrant@vagrant:~/chromium/buildhost/src/out/Release$ ls -alh chrome
-rwxrwxr-x 1 vagrant vagrant 39M Jan 12 22:47 chrome
Kliknij tutaj, aby odpowiedzieć na temat: Jak zainstalować Chrome na moim nagim systemie armv7l Linux 3.0.8?
chrome
arm
cross-compilation
assembly
zabumba
źródło
źródło
Odpowiedzi:
Teraz, gdy jestem w pracy, napiszę odpowiedź krok po kroku. Po pierwsze, wydaje się, że robisz kroki w niewłaściwej kolejności. W związku z tym ponumeruję te kroki w kolejności, w jakiej powinny zostać wykonane.
mkdir -pv ~/chromium
cd ~/chromium
git config --global user.name “Joel Maranhao”
git config --global user.email “[email protected]”
git config --global core.autocrlf false
git config --global core.filemode false
git config --global color.ui true
git clone https://chromium.googlesource.com/chromium/tools/depot_tools
export PATH=$PATH:~/chromium/depot_tools
Zobacz uwagi do aktualizacji 1mkdir -v ~/chromium/buildhost
Patrz uwaga aktualizacji 2cd ../buildhost
Patrz uwaga aktualizacji 2fetch --nohooks chromium
cd src && ./build/install-build-deps.sh
Uwaga 3sudo apt-get install gcc-arm-linux-gnueabihf
sudo apt-get install g++-4.8-multilib-arm-linux-gnueabihf
./build/install-build-deps.sh --arm
Uwaga 3gclient sync
GYP_CROSSCOMPILE=1 GYP_DEFINES=target_arch=arm arm_float_abi=hard component=shared_library linux_use_gold_flags=1
Uwaga 4gclient runhooks
ninja -C out/Debug chrome
Uwaga Kroki 17–19. Krok 18 zastępuje instrukcje eksportu z receptury 2 w pliku chromium.gyp_env (skutecznie przełącza kompilator kompilacji
clang
). Krok 19 importuje ustawienia chromium.gyp_env i uruchamia odpowiednie skrypty budujące w odpowiedniej kolejności.Ostrzeżenie: Kroki testowania
Testuję te kroki na mojej maszynie wirtualnej XUbuntu i zgłaszam kopię / aktualizację itp.
Aktualizuj notatki
PATH
zmiennej jest wskazane, jeśli masz zamiar zrobić to więcej niż jeden raz. Znajdź następujące:# set PATH so it includes user's private bin if it exists if [ -d "$HOME/bin" ] ; then PATH="$HOME/bin:$PATH" fi
w
$HOME\.profile
. DodajPATH=$PATH:~/chromium/depot_tools
, aby finałif
wyglądał następująco:# 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
W razie potrzeby utwórz
$HOME/bin
katalog (Nie istniał na mojej maszynie wirtualnej), a następnie wyloguj się i ponownie zaloguj.fetch
skrypt i pobrałeś kod źródłowy dodepot_tools
katalogu. Jest to częsty błąd i można go łatwo naprawić, tworząc, tak jak to zrobiłem, osobny katalog. Dzięki temu narzędzia potrzebne do zarządzania plikami roboczymi i manipulowania nimi są oddzielone od elementów, które budujesz. Zapewnia to również, że budowane przedmioty nie są zanieczyszczone narzędziami użytymi do ich zbudowania.build-deps.sh
pobierania wszystkich narzędzi do kompilacji, niezależnie od kompilacji krzyżowej, czy nie. Kroki 14 i 15 są potrzebne na wypadek, gdyby skrypt narzekał na wstrzymane pakiety. Drugie przejście (krok 16) ustawia kompilację krzyżową. Zaktualizuję tę notatkę w miarę postępu kompilacji.gyp_env
plikiem. Z tego powodu zaktualizowałem krok 18, aby uwzględnić niezbędne eksporty. Jeśli chcesz skorzystać zgyp_env
pliku, zobacz dokumentację użytkownika Gyp , Konfigurowanie kompilacji i Wspólne parametry kompilacji Gypźródło
apt-cache search -multilib-arm-linux-gnueabihf
Używam 14.10 więc 4.8 może być 4.6 itd./build/install-build-deps.sh
nie zgłasza błędu podczas pierwszego przejścia. Jeśli się narzeka, zamień 4.8 w kroku 15 na 4.6 i ponownie uruchom/build/install-build-deps.sh