Yet Another ARM Build question

Having problems with building or using CEF's C/C++ APIs? This forum is here to help. Please do not post bug reports or feature requests here.

Re: Yet Another ARM Build question

Postby rando » Sat Apr 14, 2018 10:48 am

Trying not be too annoying here, but...

If I try "./make_distrib.sh --arm-build --allow-partial", I get this error

Ninja build is required on all platforms


I tried "./make_distrib.sh --ninja-build --arm-build --allow-partial", which failed because I didn't create the chrome_sandox. I was under the impression I didn't need to.

Creating /home/rando/code/chromium_git/chromium/src/cef/binary_distrib/cef_binary_3.3359.1761.g4315f3b_linuxarm directory.
Creating README.TXT file.
Transferring /home/rando/code/chromium_git/chromium/src/cef/LICENSE.txt file.
Creating /home/rando/code/chromium_git/chromium/src/cef/binary_distrib/cef_binary_3.3359.1761.g4315f3b_linuxarm/include directory.
Creating /home/rando/code/chromium_git/chromium/src/cef/binary_distrib/cef_binary_3.3359.1761.g4315f3b_linuxarm/cmake directory.
Creating /home/rando/code/chromium_git/chromium/src/cef/binary_distrib/cef_binary_3.3359.1761.g4315f3b_linuxarm/libcef_dll directory.
Creating /home/rando/code/chromium_git/chromium/src/cef/binary_distrib/cef_binary_3.3359.1761.g4315f3b_linuxarm/include/base directory.
Transferring /home/rando/code/chromium_git/chromium/src/cef/include/base/cef_atomic_ref_count.h file.
...
Transferring /home/rando/code/chromium_git/chromium/src/cef/tests/ceftests/zip_reader_unittest.cc file.
-------- Running "/usr/bin/python fuse_gtest_files.py "/home/rando/code/chromium_git/chromium/src/cef/binary_distrib/cef_binary_3.3359.1761.g4315f3b_linuxarm/tests"" in "/home/rando/code/chromium_git/chromium/src/third_party/googletest/src/googletest/scripts"...
Building gtest directory structure.
Creating /home/rando/code/chromium_git/chromium/src/cef/binary_distrib/cef_binary_3.3359.1761.g4315f3b_linuxarm/tests/gtest/include/gtest directory.
Moving /home/rando/code/chromium_git/chromium/src/cef/binary_distrib/cef_binary_3.3359.1761.g4315f3b_linuxarm/tests/gtest/gtest.h file.
Creating /home/rando/code/chromium_git/chromium/src/cef/binary_distrib/cef_binary_3.3359.1761.g4315f3b_linuxarm/tests/gtest/src directory.
Moving /home/rando/code/chromium_git/chromium/src/cef/binary_distrib/cef_binary_3.3359.1761.g4315f3b_linuxarm/tests/gtest/gtest-all.cc file.
Transferring /home/rando/code/chromium_git/chromium/src/third_party/googletest/src/googletest/LICENSE file.
Transferring /home/rando/code/chromium_git/chromium/src/cef/tests/gtest/README.cef.in file.
Processing "/home/rando/code/chromium_git/chromium/src/cef/tests/cefclient/CMakeLists.txt.in" to "/home/rando/code/chromium_git/chromium/src/cef/binary_distrib/cef_binary_3.3359.1761.g4315f3b_linuxarm/tests/cefclient/CMakeLists.txt"...
Processing "/home/rando/code/chromium_git/chromium/src/cef/tests/cefsimple/CMakeLists.txt.in" to "/home/rando/code/chromium_git/chromium/src/cef/binary_distrib/cef_binary_3.3359.1761.g4315f3b_linuxarm/tests/cefsimple/CMakeLists.txt"...
Processing "/home/rando/code/chromium_git/chromium/src/cef/tests/gtest/CMakeLists.txt.in" to "/home/rando/code/chromium_git/chromium/src/cef/binary_distrib/cef_binary_3.3359.1761.g4315f3b_linuxarm/tests/gtest/CMakeLists.txt"...
Processing "/home/rando/code/chromium_git/chromium/src/cef/tests/ceftests/CMakeLists.txt.in" to "/home/rando/code/chromium_git/chromium/src/cef/binary_distrib/cef_binary_3.3359.1761.g4315f3b_linuxarm/tests/ceftests/CMakeLists.txt"...
Transferring /home/rando/code/chromium_git/chromium/src/cef/cef_paths.gypi file.
Transferring /home/rando/code/chromium_git/chromium/src/cef/cef_paths2.gypi file.
Traceback (most recent call last):
File "make_distrib.py", line 1005, in <module>
copy_files_list(build_dir, dst_dir, binaries)
File "make_distrib.py", line 301, in copy_files_list
raise Exception('Missing required path: %s' % source_path)
Exception: Missing required path: /home/rando/code/chromium_git/chromium/src/out/Debug_GN_arm/chrome_sandbox


