Chromium cross compilation for ARM7 with ozone failure

92 views
Skip to first unread message

Mohamed elbrini

unread,
Jan 13, 2016, 6:08:46 AM1/13/16
to Ozone-Dev
Hi guys,

I am trying to cross compile chromium (47.0.2526.99) for an ARM7 platform with ozone support. The final goal is to add a new ozone platform. I am having a  hard time trying to compile chromium (Lot of gyp flags, weak machine, slow connection...).
Now i am facing a link problem.


Here are my flags:

export GYP_DEFINES="                                                                                    
        use_ash=0 \         
        use_ozone=1 \          
        use_aura=1 \       
        chromeos=0 \ 
        embedded=1 \     
        component=shared_library \  
        target_arch=arm \ 
        arm_float_abi=hard \ 
        host_arch=x64 \ 
        target_subarch=arm32 \   
        arm_version=7 \                                              
        sysroot=$STLINUX_TARGET_TOOLS/target \ 
        binutils_dir=$STLINUX_TARGET_TOOLS/bin \ 
        v8_target_arch=arm \ 
        v8_use_arm_eabi_hardfloat=1 \   
        v8_use_snapshot=False \  
        extra_warnings=0 \
        disable_glibc=0 \ 
        clang=0 \    
        linux_use_bundled_binutils=0 \ 
        linux_use_bundled_gold=0 \ 
        linux_use_gold_flags=0 \   
        linux_use_gold_binary=0 \   
        use_gnome_keyring=0 \   
        use_system_libexif=0 \     
        use_system_icu=0 \     
        ozone_auto_platforms=0 \  
        ozone_platform_test=1 \   
        ozone_platform=test \
        enable_webrtc=0 \



Here is the error:

[4/5875] SOLINK lib/libozone.so                                                                                    │  (utilisez "git add <fichier>..." pour mettre à jour ce qui sera validé)
FAILED: if [ ! -e lib/libozone.so -o ! -e lib/libozone.so.TOC ]; then ccache /opt/STM2/STLinux-2.4/devkit/armv7/bin│  (utilisez "git checkout -- <fichier>..." pour annuler les modifications dans la copie de travai
/armv7-linux-g++ -shared -Wl,-z,now -Wl,-z,relro -Wl,--fatal-warnings -Wl,-z,defs -pthread -Wl,-z,noexecstack -fPIC│l)
 -Wl,--disable-new-dtags --sysroot=/opt/STM2/STLinux-2.4/devkit/armv7/target  -Wl,-O1 -Wl,--as-needed -Wl,--gc-sect│
ions -o lib/libozone.so -Wl,-soname=libozone.so @lib/libozone.so.rsp && { readelf -d lib/libozone.so | grep SONAME │        modifié :         build/common.gypi
; nm -gD -f p lib/libozone.so | cut -f1-2 -d' '; } > lib/libozone.so.TOC; else ccache /opt/STM2/STLinux-2.4/devkit/│        modifié :         media/cdm/api (nouveaux commits)
armv7/bin/armv7-linux-g++ -shared -Wl,-z,now -Wl,-z,relro -Wl,--fatal-warnings -Wl,-z,defs -pthread -Wl,-z,noexecst│
ack -fPIC -Wl,--disable-new-dtags --sysroot=/opt/STM2/STLinux-2.4/devkit/armv7/target  -Wl,-O1 -Wl,--as-needed -Wl,│Fichiers non suivis:
--gc-sections -o lib/libozone.so -Wl,-soname=libozone.so @lib/libozone.so.rsp && { readelf -d lib/libozone.so | gre│  (utilisez "git add <fichier>..." pour inclure dans ce qui sera validé)
p SONAME ; nm -gD -f p lib/libozone.so | cut -f1-2 -d' '; } > lib/libozone.so.tmp && if ! cmp -s lib/libozone.so.tm
p lib/libozone.so.TOC; then mv lib/libozone.so.tmp lib/libozone.so.TOC ; fi; fi                                    │        q
obj/ui/ozone/public/ozone.ozone_platform.o: In function `ui::OzonePlatform::InitializeForUI()':                    │        third_party/openh264/
ozone_platform.cc:(.text._ZN2ui13OzonePlatform15InitializeForUIEv+0x28): undefined reference to `ui::DeviceDataMana│        third_party/re2/src/
ger::CreateInstance()'  


Need your help guys dont' let me down :)

Daniel Nicoara

unread,
Jan 13, 2016, 10:19:49 AM1/13/16
to Mohamed elbrini, Ozone-Dev
M47 is probably missing a dependency on ui/events/devices/events_devices.gyp:events_devices


Feel free to look at ToT for updates as most minor issues like this have been fixed already.

Mohamed elbrini

unread,
Jan 14, 2016, 8:35:12 AM1/14/16
to Ozone-Dev
After Daniel's reply, i added the missing dependency and compilation ends successfully.

However on runtime i have issues:

root@b2120-h410_a9:/mnt/chromium/Release# ./content_shell --disable-setuid-sandbox --ozone-platform=headless --ozone-dump-file=/tmp/content_shell.png --ui-disable-threaded-compositing
[1417:1417:1130/000806:494807830:FATAL:v8_initializer.cc(271)] Couldn't mmap v8 natives data file, status code is 1
#0 0x0000763f7856 base::debug::StackTrace::StackTrace()
#1 0x00007640c1dc logging::LogMessage::~LogMessage()
#2 0x000075f4e108 gin::V8Initializer::LoadV8Natives()
#3 0x00007576ce4e content::ContentMainRunnerImpl::Initialize()
#4 0x00007576c69e content::ContentMain()
#5 0x00000003a7b0 main
#6 0x000074817a24 __libc_start_main

Aborted


It seems some needed files are missing for v8. Any advice??

Mohamed elbrini

unread,
Jan 14, 2016, 12:21:16 PM1/14/16
to Ozone-Dev
I managed to make content_shell work, i added "v8_use_external_startup_data=0" to my flags. Thanks for your help
Reply all
Reply to author
Forward
0 new messages