I built the chrome_sandbox together with cefsimple. Fortunately that only took about a minute:

cd ~/code/chromium_git/chromium/src
ninja -C out/Debug_GN_arm cefsimple chrome_sandbox

I attempted to build the sandbox as explained in step 10:
export CHROME_DEVEL_SANDBOX=/usr/local/sbin/chrome-devel-sandbox
sudo BUILDTYPE=Debug_GN_arm ./build/update-linux-sandbox.sh

Could not find /usr/local/sbin/chrome-devel-sandbox, installing it now.
(using sudo so you may be asked for your password)
/home/rando/code/chromium_git/chromium/src/build/../out/Debug_GN_arm/chrome_sandbox: 1: /home/rando/code/chromium_git/chromium/src/build/../out/Debug_GN_arm/chrome_sandbox: Syntax error: word unexpected (expecting ")")
/usr/local/sbin/chrome-devel-sandbox: 1: /usr/local/sbin/chrome-devel-sandbox: Syntax error: word unexpected (expecting ")")
Your setuid sandbox is up to date
Make sure you have "export CHROME_DEVEL_SANDBOX=/usr/local/sbin/chrome-devel-sandbox" somewhere in your .bashrc
This variable is currently: empty


The reason for that is that my sandbox contains ARM binaries which won't run on my build host... makes sense when you think about it.

...perhaps I should better try to build the thing using Cefpython instructions. Although they don't go into cross compilation either :roll:
User avatar
rando
Newbie
 
Posts: 6
Joined: Wed Apr 11, 2018 6:18 am
Location: Europe

Re: Yet Another ARM Build question

Postby magreenblatt » Sat Apr 14, 2018 3:29 pm

Right. You need to build chrome_sandbox for make_distrib, and you shouldn't try to install it on the x86 host. Sorry the instructions are bad/missing for this.
magreenblatt
Site Admin
 
Posts: 12382
Joined: Fri May 29, 2009 6:57 pm

Re: Yet Another ARM Build question

Postby goldensss » Mon May 07, 2018 10:58 pm

hi
can you post your detail steps of build arm libcef.so please...

i'm still failed by following your steps in this question.

It will be find if there is a detailed step list .thank you.
goldensss
Newbie
 
Posts: 3
Joined: Mon May 07, 2018 9:18 pm

Re: Yet Another ARM Build question

Postby goldensss » Tue May 08, 2018 4:30 am

I get an error when building cefsimple or
sudo ninja -C out/Debug_GN_arm cef chrome_sandbox
they get the same error. don't know why


chromium_git/chromium/src$ sudo ninja -C out/Debug_GN_arm cefsimple
ninja: Entering directory `out/Debug_GN_arm'
[1/42536] SOLINK ./libVkLayer_core_validation.so
FAILED: libVkLayer_core_validation.so libVkLayer_core_validation.so.TOC
python "../../build/toolchain/gcc_solink_wrapper.py" --readelf="arm-linux-gnueabihf-readelf" --nm="arm-linux-gnueabihf-nm" --sofile="./libVkLayer_core_validation.so" --tocfile="./libVkLayer_core_validation.so.TOC" --output="./libVkLayer_core_validation.so" -- ../../third_party/llvm-build/Release+Asserts/bin/clang++ -shared -Wl,-Bsymbolic,--exclude-libs,ALL -Wl,--build-id=sha1 -fPIC -Wl,-z,noexecstack -Wl,-z,now -Wl,-z,relro -Wl,-z,defs -Wl,--no-as-needed -lpthread -Wl,--as-needed -fuse-ld=gold -B../../third_party/binutils/Linux_x64/Release/bin -Wl,--icf=all --target=arm-linux-gnueabihf -Wl,-O2 -Wl,--gc-sections -nostdlib++ --sysroot=../../build/linux/debian_sid_arm-sysroot -L../../build/linux/debian_sid_arm-sysroot/usr/local/lib/arm-linux-gnueabihf -Wl,-rpath-link=../../build/linux/debian_sid_arm-sysroot/usr/local/lib/arm-linux-gnueabihf -L../../build/linux/debian_sid_arm-sysroot/lib/arm-linux-gnueabihf -Wl,-rpath-link=../../build/linux/debian_sid_arm-sysroot/lib/arm-linux-gnueabihf -L../../build/linux/debian_sid_arm-sysroot/usr/lib/arm-linux-gnueabihf -Wl,-rpath-link=../../build/linux/debian_sid_arm-sysroot/usr/lib/arm-linux-gnueabihf -Werror -o "./libVkLayer_core_validation.so" -Wl,-soname="libVkLayer_core_validation.so" @"./libVkLayer_core_validation.so.rsp"
args.readelf= arm-linux-gnueabihf-readelf
args.sofile= ./libVkLayer_core_validation.so
Traceback (most recent call last):
File "../../build/toolchain/gcc_solink_wrapper.py", line 132, in <module>
sys.exit(main())
File "../../build/toolchain/gcc_solink_wrapper.py", line 115, in main
result, toc = CollectTOC(args)
File "../../build/toolchain/gcc_solink_wrapper.py", line 45, in CollectTOC
result, toc = CollectSONAME(args)
File "../../build/toolchain/gcc_solink_wrapper.py", line 26, in CollectSONAME
readelf = subprocess.Popen(wrapper_utils.CommandToRun([args.readelf, '-d', args.sofile]), stdout=subprocess.PIPE, bufsize=-1)
File "/usr/lib/python2.7/subprocess.py", line 711, in __init__
errread, errwrite)
File "/usr/lib/python2.7/subprocess.py", line 1343, in _execute_child
raise child_exception
OSError: [Errno 2] No such file or directory
[6/42536] CXX obj/third_party/crashpad/crashpad/util/util/file_reader.o
ninja: build stopped: subcommand failed.
goldensss
Newbie
 
Posts: 3
Joined: Mon May 07, 2018 9:18 pm

Re: Yet Another ARM Build question

Postby goldensss » Tue May 08, 2018 5:04 am

magreenblatt wrote:#2: You can specify --arm to install-build-deps but I'm not sure you need it with use_sysroot=true.

#8: The "NOTE: Not generating arm configuration due to missing sysroot directory" message suggests that the arm sysroot is not being downloaded. Do you have a "src/build/linux/debian_sid_arm-sysroot" directory? If not, try the manual sysroot download directions from issue #1990.


what about step 7 ?

--no-distrib --no-build --arm-build [Question: --no-build and --arm-build is, is that right?]

all these options will be usefull?
goldensss
Newbie
 
Posts: 3
Joined: Mon May 07, 2018 9:18 pm

Previous

Return to Support Forum

Who is online

Users browsing this forum: No registered users and 36 guests