Discussion:
32bit linux build of qt5.10.0 w/ webengine
(too old to reply)
Toan Pham
2017-12-18 15:46:24 UTC
Permalink
Hi,

I am having multiple problems w/ building qt5.10 w/ webengine support for
linux 32bit. Before I proceed further down that road, I would like to know
if there's a pre-built version of qt5.10.0 w/ webengine for linux 32bit
somewhere?


thank you and have a good day,

TP
Thiago Macieira
2017-12-18 16:39:39 UTC
Permalink
Post by Toan Pham
Hi,
I am having multiple problems w/ building qt5.10 w/ webengine support for
linux 32bit. Before I proceed further down that road, I would like to know
if there's a pre-built version of qt5.10.0 w/ webengine for linux 32bit
somewhere?
There isn't. Linux 32-bit is uncommon enough these days that it's not worth
spending CPU time building for it.

Please report your build issues. I did check a few days ago that qtwebengine
does not explicitly block 32-bit builds, so it should have worked.

Please make sure you have a 64-bit linker. Also make sure you have gold
available, it's possible that the regular BFD blows up due to memory use.
--
Thiago Macieira - thiago.macieira (AT) intel.com
Software Architect - Intel Open Source Technology Center
Toan Pham
2017-12-18 17:53:55 UTC
Permalink
Thiago,


I am running two parallel builds at the moment, and they are:


1. 32 bit LXC container (ubuntu 16.04 32bit)
The build is still compiling chronium web-engine for the last an hr
and a half. So far, I haven't had much problem w/ this one except that I
had to comment out a few lines in qtwebengine/qtwebengine.pro to get the
build started.



2. 32bit inside T2SDE sandbox (ref. http://t2sde.org)

This build stopped here:

make[4]: Entering directory
`/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/buildtools'
make[4]: Nothing to be done for `first'.
make[4]: Leaving directory
`/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/buildtools'
( test -e Makefile.configure_target ||
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtbase/bin/qmake
-o Makefile.configure_target
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/buildtools/
configure_target.pro ) && make -f Makefile.configure_target
make[4]: Entering directory
`/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/buildtools'
make[4]: Nothing to be done for `first'.
make[4]: Leaving directory
`/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/buildtools'
( test -e Makefile.gn ||
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtbase/bin/qmake
-o Makefile.gn
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/buildtools/
gn.pro ) && make -f Makefile.gn
Building gn manually in a temporary directory for bootstrapping...
Traceback (most recent call last):
File
"/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/3rdparty/chromium/tools/gn/bootstrap/bootstrap.py",
line 855, in <module>
sys.exit(main(sys.argv[1:]))
File
"/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/3rdparty/chromium/tools/gn/bootstrap/bootstrap.py",
line 127, in main
return run_build(build_dir, options)
File
"/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/3rdparty/chromium/tools/gn/bootstrap/bootstrap.py",
line 74, in run_build
build_gn_with_ninja_manually(tempdir, options)
File
"/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/3rdparty/chromium/tools/gn/bootstrap/bootstrap.py",
line 220, in build_gn_with_ninja_manually
check_call(cmd)
File
"/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/3rdparty/chromium/tools/gn/bootstrap/bootstrap.py",
line 45, in check_call
subprocess.check_call(cmd, cwd=GN_ROOT, **kwargs)
File "/usr/lib/python2.7/subprocess.py", line 535, in check_call
retcode = call(*popenargs, **kwargs)
File "/usr/lib/python2.7/subprocess.py", line 522, in call
return Popen(*popenargs, **kwargs).wait()
File "/usr/lib/python2.7/subprocess.py", line 709, in __init__
errread, errwrite)
File "/usr/lib/python2.7/subprocess.py", line 1326, in _execute_child
raise child_exception
OSError: [Errno 2] No such file or directory
Project ERROR: GN build error!
make[3]: *** [sub-gn-pro-make_first] Error 3
make[3]: Leaving directory
`/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/buildtools'
make[2]: *** [sub-buildtools-make_first] Error 2
make[2]: Leaving directory
`/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src'
make[1]: *** [sub-src-make_first] Error 2
make[1]: Leaving directory
`/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine'



Please let me know if you know what went wrong w/ the second build.


thanks,

TP
Post by Thiago Macieira
Post by Toan Pham
Hi,
I am having multiple problems w/ building qt5.10 w/ webengine support for
linux 32bit. Before I proceed further down that road, I would like to
know
Post by Toan Pham
if there's a pre-built version of qt5.10.0 w/ webengine for linux 32bit
somewhere?
There isn't. Linux 32-bit is uncommon enough these days that it's not worth
spending CPU time building for it.
Please report your build issues. I did check a few days ago that qtwebengine
does not explicitly block 32-bit builds, so it should have worked.
Please make sure you have a 64-bit linker. Also make sure you have gold
available, it's possible that the regular BFD blows up due to memory use.
--
Thiago Macieira - thiago.macieira (AT) intel.com
Software Architect - Intel Open Source Technology Center
_______________________________________________
Development mailing list
http://lists.qt-project.org/mailman/listinfo/development
Thiago Macieira
2017-12-18 18:08:28 UTC
Permalink
Post by Toan Pham
1. 32 bit LXC container (ubuntu 16.04 32bit)
The build is still compiling chronium web-engine for the last an hr
and a half. So far, I haven't had much problem w/ this one except that I
had to comment out a few lines in qtwebengine/qtwebengine.pro to get the
build started.
Can you share what those were?
Post by Toan Pham
2. 32bit inside T2SDE sandbox (ref. http://t2sde.org)
"/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine
/src/3rdparty/chromium/tools/gn/bootstrap/bootstrap.py", line 220, in
build_gn_with_ninja_manually
check_call(cmd)
File
"/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine
/src/3rdparty/chromium/tools/gn/bootstrap/bootstrap.py", line 45, in
check_call
subprocess.check_call(cmd, cwd=GN_ROOT, **kwargs)
File "/usr/lib/python2.7/subprocess.py", line 535, in check_call
retcode = call(*popenargs, **kwargs)
File "/usr/lib/python2.7/subprocess.py", line 522, in call
return Popen(*popenargs, **kwargs).wait()
File "/usr/lib/python2.7/subprocess.py", line 709, in __init__
errread, errwrite)
File "/usr/lib/python2.7/subprocess.py", line 1326, in _execute_child
raise child_exception
OSError: [Errno 2] No such file or directory
Project ERROR: GN build error!
Please let me know if you know what went wrong w/ the second build.
Some file is missing or failed to be build. Sorry, I don't have the chromium
sources in my checkout so I can't tell what it's looking for. Given that you
have one build working and one not, it's very likely this sandbox is missing
some required tool.

Look into that bootstrap.py file to find out what it tried to run.
--
Thiago Macieira - thiago.macieira (AT) intel.com
Software Architect - Intel Open Source Technology Center
Michal Klocek
2017-12-18 20:01:56 UTC
Permalink
Hi

It looks like the build can not proceed because of lack of working
ninja. Qt configure detects system ninja, and in case it does not work
builds internal one. In case for some reason this failed you can
still force the build to use internal ninja with configure option:

-no-feature-webengine-system-ninja

Br

Michal
Post by Toan Pham
Thiago,
1. 32 bit LXC container (ubuntu 16.04 32bit)
The build is still compiling chronium web-engine for the last an hr
and a half. So far, I haven't had much problem w/ this one except that
I had to comment out a few lines in qtwebengine/qtwebengine.pro
<http://qtwebengine.pro> to get the build started.
2. 32bit inside T2SDE sandbox (ref. http://t2sde.org)
make[4]: Entering directory
`/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/buildtools'
make[4]: Nothing to be done for `first'.
make[4]: Leaving directory
`/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/buildtools'
( test -e Makefile.configure_target ||
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtbase/bin/qmake
-o Makefile.configure_target
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/buildtools/configure_target.pro
<http://configure_target.pro> ) && make -f Makefile.configure_target
make[4]: Entering directory
`/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/buildtools'
make[4]: Nothing to be done for `first'.
make[4]: Leaving directory
`/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/buildtools'
( test -e Makefile.gn ||
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtbase/bin/qmake
-o Makefile.gn
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/buildtools/gn.pro
<http://gn.pro> ) && make -f Makefile.gn
Building gn manually in a temporary directory for bootstrapping...
File
"/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/3rdparty/chromium/tools/gn/bootstrap/bootstrap.py",
line 855, in <module>
sys.exit(main(sys.argv[1:]))
File
"/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/3rdparty/chromium/tools/gn/bootstrap/bootstrap.py",
line 127, in main
return run_build(build_dir, options)
File
"/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/3rdparty/chromium/tools/gn/bootstrap/bootstrap.py",
line 74, in run_build
build_gn_with_ninja_manually(tempdir, options)
File
"/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/3rdparty/chromium/tools/gn/bootstrap/bootstrap.py",
line 220, in build_gn_with_ninja_manually
check_call(cmd)
File
"/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/3rdparty/chromium/tools/gn/bootstrap/bootstrap.py",
line 45, in check_call
subprocess.check_call(cmd, cwd=GN_ROOT, **kwargs)
File "/usr/lib/python2.7/subprocess.py", line 535, in check_call
retcode = call(*popenargs, **kwargs)
File "/usr/lib/python2.7/subprocess.py", line 522, in call
return Popen(*popenargs, **kwargs).wait()
File "/usr/lib/python2.7/subprocess.py", line 709, in __init__
errread, errwrite)
File "/usr/lib/python2.7/subprocess.py", line 1326, in _execute_child
raise child_exception
OSError: [Errno 2] No such file or directory
Project ERROR: GN build error!
make[3]: *** [sub-gn-pro-make_first] Error 3
make[3]: Leaving directory
`/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/buildtools'
make[2]: *** [sub-buildtools-make_first] Error 2
make[2]: Leaving directory
`/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src'
make[1]: *** [sub-src-make_first] Error 2
make[1]: Leaving directory
`/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine'
Please let me know if you know what went wrong w/ the second build.
thanks,
TP
On Mon, Dec 18, 2017 at 11:39 AM, Thiago Macieira
Post by Toan Pham
Hi,
I am having multiple problems w/ building qt5.10 w/ webengine support for
linux 32bit. Before I proceed further down that road, I would like to know
if there's a pre-built version of qt5.10.0 w/ webengine for linux 32bit
somewhere?
There isn't. Linux 32-bit is uncommon enough these days that it's not worth
spending CPU time building for it.
Please report your build issues. I did check a few days ago that qtwebengine
does not explicitly block 32-bit builds, so it should have worked.
Please make sure you have a 64-bit linker. Also make sure you have gold
available, it's possible that the regular BFD blows up due to memory use.
--
Thiago Macieira - thiago.macieira (AT) intel.com <http://intel.com>
Software Architect - Intel Open Source Technology Center
_______________________________________________
Development mailing list
http://lists.qt-project.org/mailman/listinfo/development
<http://lists.qt-project.org/mailman/listinfo/development>
_______________________________________________
Development mailing list
http://lists.qt-project.org/mailman/listinfo/development
Allan Sandfeld Jensen
2017-12-18 19:14:58 UTC
Permalink
Post by Toan Pham
"/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine
/src/3rdparty/chromium/tools/gn/bootstrap/bootstrap.py", line 45, in
check_call
subprocess.check_call(cmd, cwd=GN_ROOT, **kwargs)
File "/usr/lib/python2.7/subprocess.py", line 535, in check_call
retcode = call(*popenargs, **kwargs)
File "/usr/lib/python2.7/subprocess.py", line 522, in call
return Popen(*popenargs, **kwargs).wait()
File "/usr/lib/python2.7/subprocess.py", line 709, in __init__
errread, errwrite)
File "/usr/lib/python2.7/subprocess.py", line 1326, in _execute_child
raise child_exception
OSError: [Errno 2] No such file or directory
Project ERROR: GN build error!
make[3]: *** [sub-gn-pro-make_first] Error 3
make[3]: Leaving directory
`/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine
/src/buildtools' make[2]: *** [sub-buildtools-make_first] Error 2
make[2]: Leaving directory
`/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine
/src' make[1]: *** [sub-src-make_first] Error 2
make[1]: Leaving directory
`/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine
'
Please let me know if you know what went wrong w/ the second build.
Looks like it expects ninja to be installed, but cant launch it. Check your
configure output and see if it detected system ninja and you have ninja
installed.

'Allan
Toan Pham
2017-12-19 17:16:47 UTC
Permalink
Here is brief update on my 32bit build:


1. 32bit build inside lxc container - code built successfully, qtwebengine
worked perfectly. The only problem w/ this one is that it does not use
compatible glibc library as my target board.

2. 32bit build inside t2 sandbox - I got the builder to use internal ninja
tool. However, I now faced w/ the error below:
BTW, t2 sandbox is a chroot build environment for building native and
also cross root filesystem. One major advantage of using it because it
completely isolates my development machine from the build environment after
the initial toolchain stage. I am just wondering if that was the reason
why ninja failed, as seen in the getcwd error!


/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/3rdparty/ninja/ninja
-C
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release
QtWebEngineCore
ninja: Entering directory
`/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release'
[1/21229] STAMP
obj/third_party/webrtc/modules/audio_coding/isac_fix_common.stamp
shell-init: error retrieving current directory: getcwd: cannot access
parent directories: Inappropriate ioctl for device
[2/21229] STAMP
obj/device/sensors/public/interfaces/interfaces__type_mappings.inputdeps.stamp
shell-init: error retrieving current directory: getcwd: cannot access
parent directories: Inappropriate ioctl for device
[3/21229] STAMP obj/media/midi/mojo_blink__type_mappings.inputdeps.stamp
shell-init: error retrieving current directory: getcwd: cannot access
parent directories: Inappropriate ioctl for device
[4/21229] ACTION
//extensions/features:features(/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/toolchain:target)
shell-init: error retrieving current directory: getcwd: cannot access
parent directories: Inappropriate ioctl for device
[5/21229] STAMP obj/extensions/features/features.stamp
shell-init: error retrieving current directory: getcwd: cannot access
parent directories: Inappropriate ioctl for device
[6/21229] COPY
../../3rdparty/chromium/third_party/WebKit/Source/devtools/front_end/Images/accelerometer-bottom.png
resources/inspector/Images/accelerometer-bottom.png
FAILED: resources/inspector/Images/accelerometer-bottom.png
ln -f
../../3rdparty/chromium/third_party/WebKit/Source/devtools/front_end/Images/accelerometer-bottom.png
resources/inspector/Images/accelerometer-bottom.png 2>/dev/null || (rm -rf
resources/inspector/Images/accelerometer-bottom.png && cp -af
../../3rdparty/chromium/third_party/WebKit/Source/devtools/front_end/Images/accelerometer-bottom.png
resources/inspector/Images/accelerometer-bottom.png)
shell-init: error retrieving current directory: getcwd: cannot access
parent directories: Inappropriate ioctl for device
shell-init: error retrieving current directory: getcwd: cannot access
parent directories: Inappropriate ioctl for device
cp: cannot create regular file
`/TOOLCHAIN/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/resources/inspector/Images/accelerometer-bottom.png':
No such file or directory
[7/21229] COPY
../../3rdparty/chromium/third_party/WebKit/Source/devtools/front_end/emulated_devices/goog...5x-vertical-keyboard-1x.png
resources/inspector/emulated_devices/google-nexus-5x-vertical-keyboard-1x.pn
FAILED:
resources/inspector/emulated_devices/google-nexus-5x-vertical-keyboard-1x.png
ln -f
../../3rdparty/chromium/third_party/WebKit/Source/devtools/front_end/emulated_devices/google-nexus-5x-vertical-keyboard-1x.png
resources/inspector/emulated_devices/google-nexus-5x-vertical-keyboard-1x.png
2>/dev/null || (rm -rf
resources/inspector/emulated_devices/google-nexus-5x-vertical-keyboard-1x.png
&& cp -af
../../3rdparty/chromium/third_party/WebKit/Source/devtools/front_end/emulated_devices/google-nexus-5x-vertical-keyboard-1x.png
resources/inspector/emulated_devices/google-nexus-5x-vertical-keyboard-1x.png)
shell-init: error retrieving current directory: getcwd: cannot access
parent directories: Inappropriate ioctl for device
shell-init: error retrieving current directory: getcwd: cannot access
parent directories: Inappropriate ioctl for device
cp: cannot create regular file
`/TOOLCHAIN/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/resources/inspector/emulated_devices/google-nexus-5x-vertical-keyboard-1x.png':
No such file or directory
[8/21229] ACTION
//media/midi:mojo_blink__type_mappings(/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/toolchain:target)
shell-init: error retrieving current directory: getcwd: cannot access
parent directories: Inappropriate ioctl for device
[9/21229] CXX obj/mojo/public/c/system/system/thunks.o
shell-init: error retrieving current directory: getcwd: cannot access
parent directories: Inappropriate ioctl for device
shell-init: error retrieving current directory: getcwd: cannot access
parent directories: Inappropriate ioctl for device
[10/21229] CXX obj/crypto/crypto/random.o
shell-init: error retrieving current directory: getcwd: cannot access
parent directories: Inappropriate ioctl for device
shell-init: error retrieving current directory: getcwd: cannot access
parent directories: Inappropriate ioctl for device
[11/21229] CXX obj/crypto/crypto/p224.o
shell-init: error retrieving current directory: getcwd: cannot access
parent directories: Inappropriate ioctl for device
shell-init: error retrieving current directory: getcwd: cannot access
parent directories: Inappropriate ioctl for device
[12/21229] CXX obj/crypto/crypto/p224_spake.o
shell-init: error retrieving current directory: getcwd: cannot access
parent directories: Inappropriate ioctl for device
shell-init: error retrieving current directory: getcwd: cannot access
parent directories: Inappropriate ioctl for device
[13/21229] CXX obj/media/shared_memory_support/audio_point.o
shell-init: error retrieving current directory: getcwd: cannot access
parent directories: Inappropriate ioctl for device
shell-init: error retrieving current directory: getcwd: cannot access
parent directories: Inappropriate ioctl for device
[14/21229] CXX obj/crypto/crypto/symmetric_key.o
shell-init: error retrieving current directory: getcwd: cannot access
parent directories: Inappropriate ioctl for device
shell-init: error retrieving current directory: getcwd: cannot access
parent directories: Inappropriate ioctl for device
[15/21229] CXX obj/crypto/crypto/sha2.o
shell-init: error retrieving current directory: getcwd: cannot access
parent directories: Inappropriate ioctl for device
shell-init: error retrieving current directory: getcwd: cannot access
parent directories: Inappropriate ioctl for device
ninja: build stopped: subcommand failed.
make[4]: *** [run_ninja] Error 1
make[4]: Leaving directory
`/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core'
make[3]: *** [sub-gn_run-pro-make_first] Error 2
make[3]: Leaving directory
`/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core'
make[2]: *** [sub-core-make_first] Error 2
make[2]: Leaving directory
`/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src'
make[1]: *** [sub-src-make_first] Error 2
make[1]: Leaving directory
`/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine'
Post by Toan Pham
Post by Toan Pham
"/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-
src-5.10.0/qtwebengine
Post by Toan Pham
/src/3rdparty/chromium/tools/gn/bootstrap/bootstrap.py", line 45, in
check_call
subprocess.check_call(cmd, cwd=GN_ROOT, **kwargs)
File "/usr/lib/python2.7/subprocess.py", line 535, in check_call
retcode = call(*popenargs, **kwargs)
File "/usr/lib/python2.7/subprocess.py", line 522, in call
return Popen(*popenargs, **kwargs).wait()
File "/usr/lib/python2.7/subprocess.py", line 709, in __init__
errread, errwrite)
File "/usr/lib/python2.7/subprocess.py", line 1326, in _execute_child
raise child_exception
OSError: [Errno 2] No such file or directory
Project ERROR: GN build error!
make[3]: *** [sub-gn-pro-make_first] Error 3
make[3]: Leaving directory
`/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-
src-5.10.0/qtwebengine
Post by Toan Pham
/src/buildtools' make[2]: *** [sub-buildtools-make_first] Error 2
make[2]: Leaving directory
`/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-
src-5.10.0/qtwebengine
Post by Toan Pham
/src' make[1]: *** [sub-src-make_first] Error 2
make[1]: Leaving directory
`/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-
src-5.10.0/qtwebengine
Post by Toan Pham
'
Please let me know if you know what went wrong w/ the second build.
Looks like it expects ninja to be installed, but cant launch it. Check your
configure output and see if it detected system ninja and you have ninja
installed.
'Allan
Toan Pham
2017-12-19 21:15:14 UTC
Permalink
Hi all,

I just found out that the build failed while running this command in
qtwebengine/src/core:

/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/3rdparty/ninja/ninja
-C
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release
QtWebEngineCore


I was able to resolve by changing to the release folder (see above) and
then ran the same command, then webengine started to compile. Obviously,
something was wrong w/ the t2 sandbox because ninja could not run getdir()
or chdir(). This may be a t2 build, so i will report it to their mailing
list. thank you for all your support.


TP
Post by Toan Pham
1. 32bit build inside lxc container - code built successfully,
qtwebengine worked perfectly. The only problem w/ this one is that it does
not use compatible glibc library as my target board.
2. 32bit build inside t2 sandbox - I got the builder to use internal
BTW, t2 sandbox is a chroot build environment for building native and
also cross root filesystem. One major advantage of using it because it
completely isolates my development machine from the build environment after
the initial toolchain stage. I am just wondering if that was the reason
why ninja failed, as seen in the getcwd error!
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-
src-5.10.0/qtwebengine/src/3rdparty/ninja/ninja -C
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-
src-5.10.0/qtwebengine/src/core/release QtWebEngineCore
ninja: Entering directory `/TOOLCHAIN/loop/target/
nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release'
[1/21229] STAMP obj/third_party/webrtc/modules/audio_coding/isac_fix_
common.stamp
shell-init: error retrieving current directory: getcwd: cannot access
parent directories: Inappropriate ioctl for device
[2/21229] STAMP obj/device/sensors/public/interfaces/interfaces__type_
mappings.inputdeps.stamp
shell-init: error retrieving current directory: getcwd: cannot access
parent directories: Inappropriate ioctl for device
[3/21229] STAMP obj/media/midi/mojo_blink__type_mappings.inputdeps.stamp
shell-init: error retrieving current directory: getcwd: cannot access
parent directories: Inappropriate ioctl for device
[4/21229] ACTION //extensions/features:features(/TOOLCHAIN/loop/
target)
shell-init: error retrieving current directory: getcwd: cannot access
parent directories: Inappropriate ioctl for device
[5/21229] STAMP obj/extensions/features/features.stamp
shell-init: error retrieving current directory: getcwd: cannot access
parent directories: Inappropriate ioctl for device
[6/21229] COPY ../../3rdparty/chromium/third_party/WebKit/Source/devtools/
front_end/Images/accelerometer-bottom.png resources/inspector/Images/
accelerometer-bottom.png
FAILED: resources/inspector/Images/accelerometer-bottom.png
ln -f ../../3rdparty/chromium/third_party/WebKit/Source/devtools/
front_end/Images/accelerometer-bottom.png resources/inspector/Images/accelerometer-bottom.png
2>/dev/null || (rm -rf resources/inspector/Images/accelerometer-bottom.png
&& cp -af ../../3rdparty/chromium/third_party/WebKit/Source/devtools/
front_end/Images/accelerometer-bottom.png resources/inspector/Images/
accelerometer-bottom.png)
shell-init: error retrieving current directory: getcwd: cannot access
parent directories: Inappropriate ioctl for device
shell-init: error retrieving current directory: getcwd: cannot access
parent directories: Inappropriate ioctl for device
cp: cannot create regular file `/TOOLCHAIN/target/nicebox/
sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/
resources/inspector/Images/accelerometer-bottom.png': No such file or
directory
[7/21229] COPY ../../3rdparty/chromium/third_party/WebKit/Source/devtools/
front_end/emulated_devices/goog...5x-vertical-keyboard-1x.png
resources/inspector/emulated_devices/google-nexus-5x-
vertical-keyboard-1x.pn
FAILED: resources/inspector/emulated_devices/google-nexus-5x-
vertical-keyboard-1x.png
ln -f ../../3rdparty/chromium/third_party/WebKit/Source/devtools/
front_end/emulated_devices/google-nexus-5x-vertical-keyboard-1x.png
resources/inspector/emulated_devices/google-nexus-5x-vertical-keyboard-1x.png
2>/dev/null || (rm -rf resources/inspector/emulated_
devices/google-nexus-5x-vertical-keyboard-1x.png && cp -af
../../3rdparty/chromium/third_party/WebKit/Source/devtools/
front_end/emulated_devices/google-nexus-5x-vertical-keyboard-1x.png
resources/inspector/emulated_devices/google-nexus-5x-
vertical-keyboard-1x.png)
shell-init: error retrieving current directory: getcwd: cannot access
parent directories: Inappropriate ioctl for device
shell-init: error retrieving current directory: getcwd: cannot access
parent directories: Inappropriate ioctl for device
cp: cannot create regular file `/TOOLCHAIN/target/nicebox/
sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/
No such file or directory
[8/21229] ACTION //media/midi:mojo_blink__type_mappings(/TOOLCHAIN/loop/
target)
shell-init: error retrieving current directory: getcwd: cannot access
parent directories: Inappropriate ioctl for device
[9/21229] CXX obj/mojo/public/c/system/system/thunks.o
shell-init: error retrieving current directory: getcwd: cannot access
parent directories: Inappropriate ioctl for device
shell-init: error retrieving current directory: getcwd: cannot access
parent directories: Inappropriate ioctl for device
[10/21229] CXX obj/crypto/crypto/random.o
shell-init: error retrieving current directory: getcwd: cannot access
parent directories: Inappropriate ioctl for device
shell-init: error retrieving current directory: getcwd: cannot access
parent directories: Inappropriate ioctl for device
[11/21229] CXX obj/crypto/crypto/p224.o
shell-init: error retrieving current directory: getcwd: cannot access
parent directories: Inappropriate ioctl for device
shell-init: error retrieving current directory: getcwd: cannot access
parent directories: Inappropriate ioctl for device
[12/21229] CXX obj/crypto/crypto/p224_spake.o
shell-init: error retrieving current directory: getcwd: cannot access
parent directories: Inappropriate ioctl for device
shell-init: error retrieving current directory: getcwd: cannot access
parent directories: Inappropriate ioctl for device
[13/21229] CXX obj/media/shared_memory_support/audio_point.o
shell-init: error retrieving current directory: getcwd: cannot access
parent directories: Inappropriate ioctl for device
shell-init: error retrieving current directory: getcwd: cannot access
parent directories: Inappropriate ioctl for device
[14/21229] CXX obj/crypto/crypto/symmetric_key.o
shell-init: error retrieving current directory: getcwd: cannot access
parent directories: Inappropriate ioctl for device
shell-init: error retrieving current directory: getcwd: cannot access
parent directories: Inappropriate ioctl for device
[15/21229] CXX obj/crypto/crypto/sha2.o
shell-init: error retrieving current directory: getcwd: cannot access
parent directories: Inappropriate ioctl for device
shell-init: error retrieving current directory: getcwd: cannot access
parent directories: Inappropriate ioctl for device
ninja: build stopped: subcommand failed.
make[4]: *** [run_ninja] Error 1
make[4]: Leaving directory `/TOOLCHAIN/loop/target/
nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core'
make[3]: *** [sub-gn_run-pro-make_first] Error 2
make[3]: Leaving directory `/TOOLCHAIN/loop/target/
nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core'
make[2]: *** [sub-core-make_first] Error 2
make[2]: Leaving directory `/TOOLCHAIN/loop/target/
nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src'
make[1]: *** [sub-src-make_first] Error 2
make[1]: Leaving directory `/TOOLCHAIN/loop/target/
nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine'
Post by Toan Pham
Post by Toan Pham
"/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.
10.0/qtwebengine
Post by Toan Pham
/src/3rdparty/chromium/tools/gn/bootstrap/bootstrap.py", line 45, in
check_call
subprocess.check_call(cmd, cwd=GN_ROOT, **kwargs)
File "/usr/lib/python2.7/subprocess.py", line 535, in check_call
retcode = call(*popenargs, **kwargs)
File "/usr/lib/python2.7/subprocess.py", line 522, in call
return Popen(*popenargs, **kwargs).wait()
File "/usr/lib/python2.7/subprocess.py", line 709, in __init__
errread, errwrite)
File "/usr/lib/python2.7/subprocess.py", line 1326, in _execute_child
raise child_exception
OSError: [Errno 2] No such file or directory
Project ERROR: GN build error!
make[3]: *** [sub-gn-pro-make_first] Error 3
make[3]: Leaving directory
`/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.
10.0/qtwebengine
Post by Toan Pham
/src/buildtools' make[2]: *** [sub-buildtools-make_first] Error 2
make[2]: Leaving directory
`/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.
10.0/qtwebengine
Post by Toan Pham
/src' make[1]: *** [sub-src-make_first] Error 2
make[1]: Leaving directory
`/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.
10.0/qtwebengine
Post by Toan Pham
'
Please let me know if you know what went wrong w/ the second build.
Looks like it expects ninja to be installed, but cant launch it. Check your
configure output and see if it detected system ninja and you have ninja
installed.
'Allan
Toan Pham
2017-12-21 20:30:49 UTC
Permalink
Hi all,


How do I add an include path (/usr/X11/include) to chromium build.

Not sure why qtwebengine did not detect include path /usr/X11/include
before starting the build. thanks




[1878/11462] CXX obj/skia/skia/SkFontConfigInterface_direct.o
FAILED: obj/skia/skia/SkFontConfigInterface_direct.o
/TOOLCHAIN/build/nicebox-9.0-trunk-nicebox-x86-pentium4-linux/TOOLCHAIN/tools.chroot/wrapper/g++
-MMD -MF obj/skia/skia/SkFontConfigInterface_direct.o.d
-DV8_DEPRECATION_WARNINGS -DUSE_UDEV -DUSE_AURA=1 -DUSE_NSS_CERTS=1
-DUSE_X11=1 -DNO_TCMALLOC -DDISABLE_NACL -DFULL_SAFE_BROWSING
-DSAFE_BROWSING_CSD -DSAFE_BROWSING_DB_LOCAL -DCHROMIUM_BUILD
-DFIELDTRIAL_TESTING_ENABLED -DTOOLKIT_QT -D_FILE_OFFSET_BITS=64
-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DNDEBUG -DNVALGRIND
-DDYNAMIC_ANNOTATIONS_ENABLED=0 -DSK_IGNORE_LINEONLY_AA_CONVEX_PATH_OPTS
-DSK_HAS_PNG_LIBRARY -DSK_HAS_WEBP_LIBRARY -DSK_HAS_JPEG_LIBRARY
-DSK_SUPPORT_GPU=1 -DSK_GAMMA_EXPONENT=1.2 -DSK_GAMMA_CONTRAST=0.2
-DSK_DEFAULT_FONT_CACHE_LIMIT=20971520 -DUSE_LIBJPEG_TURBO=1
-DU_USING_ICU_NAMESPACE=0 -DU_ENABLE_DYLOAD=0 -DU_STATIC_IMPLEMENTATION
-DICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_FILE -DUCHAR_TYPE=uint16_t -Igen
-I../../3rdparty/chromium -I../../3rdparty/chromium/skia/config
-I../../3rdparty/chromium/skia/ext
-I../../3rdparty/chromium/third_party/skia/include/c
-I../../3rdparty/chromium/third_party/skia/include/config
-I../../3rdparty/chromium/third_party/skia/include/core
-I../../3rdparty/chromium/third_party/skia/include/effects
-I../../3rdparty/chromium/third_party/skia/include/encode
-I../../3rdparty/chromium/third_party/skia/include/images
-I../../3rdparty/chromium/third_party/skia/include/lazy
-I../../3rdparty/chromium/third_party/skia/include/pathops
-I../../3rdparty/chromium/third_party/skia/include/pdf
-I../../3rdparty/chromium/third_party/skia/include/pipe
-I../../3rdparty/chromium/third_party/skia/include/ports
-I../../3rdparty/chromium/third_party/skia/include/utils
-I../../3rdparty/chromium/third_party/skia/third_party/vulkan
-I../../3rdparty/chromium/third_party/skia/include/gpu
-I../../3rdparty/chromium/third_party/skia/src/gpu
-I../../3rdparty/chromium/third_party/skia/src/sksl
-I../../3rdparty/chromium/third_party/skia/include/private
-I../../3rdparty/chromium/third_party/skia/include/client/android
-I../../3rdparty/chromium/third_party/skia/src/codec
-I../../3rdparty/chromium/third_party/skia/src/core
-I../../3rdparty/chromium/third_party/skia/src/image
-I../../3rdparty/chromium/third_party/skia/src/images
-I../../3rdparty/chromium/third_party/skia/src/opts
-I../../3rdparty/chromium/third_party/skia/src/pdf
-I../../3rdparty/chromium/third_party/skia/src/ports
-I../../3rdparty/chromium/third_party/skia/src/shaders
-I../../3rdparty/chromium/third_party/skia/src/shaders/gradients
-I../../3rdparty/chromium/third_party/skia/src/sfnt
-I../../3rdparty/chromium/third_party/skia/src/utils
-I../../3rdparty/chromium/third_party/skia/src/lazy
-I../../3rdparty/chromium/third_party/skia/src/effects/gradients
-I../../3rdparty/chromium/third_party/libwebp/src -I/usr/include/freetype2
-I../../3rdparty/chromium/third_party/libjpeg_turbo
-I../../3rdparty/chromium/third_party/libpng
-I../../3rdparty/chromium/third_party/zlib
-I../../3rdparty/chromium/third_party/icu/source/common
-I../../3rdparty/chromium/third_party/icu/source/i18n
-I../../3rdparty/chromium/third_party/sfntly/src/cpp/src
-fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector
-Wno-builtin-macro-redefined -D__DATE__= -D__TIME__= -D__TIMESTAMP__=
-funwind-tables -fPIC -pipe -pthread -m32 -msse2 -mfpmath=sse -mmmx
-fomit-frame-pointer -g0 -fvisibility=hidden -Wno-unused-local-typedefs
-Wno-maybe-uninitialized -Wno-missing-field-initializers
-Wno-unused-parameter -O2 -fno-ident -fdata-sections -ffunction-sections
-std=gnu++11 -fno-rtti -fno-exceptions -fvisibility-inlines-hidden
-Wno-narrowing -c
../../3rdparty/chromium/third_party/skia/src/ports/SkFontConfigInterface_direct.cpp
-o obj/skia/skia/SkFontConfigInterface_direct.o
In file included from
../../3rdparty/chromium/third_party/skia/src/ports/SkFontConfigInterface_direct.cpp:13:0:
../../3rdparty/chromium/third_party/skia/src/ports/SkFontConfigInterface_direct.h:12:35:
fatal error: fontconfig/fontconfig.h: No such file or directory
#include <fontconfig/fontconfig.h>
^
compilation terminated.
[1887/11462] CXX obj/skia/skia/SkSLSPIRVCodeGenerator.o
ninja: build stopped: subcommand failed.
make[3]: *** [run_ninja] Error 1
make[3]: Leaving directory
`/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core'
make[2]: *** [sub-gn_run-pro-make_first] Error 2
make[2]: Leaving directory
`/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core'
make[1]: *** [sub-core-make_first] Error 2
make[1]: Leaving directory
`/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src'
Post by Toan Pham
Hi all,
I just found out that the build failed while running this command in
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-
src-5.10.0/qtwebengine/src/3rdparty/ninja/ninja -C
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-
src-5.10.0/qtwebengine/src/core/release QtWebEngineCore
I was able to resolve by changing to the release folder (see above) and
then ran the same command, then webengine started to compile. Obviously,
something was wrong w/ the t2 sandbox because ninja could not run getdir()
or chdir(). This may be a t2 build, so i will report it to their mailing
list. thank you for all your support.
TP
Post by Toan Pham
1. 32bit build inside lxc container - code built successfully,
qtwebengine worked perfectly. The only problem w/ this one is that it does
not use compatible glibc library as my target board.
2. 32bit build inside t2 sandbox - I got the builder to use internal
BTW, t2 sandbox is a chroot build environment for building native
and also cross root filesystem. One major advantage of using it because it
completely isolates my development machine from the build environment after
the initial toolchain stage. I am just wondering if that was the reason
why ninja failed, as seen in the getcwd error!
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.
10.0/qtwebengine/src/3rdparty/ninja/ninja -C
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.
10.0/qtwebengine/src/core/release QtWebEngineCore
ninja: Entering directory `/TOOLCHAIN/loop/target/nicebo
x/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release'
[1/21229] STAMP obj/third_party/webrtc/modules
/audio_coding/isac_fix_common.stamp
shell-init: error retrieving current directory: getcwd: cannot access
parent directories: Inappropriate ioctl for device
[2/21229] STAMP obj/device/sensors/public/inte
rfaces/interfaces__type_mappings.inputdeps.stamp
shell-init: error retrieving current directory: getcwd: cannot access
parent directories: Inappropriate ioctl for device
[3/21229] STAMP obj/media/midi/mojo_blink__type_mappings.inputdeps.stamp
shell-init: error retrieving current directory: getcwd: cannot access
parent directories: Inappropriate ioctl for device
[4/21229] ACTION //extensions/features:features(/TOOLCHAIN/loop/target/
nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/
toolchain:target)
shell-init: error retrieving current directory: getcwd: cannot access
parent directories: Inappropriate ioctl for device
[5/21229] STAMP obj/extensions/features/features.stamp
shell-init: error retrieving current directory: getcwd: cannot access
parent directories: Inappropriate ioctl for device
[6/21229] COPY ../../3rdparty/chromium/third_
party/WebKit/Source/devtools/front_end/Images/accelerometer-bottom.png
resources/inspector/Images/accelerometer-bottom.png
FAILED: resources/inspector/Images/accelerometer-bottom.png
ln -f ../../3rdparty/chromium/third_party/WebKit/Source/devtools/f
ront_end/Images/accelerometer-bottom.png resources/inspector/Images/accelerometer-bottom.png
2>/dev/null || (rm -rf resources/inspector/Images/accelerometer-bottom.png
&& cp -af ../../3rdparty/chromium/third_party/WebKit/Source/devtools/f
ront_end/Images/accelerometer-bottom.png resources/inspector/Images/acc
elerometer-bottom.png)
shell-init: error retrieving current directory: getcwd: cannot access
parent directories: Inappropriate ioctl for device
shell-init: error retrieving current directory: getcwd: cannot access
parent directories: Inappropriate ioctl for device
cp: cannot create regular file `/TOOLCHAIN/target/nicebox/san
dbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/resources
/inspector/Images/accelerometer-bottom.png': No such file or directory
[7/21229] COPY ../../3rdparty/chromium/third_
party/WebKit/Source/devtools/front_end/emulated_devices/goog...5x-vertical-keyboard-1x.png
resources/inspector/emulated_devices/google-nexus-5x-vertica
l-keyboard-1x.pn
FAILED: resources/inspector/emulated_devices/google-nexus-5x-vertica
l-keyboard-1x.png
ln -f ../../3rdparty/chromium/third_party/WebKit/Source/devtools/f
ront_end/emulated_devices/google-nexus-5x-vertical-keyboard-1x.png
resources/inspector/emulated_devices/google-nexus-5x-vertical-keyboard-1x.png
2>/dev/null || (rm -rf resources/inspector/emulated_d
evices/google-nexus-5x-vertical-keyboard-1x.png && cp -af
../../3rdparty/chromium/third_party/WebKit/Source/devtools/f
ront_end/emulated_devices/google-nexus-5x-vertical-keyboard-1x.png
resources/inspector/emulated_devices/google-nexus-5x-vertica
l-keyboard-1x.png)
shell-init: error retrieving current directory: getcwd: cannot access
parent directories: Inappropriate ioctl for device
shell-init: error retrieving current directory: getcwd: cannot access
parent directories: Inappropriate ioctl for device
cp: cannot create regular file `/TOOLCHAIN/target/nicebox/san
dbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/resources
No such file or directory
[8/21229] ACTION //media/midi:mojo_blink__type_
mappings(/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywher
e-src-5.10.0/qtwebengine/src/toolchain:target)
shell-init: error retrieving current directory: getcwd: cannot access
parent directories: Inappropriate ioctl for device
[9/21229] CXX obj/mojo/public/c/system/system/thunks.o
shell-init: error retrieving current directory: getcwd: cannot access
parent directories: Inappropriate ioctl for device
shell-init: error retrieving current directory: getcwd: cannot access
parent directories: Inappropriate ioctl for device
[10/21229] CXX obj/crypto/crypto/random.o
shell-init: error retrieving current directory: getcwd: cannot access
parent directories: Inappropriate ioctl for device
shell-init: error retrieving current directory: getcwd: cannot access
parent directories: Inappropriate ioctl for device
[11/21229] CXX obj/crypto/crypto/p224.o
shell-init: error retrieving current directory: getcwd: cannot access
parent directories: Inappropriate ioctl for device
shell-init: error retrieving current directory: getcwd: cannot access
parent directories: Inappropriate ioctl for device
[12/21229] CXX obj/crypto/crypto/p224_spake.o
shell-init: error retrieving current directory: getcwd: cannot access
parent directories: Inappropriate ioctl for device
shell-init: error retrieving current directory: getcwd: cannot access
parent directories: Inappropriate ioctl for device
[13/21229] CXX obj/media/shared_memory_support/audio_point.o
shell-init: error retrieving current directory: getcwd: cannot access
parent directories: Inappropriate ioctl for device
shell-init: error retrieving current directory: getcwd: cannot access
parent directories: Inappropriate ioctl for device
[14/21229] CXX obj/crypto/crypto/symmetric_key.o
shell-init: error retrieving current directory: getcwd: cannot access
parent directories: Inappropriate ioctl for device
shell-init: error retrieving current directory: getcwd: cannot access
parent directories: Inappropriate ioctl for device
[15/21229] CXX obj/crypto/crypto/sha2.o
shell-init: error retrieving current directory: getcwd: cannot access
parent directories: Inappropriate ioctl for device
shell-init: error retrieving current directory: getcwd: cannot access
parent directories: Inappropriate ioctl for device
ninja: build stopped: subcommand failed.
make[4]: *** [run_ninja] Error 1
make[4]: Leaving directory `/TOOLCHAIN/loop/target/nicebo
x/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core'
make[3]: *** [sub-gn_run-pro-make_first] Error 2
make[3]: Leaving directory `/TOOLCHAIN/loop/target/nicebo
x/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core'
make[2]: *** [sub-core-make_first] Error 2
make[2]: Leaving directory `/TOOLCHAIN/loop/target/nicebo
x/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src'
make[1]: *** [sub-src-make_first] Error 2
make[1]: Leaving directory `/TOOLCHAIN/loop/target/nicebo
x/sandbox/qt-everywhere-src-5.10.0/qtwebengine'
Post by Toan Pham
Post by Toan Pham
"/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.
10.0/qtwebengine
Post by Toan Pham
/src/3rdparty/chromium/tools/gn/bootstrap/bootstrap.py", line 45, in
check_call
subprocess.check_call(cmd, cwd=GN_ROOT, **kwargs)
File "/usr/lib/python2.7/subprocess.py", line 535, in check_call
retcode = call(*popenargs, **kwargs)
File "/usr/lib/python2.7/subprocess.py", line 522, in call
return Popen(*popenargs, **kwargs).wait()
File "/usr/lib/python2.7/subprocess.py", line 709, in __init__
errread, errwrite)
File "/usr/lib/python2.7/subprocess.py", line 1326, in
_execute_child
Post by Toan Pham
raise child_exception
OSError: [Errno 2] No such file or directory
Project ERROR: GN build error!
make[3]: *** [sub-gn-pro-make_first] Error 3
make[3]: Leaving directory
`/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.
10.0/qtwebengine
Post by Toan Pham
/src/buildtools' make[2]: *** [sub-buildtools-make_first] Error 2
make[2]: Leaving directory
`/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.
10.0/qtwebengine
Post by Toan Pham
/src' make[1]: *** [sub-src-make_first] Error 2
make[1]: Leaving directory
`/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.
10.0/qtwebengine
Post by Toan Pham
'
Please let me know if you know what went wrong w/ the second build.
Looks like it expects ninja to be installed, but cant launch it. Check your
configure output and see if it detected system ninja and you have ninja
installed.
'Allan
Toan Pham
2017-12-21 20:57:15 UTC
Permalink
Sorry for so much email noise,

On my t2 sandbox environment, It only has 3G of RAM and that webengine
build stopped because it ran out of memory.

Does anyone know the minimal memory requirement to build qt w/ webengine.

thanks,







[10013] 0 10013 1785 102 1 0 0 sshd
[10015] 0 10015 965 74 7 0 0 bash
[10019] 0 10019 1785 93 2 0 0 sshd
[10023] 0 10023 965 75 7 0 0 bash
[29587] 0 29587 923 36 0 0 0 debug.sh
[29593] 0 29593 935 245 1 0 0 bash
[24417] 0 24417 923 34 0 0 0 debug.sh
[24418] 0 24418 935 242 1 0 0 bash
[32263] 0 32263 2441 1961 2 0 0 make
[32265] 0 32265 663 60 3 0 0 sh
[32267] 0 32267 2428 1971 4 0 0 make
[32285] 0 32285 663 59 5 0 0 sh
[32287] 0 32287 2355 1889 6 0 0 make
[32294] 0 32294 663 60 7 0 0 sh
[32296] 0 32296 2408 1952 0 0 0 make
[32297] 0 32297 663 60 1 0 0 sh
[32298] 0 32298 16109 15287 2 0 0 ninja
[ 2599] 0 2599 635 39 3 0 0 g++
[ 2601] 0 2601 104441 97898 1 0 0 cc1plus
[ 2602] 0 2602 1337 638 7 0 0 as
[ 2607] 0 2607 635 38 3 0 0 g++
[ 2609] 0 2609 110143 103510 1 0 0 cc1plus
[ 2610] 0 2610 1337 638 5 0 0 as
[ 2611] 0 2611 635 38 4 0 0 g++
[ 2613] 0 2613 106617 100108 1 0 0 cc1plus
[ 2614] 0 2614 1337 638 7 0 0 as
[ 2615] 0 2615 635 39 4 0 0 g++
[ 2617] 0 2617 106756 100048 1 0 0 cc1plus
[ 2618] 0 2618 1337 637 5 0 0 as
[ 2623] 0 2623 635 39 3 0 0 g++
[ 2625] 0 2625 96877 90704 1 0 0 cc1plus
[ 2626] 0 2626 1337 638 5 0 0 as
Out of memory: Kill process 2609 (cc1plus) score 84 or sacrifice child
Killed process 2609 (cc1plus) total-vm:440572kB, anon-rss:413632kB,
file-rss:408kB
Post by Toan Pham
Hi all,
How do I add an include path (/usr/X11/include) to chromium build.
Not sure why qtwebengine did not detect include path /usr/X11/include
before starting the build. thanks
[1878/11462] CXX obj/skia/skia/SkFontConfigInterface_direct.o
FAILED: obj/skia/skia/SkFontConfigInterface_direct.o
/TOOLCHAIN/build/nicebox-9.0-trunk-nicebox-x86-pentium4-
linux/TOOLCHAIN/tools.chroot/wrapper/g++ -MMD -MF obj/skia/skia/
SkFontConfigInterface_direct.o.d -DV8_DEPRECATION_WARNINGS -DUSE_UDEV
-DUSE_AURA=1 -DUSE_NSS_CERTS=1 -DUSE_X11=1 -DNO_TCMALLOC -DDISABLE_NACL
-DFULL_SAFE_BROWSING -DSAFE_BROWSING_CSD -DSAFE_BROWSING_DB_LOCAL
-DCHROMIUM_BUILD -DFIELDTRIAL_TESTING_ENABLED -DTOOLKIT_QT
-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DNDEBUG
-DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -DSK_IGNORE_LINEONLY_AA_CONVEX_PATH_OPTS
-DSK_HAS_PNG_LIBRARY -DSK_HAS_WEBP_LIBRARY -DSK_HAS_JPEG_LIBRARY
-DSK_SUPPORT_GPU=1 -DSK_GAMMA_EXPONENT=1.2 -DSK_GAMMA_CONTRAST=0.2
-DSK_DEFAULT_FONT_CACHE_LIMIT=20971520 -DUSE_LIBJPEG_TURBO=1
-DU_USING_ICU_NAMESPACE=0 -DU_ENABLE_DYLOAD=0 -DU_STATIC_IMPLEMENTATION
-DICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_FILE -DUCHAR_TYPE=uint16_t -Igen
-I../../3rdparty/chromium -I../../3rdparty/chromium/skia/config
-I../../3rdparty/chromium/skia/ext -I../../3rdparty/chromium/third_party/skia/include/c
-I../../3rdparty/chromium/third_party/skia/include/config
-I../../3rdparty/chromium/third_party/skia/include/core
-I../../3rdparty/chromium/third_party/skia/include/effects
-I../../3rdparty/chromium/third_party/skia/include/encode
-I../../3rdparty/chromium/third_party/skia/include/images
-I../../3rdparty/chromium/third_party/skia/include/lazy
-I../../3rdparty/chromium/third_party/skia/include/pathops
-I../../3rdparty/chromium/third_party/skia/include/pdf
-I../../3rdparty/chromium/third_party/skia/include/pipe
-I../../3rdparty/chromium/third_party/skia/include/ports
-I../../3rdparty/chromium/third_party/skia/include/utils
-I../../3rdparty/chromium/third_party/skia/third_party/vulkan
-I../../3rdparty/chromium/third_party/skia/include/gpu
-I../../3rdparty/chromium/third_party/skia/src/gpu
-I../../3rdparty/chromium/third_party/skia/src/sksl
-I../../3rdparty/chromium/third_party/skia/include/private
-I../../3rdparty/chromium/third_party/skia/include/client/android
-I../../3rdparty/chromium/third_party/skia/src/codec
-I../../3rdparty/chromium/third_party/skia/src/core
-I../../3rdparty/chromium/third_party/skia/src/image
-I../../3rdparty/chromium/third_party/skia/src/images
-I../../3rdparty/chromium/third_party/skia/src/opts
-I../../3rdparty/chromium/third_party/skia/src/pdf
-I../../3rdparty/chromium/third_party/skia/src/ports
-I../../3rdparty/chromium/third_party/skia/src/shaders
-I../../3rdparty/chromium/third_party/skia/src/shaders/gradients
-I../../3rdparty/chromium/third_party/skia/src/sfnt
-I../../3rdparty/chromium/third_party/skia/src/utils
-I../../3rdparty/chromium/third_party/skia/src/lazy
-I../../3rdparty/chromium/third_party/skia/src/effects/gradients
-I../../3rdparty/chromium/third_party/libwebp/src
-I/usr/include/freetype2 -I../../3rdparty/chromium/third_party/libjpeg_turbo
-I../../3rdparty/chromium/third_party/libpng -I../../3rdparty/chromium/third_party/zlib
-I../../3rdparty/chromium/third_party/icu/source/common
-I../../3rdparty/chromium/third_party/icu/source/i18n
-I../../3rdparty/chromium/third_party/sfntly/src/cpp/src
-fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector
-Wno-builtin-macro-redefined -D__DATE__= -D__TIME__= -D__TIMESTAMP__=
-funwind-tables -fPIC -pipe -pthread -m32 -msse2 -mfpmath=sse -mmmx
-fomit-frame-pointer -g0 -fvisibility=hidden -Wno-unused-local-typedefs
-Wno-maybe-uninitialized -Wno-missing-field-initializers
-Wno-unused-parameter -O2 -fno-ident -fdata-sections -ffunction-sections
-std=gnu++11 -fno-rtti -fno-exceptions -fvisibility-inlines-hidden
-Wno-narrowing -c ../../3rdparty/chromium/third_party/skia/src/ports/
SkFontConfigInterface_direct.cpp -o obj/skia/skia/
SkFontConfigInterface_direct.o
In file included from ../../3rdparty/chromium/third_party/skia/src/ports/
../../3rdparty/chromium/third_party/skia/src/ports/
fontconfig/fontconfig.h: No such file or directory
#include <fontconfig/fontconfig.h>
^
compilation terminated.
[1887/11462] CXX obj/skia/skia/SkSLSPIRVCodeGenerator.o
ninja: build stopped: subcommand failed.
make[3]: *** [run_ninja] Error 1
make[3]: Leaving directory `/TOOLCHAIN/loop/target/
nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core'
make[2]: *** [sub-gn_run-pro-make_first] Error 2
make[2]: Leaving directory `/TOOLCHAIN/loop/target/
nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core'
make[1]: *** [sub-core-make_first] Error 2
make[1]: Leaving directory `/TOOLCHAIN/loop/target/
nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src'
Post by Toan Pham
Hi all,
I just found out that the build failed while running this command in
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.
10.0/qtwebengine/src/3rdparty/ninja/ninja -C
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.
10.0/qtwebengine/src/core/release QtWebEngineCore
I was able to resolve by changing to the release folder (see above) and
then ran the same command, then webengine started to compile. Obviously,
something was wrong w/ the t2 sandbox because ninja could not run getdir()
or chdir(). This may be a t2 build, so i will report it to their mailing
list. thank you for all your support.
TP
Post by Toan Pham
1. 32bit build inside lxc container - code built successfully,
qtwebengine worked perfectly. The only problem w/ this one is that it does
not use compatible glibc library as my target board.
2. 32bit build inside t2 sandbox - I got the builder to use internal
BTW, t2 sandbox is a chroot build environment for building native
and also cross root filesystem. One major advantage of using it because it
completely isolates my development machine from the build environment after
the initial toolchain stage. I am just wondering if that was the reason
why ninja failed, as seen in the getcwd error!
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.1
0.0/qtwebengine/src/3rdparty/ninja/ninja -C
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.1
0.0/qtwebengine/src/core/release QtWebEngineCore
ninja: Entering directory `/TOOLCHAIN/loop/target/nicebo
x/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release'
[1/21229] STAMP obj/third_party/webrtc/modules
/audio_coding/isac_fix_common.stamp
shell-init: error retrieving current directory: getcwd: cannot access
parent directories: Inappropriate ioctl for device
[2/21229] STAMP obj/device/sensors/public/inte
rfaces/interfaces__type_mappings.inputdeps.stamp
shell-init: error retrieving current directory: getcwd: cannot access
parent directories: Inappropriate ioctl for device
[3/21229] STAMP obj/media/midi/mojo_blink__type_mappings.inputdeps.stamp
shell-init: error retrieving current directory: getcwd: cannot access
parent directories: Inappropriate ioctl for device
[4/21229] ACTION //extensions/features:features
(/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.
10.0/qtwebengine/src/toolchain:target)
shell-init: error retrieving current directory: getcwd: cannot access
parent directories: Inappropriate ioctl for device
[5/21229] STAMP obj/extensions/features/features.stamp
shell-init: error retrieving current directory: getcwd: cannot access
parent directories: Inappropriate ioctl for device
[6/21229] COPY ../../3rdparty/chromium/third_
party/WebKit/Source/devtools/front_end/Images/accelerometer-bottom.png
resources/inspector/Images/accelerometer-bottom.png
FAILED: resources/inspector/Images/accelerometer-bottom.png
ln -f ../../3rdparty/chromium/third_party/WebKit/Source/devtools/f
ront_end/Images/accelerometer-bottom.png resources/inspector/Images/accelerometer-bottom.png
2>/dev/null || (rm -rf resources/inspector/Images/accelerometer-bottom.png
&& cp -af ../../3rdparty/chromium/third_party/WebKit/Source/devtools/f
ront_end/Images/accelerometer-bottom.png resources/inspector/Images/acc
elerometer-bottom.png)
shell-init: error retrieving current directory: getcwd: cannot access
parent directories: Inappropriate ioctl for device
shell-init: error retrieving current directory: getcwd: cannot access
parent directories: Inappropriate ioctl for device
cp: cannot create regular file `/TOOLCHAIN/target/nicebox/san
dbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/resources
/inspector/Images/accelerometer-bottom.png': No such file or directory
[7/21229] COPY ../../3rdparty/chromium/third_
party/WebKit/Source/devtools/front_end/emulated_devices/goog...5x-vertical-keyboard-1x.png
resources/inspector/emulated_devices/google-nexus-5x-vertica
l-keyboard-1x.pn
FAILED: resources/inspector/emulated_devices/google-nexus-5x-vertica
l-keyboard-1x.png
ln -f ../../3rdparty/chromium/third_party/WebKit/Source/devtools/f
ront_end/emulated_devices/google-nexus-5x-vertical-keyboard-1x.png
resources/inspector/emulated_devices/google-nexus-5x-vertical-keyboard-1x.png
2>/dev/null || (rm -rf resources/inspector/emulated_d
evices/google-nexus-5x-vertical-keyboard-1x.png && cp -af
../../3rdparty/chromium/third_party/WebKit/Source/devtools/f
ront_end/emulated_devices/google-nexus-5x-vertical-keyboard-1x.png
resources/inspector/emulated_devices/google-nexus-5x-vertica
l-keyboard-1x.png)
shell-init: error retrieving current directory: getcwd: cannot access
parent directories: Inappropriate ioctl for device
shell-init: error retrieving current directory: getcwd: cannot access
parent directories: Inappropriate ioctl for device
cp: cannot create regular file `/TOOLCHAIN/target/nicebox/san
dbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/resources
No such file or directory
[8/21229] ACTION //media/midi:mojo_blink__type_
mappings(/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywher
e-src-5.10.0/qtwebengine/src/toolchain:target)
shell-init: error retrieving current directory: getcwd: cannot access
parent directories: Inappropriate ioctl for device
[9/21229] CXX obj/mojo/public/c/system/system/thunks.o
shell-init: error retrieving current directory: getcwd: cannot access
parent directories: Inappropriate ioctl for device
shell-init: error retrieving current directory: getcwd: cannot access
parent directories: Inappropriate ioctl for device
[10/21229] CXX obj/crypto/crypto/random.o
shell-init: error retrieving current directory: getcwd: cannot access
parent directories: Inappropriate ioctl for device
shell-init: error retrieving current directory: getcwd: cannot access
parent directories: Inappropriate ioctl for device
[11/21229] CXX obj/crypto/crypto/p224.o
shell-init: error retrieving current directory: getcwd: cannot access
parent directories: Inappropriate ioctl for device
shell-init: error retrieving current directory: getcwd: cannot access
parent directories: Inappropriate ioctl for device
[12/21229] CXX obj/crypto/crypto/p224_spake.o
shell-init: error retrieving current directory: getcwd: cannot access
parent directories: Inappropriate ioctl for device
shell-init: error retrieving current directory: getcwd: cannot access
parent directories: Inappropriate ioctl for device
[13/21229] CXX obj/media/shared_memory_support/audio_point.o
shell-init: error retrieving current directory: getcwd: cannot access
parent directories: Inappropriate ioctl for device
shell-init: error retrieving current directory: getcwd: cannot access
parent directories: Inappropriate ioctl for device
[14/21229] CXX obj/crypto/crypto/symmetric_key.o
shell-init: error retrieving current directory: getcwd: cannot access
parent directories: Inappropriate ioctl for device
shell-init: error retrieving current directory: getcwd: cannot access
parent directories: Inappropriate ioctl for device
[15/21229] CXX obj/crypto/crypto/sha2.o
shell-init: error retrieving current directory: getcwd: cannot access
parent directories: Inappropriate ioctl for device
shell-init: error retrieving current directory: getcwd: cannot access
parent directories: Inappropriate ioctl for device
ninja: build stopped: subcommand failed.
make[4]: *** [run_ninja] Error 1
make[4]: Leaving directory `/TOOLCHAIN/loop/target/nicebo
x/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core'
make[3]: *** [sub-gn_run-pro-make_first] Error 2
make[3]: Leaving directory `/TOOLCHAIN/loop/target/nicebo
x/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core'
make[2]: *** [sub-core-make_first] Error 2
make[2]: Leaving directory `/TOOLCHAIN/loop/target/nicebo
x/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src'
make[1]: *** [sub-src-make_first] Error 2
make[1]: Leaving directory `/TOOLCHAIN/loop/target/nicebo
x/sandbox/qt-everywhere-src-5.10.0/qtwebengine'
Post by Toan Pham
Post by Toan Pham
"/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.
10.0/qtwebengine
Post by Toan Pham
/src/3rdparty/chromium/tools/gn/bootstrap/bootstrap.py", line 45, in
check_call
subprocess.check_call(cmd, cwd=GN_ROOT, **kwargs)
File "/usr/lib/python2.7/subprocess.py", line 535, in check_call
retcode = call(*popenargs, **kwargs)
File "/usr/lib/python2.7/subprocess.py", line 522, in call
return Popen(*popenargs, **kwargs).wait()
File "/usr/lib/python2.7/subprocess.py", line 709, in __init__
errread, errwrite)
File "/usr/lib/python2.7/subprocess.py", line 1326, in
_execute_child
Post by Toan Pham
raise child_exception
OSError: [Errno 2] No such file or directory
Project ERROR: GN build error!
make[3]: *** [sub-gn-pro-make_first] Error 3
make[3]: Leaving directory
`/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.
10.0/qtwebengine
Post by Toan Pham
/src/buildtools' make[2]: *** [sub-buildtools-make_first] Error 2
make[2]: Leaving directory
`/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.
10.0/qtwebengine
Post by Toan Pham
/src' make[1]: *** [sub-src-make_first] Error 2
make[1]: Leaving directory
`/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.
10.0/qtwebengine
Post by Toan Pham
'
Please let me know if you know what went wrong w/ the second build.
Looks like it expects ninja to be installed, but cant launch it. Check your
configure output and see if it detected system ninja and you have ninja
installed.
'Allan
Thiago Macieira
2017-12-21 23:39:57 UTC
Permalink
Post by Toan Pham
On my t2 sandbox environment, It only has 3G of RAM and that webengine
build stopped because it ran out of memory.
Does anyone know the minimal memory requirement to build qt w/ webengine.
To build? At least 8 GB of RAM and please use a 64-bit toolchain. You may
compile for 32-bit, but you need to use a 64-bit linker executable.
--
Thiago Macieira - thiago.macieira (AT) intel.com
Software Architect - Intel Open Source Technology Center
Kevin Kofler
2017-12-22 00:00:26 UTC
Permalink
Post by Thiago Macieira
To build? At least 8 GB of RAM and please use a 64-bit toolchain. You may
compile for 32-bit, but you need to use a 64-bit linker executable.
I haven't tried 5.10.0 yet, but 5.9.3 built fine with the 32-bit toolchains
we have in our Fedora 32-bit buildroots (i686 and armv7hl). All packages in
Fedora are natively built, not cross-built, which means that 32-bit binaries
will necessarily be built with a 32-bit linker. If this stops/stopped
working, we will no longer be able to ship QtWebEngine on 32-bit
architectures in Fedora.

Kevin Kofler
Thiago Macieira
2017-12-22 12:25:45 UTC
Permalink
Post by Kevin Kofler
Post by Thiago Macieira
To build? At least 8 GB of RAM and please use a 64-bit toolchain. You may
compile for 32-bit, but you need to use a 64-bit linker executable.
I haven't tried 5.10.0 yet, but 5.9.3 built fine with the 32-bit toolchains
we have in our Fedora 32-bit buildroots (i686 and armv7hl). All packages in
Fedora are natively built, not cross-built, which means that 32-bit binaries
will necessarily be built with a 32-bit linker. If this stops/stopped
working, we will no longer be able to ship QtWebEngine on 32-bit
architectures in Fedora.
A 32-bit executable is limited to 4 GB of RAM on a 64-bit kernel. If you're
running a 32-bit kernel, then the limit drops to 3 GB.

At the very least, make sure you're using gold, not ld.bfd. But my
recommendation stands, especially for developers.

I'm also not asking for a cross-compilation. I'm asking for a native linker
that is a 64-bit executable that your 64-bit CPU and 64-bit kernel can execute
natively anyway.
--
Thiago Macieira - thiago.macieira (AT) intel.com
Software Architect - Intel Open Source Technology Center
Konstantin Tokarev
2017-12-22 12:30:12 UTC
Permalink
Post by Thiago Macieira
 > To build? At least 8 GB of RAM and please use a 64-bit toolchain. You may
 > compile for 32-bit, but you need to use a 64-bit linker executable.
 I haven't tried 5.10.0 yet, but 5.9.3 built fine with the 32-bit toolchains
 we have in our Fedora 32-bit buildroots (i686 and armv7hl). All packages in
 Fedora are natively built, not cross-built, which means that 32-bit binaries
 will necessarily be built with a 32-bit linker. If this stops/stopped
 working, we will no longer be able to ship QtWebEngine on 32-bit
 architectures in Fedora.
A 32-bit executable is limited to 4 GB of RAM on a 64-bit kernel. If you're
running a 32-bit kernel, then the limit drops to 3 GB.
At the very least, make sure you're using gold, not ld.bfd. But my
recommendation stands, especially for developers.
I'm also not asking for a cross-compilation. I'm asking for a native linker
that is a 64-bit executable that your 64-bit CPU and 64-bit kernel can execute
natively anyway.
Well, -m32 is also a kind of cross-compilation. It requires completely different set
of dependency packages to be preinstalled.
Post by Thiago Macieira
--
Thiago Macieira - thiago.macieira (AT) intel.com
  Software Architect - Intel Open Source Technology Center
_______________________________________________
Development mailing list
http://lists.qt-project.org/mailman/listinfo/development
--
Regards,
Konstantin
Thiago Macieira
2017-12-22 16:34:17 UTC
Permalink
Post by Konstantin Tokarev
Well, -m32 is also a kind of cross-compilation. It requires completely
different set of dependency packages to be preinstalled.
Not exactly. Yes, it requires a different set of packages to be installed, but
they're natively installed and can be run on the CPU, without emulation.
--
Thiago Macieira - thiago.macieira (AT) intel.com
Software Architect - Intel Open Source Technology Center
Toan Pham
2018-01-03 16:26:11 UTC
Permalink
Thiago,


I over came the memory limitation by forcing ninja to run in single thread
(pass -j 1 to ninja). However, at linking stage using a 32bit linker, the
linker failed because it could not find references to avx2 in libvpx, a
third-party library that I hacked to get AVX2 disabled. Since you've been
recommending that I should use 64bit linker, this error is completely
unrelated to the memory address limit of a 32bit linker. While the 32bit
linker was doing its job linking libQt5WebEngine.so, its maximum memory
usage (RSS) was 1.8GB, not anywhere close to the maximum addressable limit
of 32bit executables.



g++ -Wl,--no-undefined -Wl,--version-script,QtWebEngineCore.version
-Wl,--gc-sections -Wl,-O1 -Wl,-z,now -Wl,-z,defs -Wl,-O1
-Wl,--enable-new-dtags -Wl,-z,origin -Wl,-rpath,\$ORIGIN -shared
-Wl,-soname,libQt5WebEn
gineCore.so.5 -o libQt5WebEngineCore.so.5.10.0
-L/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtdeclarative/lib
-lQt5Quick
-L/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtb
ase/lib -lQt5Gui
-L/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtdeclarative/lib
-lQt5Qml -lQt5Network -lQt5Core -lpthread
-L/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtba
se/lib -lQt5Gui
-L/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtbase/lib
-lQt5Core -lpthread
-L/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebchannel/lib
-lQt5WebChannel -
L/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtdeclarative/lib
-lQt5Qml
-L/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtbase/lib
-lQt5Network -lQt5Core -lpthread -lQt5Qml -L
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtbase/lib
-lQt5Network -lQt5Core -lpthread -lQt5Network
-L/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtbase/lib
-lQt5Core -lpth
read
-L/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtlocation/lib
-lQt5Positioning
-L/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtbase/lib
-lQt5Core -lpthread -lQt5Core -lp
thread -lpthread
@/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/Qt5WebEngineCore.rsp
-Wl,--start-group
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0
/qtwebengine/src/core/release/obj/base/libbase.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/components/error_page/common/libcommon.a
/TOOLCHAIN/loop/target/nic
ebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/components/keyed_service/content/libkeyed_service_content.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/co
re/release/obj/components/visitedlink/browser/libbrowser.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/components/visitedlink/renderer/librenderer.a
/TOOLCHAIN/
loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/components/web_cache/browser/libbrowser.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/
release/obj/components/web_cache/renderer/librenderer.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/net/libnet_with_v8.a
/TOOLCHAIN/loop/target/nicebox/sandbox/
qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/skia/libskia.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/ui/accessibility/libaccessibility.a
/TOOLCH
AIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/components/cdm/renderer/librenderer.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/
release/obj/base/libbase_static.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/base/third_party/dynamic_annotations/libdynamic_annotations.a
/TOOLCHAIN/loop/targ
et/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/modp_b64/libmodp_b64.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/base
/third_party/libevent/libbundled_libevent.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/base/third_party/symbolize/libsymbolize.a
/TOOLCHAIN/loop/target/nicebox
/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/base/third_party/xdg_mime/libxdg_mime.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/base/thir
d_party/xdg_user_dirs/libxdg_user_dirs.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/base/libbase_i18n.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-sr
c-5.10.0/qtwebengine/src/core/release/obj/third_party/ced/libced.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/icu/libbundled_icui18n.a
/TOOLCHAIN/l
oop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/icu/libbundled_icuuc.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/
obj/components/offline_pages/core/libswitches.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/components/version_info/libversion_info.a
/TOOLCHAIN/loop/target/nic
ebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/components/url_formatter/liburl_formatter.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/n
et/libnet.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/net/libnet_quic_proto.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/
core/release/obj/third_party/protobuf/libprotobuf_lite.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/crypto/libcrcrypto.a
/TOOLCHAIN/loop/target/nicebox/sandbox
/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/boringssl/libboringssl.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/url/liburl.a
/TOOLCH
AIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/sdch/libsdch.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party
/zlib/libchrome_zlib.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/zlib/libzlib_x86_simd.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-
5.10.0/qtwebengine/src/core/release/obj/third_party/brotli/libdec.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/brotli/libcommon.a
/TOOLCHAIN/loop/t
arget/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/ui/gfx/libgfx.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/ui/gfx/libcolor_spac
e.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/ui/gfx/libgfx_switches.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/re
lease/obj/third_party/libjpeg_turbo/libjpeg.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/libjpeg_turbo/libsimd.a
/TOOLCHAIN/loop/target/nicebox/san
dbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/libjpeg_turbo/libsimd_asm.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/l
ibwebp/libwebp_dec.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/libwebp/libwebp_dsp.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10
.0/qtwebengine/src/core/release/obj/third_party/libwebp/libwebp_dsp_sse2.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/libwebp/libwebp_dsp_sse41.a
/
TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/libwebp/libwebp_utils.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/c
ore/release/obj/third_party/libwebp/libwebp_demux.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/libwebp/libwebp_enc.a
/TOOLCHAIN/loop/target/nicebox
/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/libwebp/libwebp_mux.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/sfn
tly/libsfntly.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/ui/gfx/x/libgfx_x11.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/sr
c/core/release/obj/ui/gfx/libgeometry_skia.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/ui/gfx/geometry/libgeometry.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt
-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/libdrm/libdrm.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/ui/gfx/animation/libanimation.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/ui/gfx/codec/libcodec.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release
/obj/ui/gfx/range/librange.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/cc/paint/libcc_paint.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/
qtwebengine/src/core/release/obj/cc/base/libcc_base.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/cc/debug/libcc_debug.a
/TOOLCHAIN/loop/target/nicebox/sandbox/
qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/harfbuzz-ng/libharfbuzz-ng-ft.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/ha
rfbuzz-ng/libharfbuzz-ng-without-freetype.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/ui/base/libui_base.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywher
e-src-5.10.0/qtwebengine/src/core/release/obj/ui/base/libui_data_pack.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/ui/events/libevents_base.a
/TOOLCHAIN/loop/t
arget/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/ui/events/libdom_keycode_converter.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj
/ui/events/platform/libplatform.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/ui/events/keycodes/libkeycodes_x11.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-eve
rywhere-src-5.10.0/qtwebengine/src/core/release/obj/ui/base/x/libui_base_x.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/ui/events/libevents.a
/TOOLCHAIN/loop/t
arget/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/ui/events/libgesture_detection.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/ui/
display/libdisplay.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/ui/display/types/libdisplay_types.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.
10.0/qtwebengine/src/core/release/obj/third_party/re2/libbundled_re2.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/ui/display/util/libdisplay_util.a
/TOOLCHAIN/
loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/ui/events/devices/libdevices.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj
/ui/events/devices/x11/libevents_devices_x11.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/ui/events/x/libevents_x.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-e
verywhere-src-5.10.0/qtwebengine/src/core/release/obj/ui/events/platform/x11/libx11_events_platform.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/components/key
ed_service/core/libkeyed_service_core.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/components/pref_registry/libpref_registry.a
/TOOLCHAIN/loop/target/nicebox/s
andbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/components/prefs/libprefs.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/components/user_prefs/l
ibuser_prefs.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/mojo/public/cpp/bindings/libbindings.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.
0/qtwebengine/src/core/release/obj/mojo/public/cpp/system/libmojo_public_system_cpp.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/mojo/public/c/system/libmojo_p
ublic_system.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/ipc/libipc.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/rel
ease/obj/ipc/libipc_mojom.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/ui/accessibility/libax_gen.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.
10.0/qtwebengine/src/core/release/obj/cc/libcc.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/components/viz/common/libviz_common.a
/TOOLCHAIN/loop/target/nicebo
x/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/gpu/command_buffer/common/libgles2_utils.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/gpu/c
ommand_buffer/service/libservice_sources.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/gpu/command_buffer/service/libdisk_cache_proto.a
/TOOLCHAIN/loop/target/n
icebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/ui/gl/libgl_wrapper.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/ui/gl/init/libgl_init
.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/angle/libangle_gpu_info_util.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebe
ngine/src/core/release/obj/third_party/angle/libangle_common.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/angle/libangle_image_util.a
/TOOLCHAIN/lo
op/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/angle/libtranslator.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/ob
j/third_party/angle/libpreprocessor.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/smhasher/libcityhash.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-e
verywhere-src-5.10.0/qtwebengine/src/core/release/obj/gpu/ipc/libcommand_buffer_sources.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/ui/gfx/ipc/libgfx_ipc.a
/T
OOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/ui/gfx/ipc/geometry/libgfx_ipc_geometry.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/
src/core/release/obj/url/ipc/liburl_ipc.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/gpu/ipc/service/libipc_service_sources.a
/TOOLCHAIN/loop/target/nicebox/sa
ndbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/gpu/command_buffer/client/libgles2_implementation.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/
gpu/ipc/libgl_in_process_context.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/mojo/common/libmojo_common_lib.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everyw
here-src-5.10.0/qtwebengine/src/core/release/obj/media/libmedia.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/media/libshared_memory_support.a
/TOOLCHAIN/loop/t
arget/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/media/base/libbase.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/lib
yuv/libyuv_internal.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/ffmpeg/libffmpeg_internal.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-s
rc-5.10.0/qtwebengine/src/core/release/obj/third_party/opus/libbundled_opus.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/ffmpeg/libffmpeg_yasm.a
/T
OOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/libvpx/libbundled_libvpx.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src
/core/release/obj/third_party/libvpx/libvpx_yasm.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/media/cdm/libcdm_paths.a
/TOOLCHAIN/loop/target/nicebox/sandbox/q
t-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/libwebm/libwebm.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/services/service_manager/publ
ic/interfaces/libservice_manager_mojom.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/services/service_manager/public/interfaces/libservice_manager_mojom_constan
ts.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/services/service_manager/public/cpp/libservice_manager_cpp_types.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-ev
erywhere-src-5.10.0/qtwebengine/src/core/release/obj/ui/gfx/ipc/color/libgfx_ipc_color.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/ui/gfx/ipc/skia/libgfx_ipc_
skia.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/media/capture/libcapture_base.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/s
rc/core/release/obj/ui/base/ime/libui_base_ime.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/device/bluetooth/libbluetooth.a
/TOOLCHAIN/loop/target/nicebox/sand
box/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/components/device_event_log/libdevice_event_log.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/dbus
/libdbus.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/components/password_manager/core/common/libcommon.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-
src-5.10.0/qtwebengine/src/core/release/obj/components/autofill/core/common/libcommon.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/components/variations/libvar
iations.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/components/variations/proto/libproto.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtw
ebengine/src/core/release/obj/components/crash/core/common/libcrash_keys.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/mt19937ar/libmt19937ar.a
/TOO
LCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/zlib/google/libcompression_utils.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengi
ne/src/core/release/obj/sql/libsql.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/sqlite/libchromium_sqlite3.a
/TOOLCHAIN/loop/target/nicebox/sandbox
/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/cc/ipc/libcc_ipc.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/cc/surfaces/libcc_surfaces.a
/TOOLCHAI
N/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/ui/aura/libaura.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/ui/composi
tor/libcompositor.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/cc/animation/libcc_animation.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/q
twebengine/src/core/release/obj/components/viz/host/libhost.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/components/viz/service/libservice.a
/TOOLCHAIN/loop/ta
rget/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/components/discardable_memory/client/libdiscardable_memory_client.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qt
webengine/src/core/release/obj/components/discardable_memory/common/libdiscardable_memory_common.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/services/service_
manager/public/cpp/libservice_manager_cpp.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/ui/platform_window/mojo/libmojo_ime_lib.a
/TOOLCHAIN/loop/target/nicebox
/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/ui/platform_window/stub/libstub_window.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/ui/surfa
ce/libsurface.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/components/tracing/libtracing.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwe
bengine/src/core/release/obj/components/tracing/proto/libprotos.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/services/resource_coordinator/public/cpp/libresour
ce_coordinator_cpp.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/WebKit/Source/platform/wtf/libwtf.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-every
where-src-5.10.0/qtwebengine/src/core/release/obj/components/tracing/libstartup_tracing.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/gpu/command_buffer/client/
libgles2_c_lib.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/media/capture/libcapture_lib.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwe
bengine/src/core/release/obj/media/gpu/libmedia_gpu.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/media/midi/libmidi.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt
-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/mojo/edk/system/libmojo_system_impl.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/sandbox/linux/libsandb
ox_services.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/sandbox/linux/libsuid_sandbox_client.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0
/qtwebengine/src/core/release/obj/sandbox/linux/libseccomp_bpf.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/components/filesystem/lib.a
/TOOLCHAIN/loop/target/
nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/services/service_manager/embedder/libembedder.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/releas
e/obj/storage/common/libstorage_common.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/webrtc/rtc_base/librtc_base.a
/TOOLCHAIN/loop/target/nicebox/sa
ndbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/webrtc/rtc_base/librtc_base_approved.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/t
hird_party/webrtc/libwebrtc_common.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/webrtc_overrides/libwebrtc.a
/TOOLCHAIN/loop/target/nicebox/sandbox
/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/libjingle_xmpp/librtc_task_runner.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_par
ty/webrtc/p2p/librtc_p2p.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/webrtc/api/libjingle_peerconnection_api.a
/TOOLCHAIN/loop/target/nicebox/sand
box/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/ui/shell_dialogs/libshell_dialogs.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/ppapi/shared_impl/
libppapi_shared.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/components/mime_util/libmime_util.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.
0/qtwebengine/src/core/release/obj/storage/browser/libstorage_browser.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/leveldatabase/libleveldatabase.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/snappy/libbundled_snappy.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/
src/core/release/obj/components/discardable_memory/service/libdiscardable_memory_service.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/components/leveldb/lib.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/components/leveldb/public/cpp/libcpp.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/s
rc/core/release/obj/components/link_header_util/liblink_header_util.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/components/metrics/libmetrics.a
/TOOLCHAIN/loo
p/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/components/metrics/proto/libproto.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/o
bj/components/metrics/libsingle_sample_metrics.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/components/network_session_configurator/browser/libbrowser.a
/TOOLC
HAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/components/network_session_configurator/common/libcommon.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0
/qtwebengine/src/core/release/obj/components/offline_pages/core/request_header/librequest_header.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/components/rappor
/librappor.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/components/rappor/proto/libproto.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwe
bengine/src/core/release/obj/components/data_use_measurement/core/libcore.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/content/browser/background_sync/libbackg
round_sync_proto.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/content/browser/cache_storage/libcache_storage_proto.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-
everywhere-src-5.10.0/qtwebengine/src/core/release/obj/content/browser/dom_storage/liblocal_storage_proto.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/content/
browser/notifications/libnotification_proto.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/content/browser/payments/libpayment_app_proto.a
/TOOLCHAIN/loop/target
/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/content/browser/service_worker/libservice_worker_proto.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/c
ore/release/obj/content/browser/speech/proto/libproto.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/device/gamepad/libdevice_gamepad.a
/TOOLCHAIN/loop/target/ni
cebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/device/geolocation/libgeolocation.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/device/v
r/libdevice_vr_mojo_bindings.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/media/mojo/services/libmedia_mojo_services.a
/TOOLCHAIN/loop/target/nicebox/sandbox/q
t-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/media/cdm/libcdm_manager.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/net/libextras.a
/TOOLCHAIN/loop/
target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/net/libhttp_server.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/device/sensors
/libsensors.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/services/device/fingerprint/libfingerprint.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-
5.10.0/qtwebengine/src/core/release/obj/device/base/libdevice_base.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/services/metrics/public/cpp/libmetrics_cpp.a
/T
OOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/components/ukm/libukm.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/o
bj/third_party/zlib/google/libzip.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/zlib/libbundled_minizip.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-
everywhere-src-5.10.0/qtwebengine/src/core/release/obj/ui/native_theme/libnative_theme.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/ui/snapshot/libsnapshot.a
/
TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/ui/touch_selection/libui_touch_selection.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengin
e/src/core/release/obj/ui/aura_extra/libaura_extra.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/printing/libprinting.a
/TOOLCHAIN/loop/target/nicebox/sandbox/q
t-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/device/serial/libdevice_serial.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/jingle/libjingle_glue.a
/T
OOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/webrtc/media/librtc_media_base.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengi
ne/src/core/release/obj/third_party/webrtc/p2p/libstunprober.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/webrtc/modules/desktop_capture/libprimiti
ves.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/webrtc_overrides/libinit_webrtc.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/
qtwebengine/src/core/release/obj/third_party/libsrtp/libsrtp.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/usrsctp/libusrsctp.a
/TOOLCHAIN/loop/targ
et/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/webrtc/pc/libcreate_pc_factory.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/releas
e/obj/third_party/webrtc/system_wrappers/libsystem_wrappers.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/webrtc/api/audio_codecs/libbuiltin_audio_d
ecoder_factory.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/webrtc/modules/audio_coding/libbuiltin_audio_decoder_factory_internal.a
/TOOLCHAIN/loop
/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/webrtc/modules/audio_coding/libcng.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/co
re/release/obj/third_party/webrtc/common_audio/libcommon_audio.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/openmax_dl/dl/libdl.a
/TOOLCHAIN/loop/t
arget/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/webrtc/common_audio/libcommon_audio_sse2.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/sr
c/core/release/obj/third_party/webrtc/modules/audio_coding/libg711.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/webrtc/modules/audio_coding/liblega
cy_encoded_audio_frame.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/webrtc/modules/audio_coding/libpcm16b.a
/TOOLCHAIN/loop/target/nicebox/sandbox/
qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/webrtc/modules/audio_coding/libwebrtc_opus.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/t
hird_party/webrtc/modules/audio_coding/libaudio_network_adaptor.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/webrtc/common_video/libcommon_video.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/webrtc/rtc_base/librtc_task_queue.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwe
bengine/src/core/release/obj/third_party/webrtc/modules/audio_coding/libana_config_proto.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/webrtc/module
s/audio_coding/libana_debug_dump_proto.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/webrtc/api/audio_codecs/opus/libaudio_encoder_opus_config.a
/TO
OLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/webrtc/rtc_base/librtc_numerics.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengi
ne/src/core/release/obj/third_party/webrtc/modules/audio_coding/libisac.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/webrtc/modules/audio_coding/li
bisac_c.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/webrtc/modules/audio_coding/libisac_common.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywh
ere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/webrtc/modules/audio_coding/libg722.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/webrtc
/api/audio_codecs/libbuiltin_audio_encoder_factory.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/webrtc/modules/audio_coding/libbuiltin_audio_encode
r_factory_internal.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/webrtc/call/libcall.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10
.0/qtwebengine/src/core/release/obj/third_party/webrtc/modules/rtp_rtcp/librtp_rtcp.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/webrtc/rtc_base/li
bsequenced_task_checker.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/webrtc/modules/audio_coding/libaudio_format_conversion.a
/TOOLCHAIN/loop/targe
t/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/webrtc/modules/remote_bitrate_estimator/libremote_bitrate_estimator.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-sr
c-5.10.0/qtwebengine/src/core/release/obj/third_party/webrtc/modules/congestion_controller/libcongestion_controller.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/ob
j/third_party/webrtc/modules/bitrate_controller/libbitrate_controller.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/webrtc/modules/pacing/libpacing.
a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/webrtc/modules/utility/libutility.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qt
webengine/src/core/release/obj/third_party/webrtc/audio/utility/libaudio_frame_operations.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/webrtc/modul
es/media_file/libmedia_file.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/webrtc/audio/libaudio.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhe
re-src-5.10.0/qtwebengine/src/core/release/obj/third_party/webrtc/modules/audio_device/libaudio_device.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party
/webrtc/modules/audio_processing/libaudio_processing.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/webrtc/modules/audio_processing/libaudioproc_debu
g_proto.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/webrtc/modules/audio_processing/libaudio_processing_sse2.a
/TOOLCHAIN/loop/target/nicebox/sand
box/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/webrtc/voice_engine/libvoice_engine.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/thir
d_party/webrtc/modules/audio_coding/libaudio_coding.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/webrtc/modules/audio_coding/libneteq.a
/TOOLCHAIN/
loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/webrtc/modules/audio_coding/libisac_fix.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengi
ne/src/core/release/obj/third_party/webrtc/modules/audio_coding/librent_a_codec.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/webrtc/voice_engine/li
baudio_level.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/webrtc/voice_engine/libfile_player.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere
-src-5.10.0/qtwebengine/src/core/release/obj/third_party/webrtc/voice_engine/libaudio_coder.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/webrtc/voi
ce_engine/libfile_recorder.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/webrtc/modules/audio_conference_mixer/libaudio_conference_mixer.a
/TOOLCHAI
N/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/webrtc/logging/librtc_event_log_impl.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengin
e/src/core/release/obj/third_party/webrtc/logging/librtc_event_log_proto.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/webrtc/video/libvideo.a
/TOOL
CHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/webrtc/rtc_base/libweak_ptr.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src
/core/release/obj/third_party/webrtc/modules/video_coding/libvideo_coding.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/webrtc/modules/video_coding/
libvideo_coding_utility.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/webrtc/modules/video_coding/libwebrtc_h264.a
/TOOLCHAIN/loop/target/nicebox/sa
ndbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/webrtc/modules/video_coding/libwebrtc_i420.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release
/obj/third_party/webrtc/modules/video_coding/libwebrtc_vp8.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/webrtc/modules/video_coding/libwebrtc_vp9.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/webrtc/modules/video_processing/libvideo_processing.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywh
ere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/webrtc/modules/video_processing/libvideo_processing_sse2.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/o
bj/third_party/webrtc/media/librtc_audio_video.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/webrtc/modules/video_capture/libvideo_capture.a
/TOOLCH
AIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/webrtc/modules/video_capture/libvideo_capture_module.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src
-5.10.0/qtwebengine/src/core/release/obj/third_party/webrtc/modules/audio_mixer/libaudio_mixer_impl.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/we
brtc/modules/audio_mixer/libaudio_frame_manipulator.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/webrtc/pc/librtc_pc_base.a
/TOOLCHAIN/loop/target/
nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/webrtc/media/librtc_data.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/thi
rd_party/webrtc/pc/libpeerconnection.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/webrtc/stats/librtc_stats.a
/TOOLCHAIN/loop/target/nicebox/sandbo
x/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/webrtc/modules/desktop_capture/libdesktop_capture.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/rele
ase/obj/third_party/webrtc/modules/desktop_capture/libdesktop_capture_differ_sse2.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/ppapi/host/libppapi_host.a
/TOOL
CHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/components/visitedlink/common/libcommon.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src
/core/release/obj/content/public/renderer/librenderer_sources.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/content/child/libchild.a
/TOOLCHAIN/loop/target/nice
box/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/services/service_manager/public/interfaces/libservice_manager_mojom_blink.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtw
ebengine/src/core/release/obj/services/service_manager/public/interfaces/libservice_manager_mojom_constants_blink.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/
components/webcrypto/libwebcrypto.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/media/blink/libmedia_blink.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywher
e-src-5.10.0/qtwebengine/src/core/release/obj/cc/blink/libcc_blink.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/WebKit/Source/controller/libblink_c
ontroller.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/WebKit/Source/core/libblink_core.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-
5.10.0/qtwebengine/src/core/release/obj/third_party/WebKit/Source/core/libcore_generated.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/WebKit/Source
/bindings/core/v8/libbindings_core_impl.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/v8/libv8_libbase.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-sr
c-5.10.0/qtwebengine/src/core/release/obj/third_party/WebKit/Source/platform/libblink_platform.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/iccjpeg
/libiccjpeg.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/ots/libots.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/s
rc/core/release/obj/third_party/woff2/libwoff2_dec.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/gin/libgin.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhe
re-src-5.10.0/qtwebengine/src/core/release/obj/third_party/WebKit/Source/platform/heap/asm/libasm.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/libx
ml/libxml2.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/libxslt/libbundled_libxslt.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.
0/qtwebengine/src/core/release/obj/third_party/WebKit/Source/core/animation/libanimation_0.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/WebKit/Sour
ce/core/animation/libanimation_1.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/WebKit/Source/core/animation/libanimation_2.a
/TOOLCHAIN/loop/target/
nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/WebKit/Source/core/animation/libanimation_3.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/c
ore/release/obj/third_party/WebKit/Source/core/animation/libanimation_4.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/WebKit/Source/core/clipboard/l
ibclipboard.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/WebKit/Source/core/context_features/libcontext_features.a
/TOOLCHAIN/loop/target/nicebox/s
andbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/WebKit/Source/core/css/libcss_0.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third
_party/WebKit/Source/core/css/libcss_1.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/WebKit/Source/core/css/libcss_2.a
/TOOLCHAIN/loop/target/nicebo
x/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/WebKit/Source/core/css/libcss_3.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/th
ird_party/WebKit/Source/core/css/libcss_4.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/WebKit/Source/core/dom/libdom_0.a
/TOOLCHAIN/loop/target/nic
ebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/WebKit/Source/core/dom/libdom_1.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj
/third_party/WebKit/Source/core/dom/libdom_2.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/WebKit/Source/core/dom/libdom_3.a
/TOOLCHAIN/loop/target/
nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/WebKit/Source/core/dom/libdom_4.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/
obj/third_party/WebKit/Source/core/editing/libediting_0.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/WebKit/Source/core/editing/libediting_1.a
/TOO
LCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/WebKit/Source/core/editing/libediting_2.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qt
webengine/src/core/release/obj/third_party/WebKit/Source/core/editing/libediting_3.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/WebKit/Source/core/
editing/libediting_4.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/WebKit/Source/core/events/libevents.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-e
verywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/WebKit/Source/core/exported/libexported.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_pa
rty/WebKit/Source/core/fileapi/libfileapi.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/WebKit/Source/core/frame/libframe.a
/TOOLCHAIN/loop/target/n
icebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/WebKit/Source/core/fullscreen/libfullscreen.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/co
re/release/obj/third_party/WebKit/Source/core/geometry/libgeometry_0.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/WebKit/Source/core/geometry/libge
ometry_1.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/WebKit/Source/core/geometry/libgeometry_2.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywh
ere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/WebKit/Source/core/geometry/libgeometry_3.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/
WebKit/Source/core/geometry/libgeometry_4.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/WebKit/Source/core/html/libhtml_0.a
/TOOLCHAIN/loop/target/n
icebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/WebKit/Source/core/html/libhtml_1.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release
/obj/third_party/WebKit/Source/core/html/libhtml_2.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/WebKit/Source/core/html/libhtml_3.a
/TOOLCHAIN/loop
/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/WebKit/Source/core/html/libhtml_4.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/cor
e/release/obj/third_party/WebKit/Source/core/imagebitmap/libimagebitmap.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/WebKit/Source/core/input/libin
put.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/WebKit/Source/core/inspector/libinspector.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-s
rc-5.10.0/qtwebengine/src/core/release/obj/third_party/WebKit/Source/core/intersection_observer/libintersection_observer.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/relea
se/obj/third_party/WebKit/Source/core/layout/liblayout_0.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/WebKit/Source/core/layout/liblayout_1.a
/TOOL
CHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/WebKit/Source/core/layout/liblayout_2.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtweb
engine/src/core/release/obj/third_party/WebKit/Source/core/layout/liblayout_3.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/WebKit/Source/core/layou
t/liblayout_4.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/WebKit/Source/core/layout/svg/libsvg_layout.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-
everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/WebKit/Source/core/loader/libloader.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party
/WebKit/Source/core/mojo/libmojo.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/WebKit/Source/core/offscreencanvas/liboffscreencanvas.a
/TOOLCHAIN/lo
op/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/WebKit/Source/core/origin_trials/liborigin_trials.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/q
twebengine/src/core/release/obj/third_party/WebKit/Source/core/page/libpage.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/WebKit/Source/core/paint/l
ibpaint_0.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/WebKit/Source/core/paint/libpaint_1.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-s
rc-5.10.0/qtwebengine/src/core/release/obj/third_party/WebKit/Source/core/probe/libprobe.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/WebKit/Source
/core/resize_observer/libresize_observer.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/WebKit/Source/core/streams/libstreams.a
/TOOLCHAIN/loop/targe
t/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/WebKit/Source/core/style/librendering.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/
release/obj/third_party/WebKit/Source/core/style/libsvg_style.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/WebKit/Source/core/svg/libsvg.a
/TOOLCHA
IN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/WebKit/Source/core/timing/libtiming.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengin
e/src/core/release/obj/third_party/WebKit/Source/core/typed_arrays/libtyped_arrays.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/WebKit/Source/core/
url/liburl.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/WebKit/Source/core/workers/libworkers.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywher
e-src-5.10.0/qtwebengine/src/core/release/obj/third_party/WebKit/Source/core/xml/libxml.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/WebKit/Source/
core/xmlhttprequest/libxmlhttprequest.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/WebKit/Source/modules/libblink_modules.a
/TOOLCHAIN/loop/target/
nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/WebKit/Source/bindings/modules/v8/libbindings_modules_impl.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qt
webengine/src/core/release/obj/third_party/WebKit/Source/modules/accessibility/libaccessibility.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/WebKit
/Source/modules/app_banner/libapp_banner.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/WebKit/Source/modules/audio_output_devices/libaudio_output_de
vices.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/WebKit/Source/modules/background_fetch/libbackground_fetch.a
/TOOLCHAIN/loop/target/nicebox/sand
box/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/WebKit/Source/modules/background_sync/libbackground_sync.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/
core/release/obj/third_party/WebKit/Source/modules/battery/libbattery.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/WebKit/Source/modules/beacon/lib
beacon.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/WebKit/Source/modules/bluetooth/libbluetooth.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everyw
here-src-5.10.0/qtwebengine/src/core/release/obj/third_party/WebKit/Source/modules/broadcastchannel/libbroadcastchannel.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/releas
e/obj/third_party/WebKit/Source/modules/budget/libbudget.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/WebKit/Source/modules/cachestorage/libcachest
orage.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/WebKit/Source/modules/canvas/libcanvas.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-sr
c-5.10.0/qtwebengine/src/core/release/obj/third_party/WebKit/Source/modules/canvas2d/libcanvas2d.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/WebKi
t/Source/modules/compositorworker/libcompositorworker.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/WebKit/Source/modules/credentialmanager/libcrede
ntialmanager.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/WebKit/Source/modules/crypto/libcrypto.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everyw
here-src-5.10.0/qtwebengine/src/core/release/obj/third_party/WebKit/Source/modules/csspaint/libcsspaint.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_part
y/WebKit/Source/modules/device_orientation/libdevice_orientation.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/WebKit/Source/modules/document_metada
ta/libdocument_metadata.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/WebKit/Source/modules/donottrack/libdonottrack.a
/TOOLCHAIN/loop/target/nicebo
x/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/WebKit/Source/modules/encoding/libencoding.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/rel
ease/obj/third_party/WebKit/Source/modules/encryptedmedia/libencryptedmedia.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/WebKit/Source/modules/even
tsource/libeventsource.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/WebKit/Source/modules/exported/libexported.a
/TOOLCHAIN/loop/target/nicebox/san
dbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/WebKit/Source/modules/fetch/libfetch.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/th
ird_party/WebKit/Source/modules/filesystem/libfilesystem.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/WebKit/Source/modules/gamepad/libgamepad.a
/T
OOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/WebKit/Source/modules/geolocation/libgeolocation.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-sr
c-5.10.0/qtwebengine/src/core/release/obj/third_party/WebKit/Source/modules/imagebitmap/libimagebitmap.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party
/WebKit/Source/modules/imagecapture/libimagecapture.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/WebKit/Source/modules/indexeddb/libindexeddb.a
/TO
OLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/WebKit/Source/modules/installation/libinstallation.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-s
rc-5.10.0/qtwebengine/src/core/release/obj/third_party/WebKit/Source/modules/installedapp/libinstalledapp.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_pa
rty/WebKit/Source/modules/keyboard_lock/libkeyboard_lock.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/WebKit/Source/modules/media_capabilities/libm
edia_capabilities.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/WebKit/Source/modules/media_controls/libmedia_controls.a
/TOOLCHAIN/loop/target/nice
box/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/WebKit/Source/modules/mediacapturefromelement/libmediacapturefromelement.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src
-5.10.0/qtwebengine/src/core/release/obj/third_party/WebKit/Source/modules/mediarecorder/libmediarecorder.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_pa
rty/WebKit/Source/modules/mediasession/libmediasession.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/WebKit/Source/modules/mediasource/libmediasourc
e.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/WebKit/Source/modules/mediastream/libmediastream.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywh
ere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/WebKit/Source/modules/navigatorcontentutils/libnavigatorcontentutils.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/co
re/release/obj/third_party/WebKit/Source/modules/netinfo/libnetinfo.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/WebKit/Source/modules/nfc/libnfc.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/WebKit/Source/modules/notifications/libnotifications.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everyw
here-src-5.10.0/qtwebengine/src/core/release/obj/third_party/WebKit/Source/modules/offscreencanvas/liboffscreencanvas.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/
obj/third_party/WebKit/Source/modules/offscreencanvas2d/liboffscreencanvas2d.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/WebKit/Source/modules/pay
ments/libpayments.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/WebKit/Source/modules/peerconnection/libpeerconnection.a
/TOOLCHAIN/loop/target/nice
box/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/WebKit/Source/modules/permissions/libpermissions.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/
core/release/obj/third_party/WebKit/Source/modules/plugins/libplugins.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/WebKit/Source/modules/presentati
on/libpresentation.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/WebKit/Source/modules/push_messaging/libpush_messaging.a
/TOOLCHAIN/loop/target/nic
ebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/WebKit/Source/modules/quota/libquota.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/releas
e/obj/third_party/WebKit/Source/modules/remoteplayback/libremoteplayback.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/WebKit/Source/modules/screen_
orientation/libscreen_orientation.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/WebKit/Source/modules/sensor/libsensor.a
/TOOLCHAIN/loop/target/nice
box/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/WebKit/Source/modules/serviceworkers/libserviceworkers.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengin
e/src/core/release/obj/third_party/WebKit/Source/modules/shapedetection/libshapedetection.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/WebKit/Sourc
e/modules/speech/libspeech.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/WebKit/Source/modules/srcobject/libsrcobject.a
/TOOLCHAIN/loop/target/niceb
ox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/WebKit/Source/modules/storage/libstorage.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/rele
ase/obj/third_party/WebKit/Source/modules/time_zone_monitor/libtime_zone_monitor.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/WebKit/Source/modules
/vibration/libvibration.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/WebKit/Source/modules/vr/libvr.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-eve
rywhere-src-5.10.0/qtwebengine/src/core/release/obj/device/vr/libdevice_vr_mojo_bindings_blink.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/WebKit/
Source/modules/wake_lock/libwake_lock.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/WebKit/Source/modules/webaudio/libwebaudio.a
/TOOLCHAIN/loop/tar
get/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/WebKit/Source/modules/webauth/libwebauth.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/
core/release/obj/third_party/WebKit/Source/modules/webdatabase/libwebdatabase.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/WebKit/Source/modules/we
bgl/libwebgl.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/WebKit/Source/modules/webmidi/libwebmidi.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-ever
ywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/WebKit/Source/modules/webshare/libwebshare.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_pa
rty/WebKit/Source/modules/websockets/libwebsockets.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/WebKit/Source/modules/webusb/libwebusb.a
/TOOLCHAIN
/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/WebKit/Source/web/libblink_web.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/c
ore/release/obj/ppapi/proxy/libppapi_proxy.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/content/renderer/librenderer.a
/TOOLCHAIN/loop/target/nicebox/sandbox/q
t-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/content/gpu/libgpu_sources.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/media/gpu/ipc/service/libservi
ce.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/mojo/edk/js/libjs.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/releas
e/obj/media/remoting/libmedia_remoting_proto.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/content/public/gpu/libgpu_sources.a
/TOOLCHAIN/loop/target/nicebox/sa
ndbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/hunspell/libhunspell.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/pdf/libpdf.a
/TOO
LCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/pdfium/libpdfium.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/rele
ase/obj/third_party/pdfium/libfxcrt.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/pdfium/libfdrm.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywh
ere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/pdfium/libformfiller.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/pdfium/libfpdfapi.a
/
TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/pdfium/libfpdfdoc.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/
release/obj/third_party/pdfium/libfpdftext.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/pdfium/libfxcodec.a
/TOOLCHAIN/loop/target/nicebox/sandbox/
qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/pdfium/third_party/libfx_libopenjpeg.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_p
arty/pdfium/third_party/libfx_lcms2.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/pdfium/libfxedit.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-every
where-src-5.10.0/qtwebengine/src/core/release/obj/third_party/pdfium/libfxge.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/pdfium/third_party/libfx_
agg.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/pdfium/libjavascript.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine
/src/core/release/obj/third_party/pdfium/libfxjs.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/v8/libv8_libplatform.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-
everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/pdfium/libpdfwindow.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/pdfium/third_pa
rty/libbigint.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/components/printing/browser/libbrowser.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.
10.0/qtwebengine/src/core/release/obj/components/printing/common/libcommon.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/components/printing/renderer/librendere
r.a
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/components/cdm/common/libcommon.a
-Wl,--end-group -L/usr/X11R7/lib -L/usr/lib/nss -L/usr/lib/nspr -lQt5Quick
-L/
TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtbase/lib
-lQt5Gui
-L/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtdeclarative/lib
-lQt5Qml -lQt5Network -lQt5Core -lpthread -lQt
5Gui
-L/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtbase/lib
-lQt5Core -lpthread -lQt5WebChannel
-L/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtdeclarative/lib
-lQt5Qml -L
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtbase/lib
-lQt5Network -lQt5Core -lpthread -lQt5Qml
-L/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtbase/lib
-lQt5Network -lQt5C
ore -lpthread -lQt5Network
-L/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtbase/lib
-lQt5Core -lpthread -lQt5Positioning
-L/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtbase
/lib -lQt5Core -lpthread -lQt5Core -lpthread -lGL -lpthread -ldl -lrt
-lsmime3 -lnssutil3 -lnss3 -lplds4 -lplc4 -lnspr4 -lresolv -lX11 -lX11-xcb
-lxcb -lXcomposite -lXcursor -lXdamage -lXext -lXfixes -lXi -lXrende
r -lXtst -lfreetype -lfontconfig -lexpat -lXrandr -lasound -lm -lz -ldbus-1
-L/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/api/release
-Wl,-whole-archive -lqtwebenginecoreap
i -Wl,-no-whole-archive -lEGL -lQt5Quick
-L/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtbase/lib
-lQt5Gui
-L/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtdeclarative/lib
-l
Qt5Qml -lQt5Network -lQt5Core -lpthread -lQt5Gui
-L/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtbase/lib
-lQt5Core -lpthread -lQt5Qml
-L/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src
-5.10.0/qtbase/lib -lQt5Network -lQt5Core -lpthread -lQt5Network
-L/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtbase/lib
-lQt5Core -lpthread -lQt5Core -lpthread -lGL


<LINKER RAN FOR 8 MINUTES THEN FAILED, PROBABLY B/C OF MY HACK IN LIBVPX>


/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/libvpx/libbundled_libvpx.a(vpx_dsp_rtcd.o):
In function `setup_rtcd_internal':
vpx_dsp_rtcd.c:(.text.setup_rtcd_internal+0x1bc): undefined reference to
`vpx_convolve8_avx2'
vpx_dsp_rtcd.c:(.text.setup_rtcd_internal+0x26c): undefined reference to
`vpx_convolve8_horiz_avx2'
vpx_dsp_rtcd.c:(.text.setup_rtcd_internal+0x2a4): undefined reference to
`vpx_convolve8_vert_avx2'
vpx_dsp_rtcd.c:(.text.setup_rtcd_internal+0x6db): undefined reference to
`vpx_get16x16var_avx2'
vpx_dsp_rtcd.c:(.text.setup_rtcd_internal+0x1186): undefined reference to
`vpx_highbd_convolve8_avx2'
vpx_dsp_rtcd.c:(.text.setup_rtcd_internal+0x1192): undefined reference to
`vpx_highbd_convolve8_avg_avx2'
vpx_dsp_rtcd.c:(.text.setup_rtcd_internal+0x119e): undefined reference to
`vpx_highbd_convolve8_avg_horiz_avx2'
vpx_dsp_rtcd.c:(.text.setup_rtcd_internal+0x11aa): undefined reference to
`vpx_highbd_convolve8_avg_vert_avx2'
vpx_dsp_rtcd.c:(.text.setup_rtcd_internal+0x11b6): undefined reference to
`vpx_highbd_convolve8_horiz_avx2'
vpx_dsp_rtcd.c:(.text.setup_rtcd_internal+0x11c2): undefined reference to
`vpx_highbd_convolve8_vert_avx2'
vpx_dsp_rtcd.c:(.text.setup_rtcd_internal+0x11ea): undefined reference to
`vpx_highbd_convolve_avg_avx2'
vpx_dsp_rtcd.c:(.text.setup_rtcd_internal+0x1212): undefined reference to
`vpx_highbd_convolve_copy_avx2'
vpx_dsp_rtcd.c:(.text.setup_rtcd_internal+0x1b39): undefined reference to
`vpx_lpf_horizontal_16_avx2'
vpx_dsp_rtcd.c:(.text.setup_rtcd_internal+0x1b61): undefined reference to
`vpx_lpf_horizontal_16_dual_avx2'
vpx_dsp_rtcd.c:(.text.setup_rtcd_internal+0x1cc8): undefined reference to
`vpx_mse16x16_avx2'
vpx_dsp_rtcd.c:(.text.setup_rtcd_internal+0x1ed9): undefined reference to
`vpx_sad32x16_avx2'
vpx_dsp_rtcd.c:(.text.setup_rtcd_internal+0x1f01): undefined reference to
`vpx_sad32x16_avg_avx2'
vpx_dsp_rtcd.c:(.text.setup_rtcd_internal+0x1f41): undefined reference to
`vpx_sad32x32_avx2'
vpx_dsp_rtcd.c:(.text.setup_rtcd_internal+0x1f69): undefined reference to
`vpx_sad32x32_avg_avx2'
vpx_dsp_rtcd.c:(.text.setup_rtcd_internal+0x1f91): undefined reference to
`vpx_sad32x32x4d_avx2'
vpx_dsp_rtcd.c:(.text.setup_rtcd_internal+0x1fb9): undefined reference to
`vpx_sad32x64_avx2'
vpx_dsp_rtcd.c:(.text.setup_rtcd_internal+0x1fe1): undefined reference to
`vpx_sad32x64_avg_avx2'
vpx_dsp_rtcd.c:(.text.setup_rtcd_internal+0x20e1): undefined reference to
`vpx_sad64x32_avx2'
vpx_dsp_rtcd.c:(.text.setup_rtcd_internal+0x2109): undefined reference to
`vpx_sad64x32_avg_avx2'
vpx_dsp_rtcd.c:(.text.setup_rtcd_internal+0x2149): undefined reference to
`vpx_sad64x64_avx2'
vpx_dsp_rtcd.c:(.text.setup_rtcd_internal+0x2171): undefined reference to
`vpx_sad64x64_avg_avx2'
vpx_dsp_rtcd.c:(.text.setup_rtcd_internal+0x2199): undefined reference to
`vpx_sad64x64x4d_avx2'
vpx_dsp_rtcd.c:(.text.setup_rtcd_internal+0x23d9): undefined reference to
`vpx_sub_pixel_avg_variance32x32_avx2'
vpx_dsp_rtcd.c:(.text.setup_rtcd_internal+0x24b1): undefined reference to
`vpx_sub_pixel_avg_variance64x64_avx2'
vpx_dsp_rtcd.c:(.text.setup_rtcd_internal+0x2601): undefined reference to
`vpx_sub_pixel_variance32x32_avx2'
vpx_dsp_rtcd.c:(.text.setup_rtcd_internal+0x26d9): undefined reference to
`vpx_sub_pixel_variance64x64_avx2'
vpx_dsp_rtcd.c:(.text.setup_rtcd_internal+0x286d): undefined reference to
`vpx_variance16x16_avx2'
vpx_dsp_rtcd.c:(.text.setup_rtcd_internal+0x28c5): undefined reference to
`vpx_variance32x16_avx2'
vpx_dsp_rtcd.c:(.text.setup_rtcd_internal+0x28ed): undefined reference to
`vpx_variance32x32_avx2'
vpx_dsp_rtcd.c:(.text.setup_rtcd_internal+0x295d): undefined reference to
`vpx_variance64x32_avx2'
vpx_dsp_rtcd.c:(.text.setup_rtcd_internal+0x2985): undefined reference to
`vpx_variance64x64_avx2'
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core/release/obj/third_party/libvpx/libbundled_libvpx.a(vp9_rtcd.o):
In function `setup_rtcd_internal':
vp9_rtcd.c:(.text.setup_rtcd_internal+0x15b): undefined reference to
`vp9_block_error_avx2'
collect2: error: ld returned 1 exit status
make[3]: *** [../../lib/libQt5WebEngineCore.so.5.10.0] Error 1
make[3]: Leaving directory
`/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core'
make[2]: *** [sub-core_module-pro-make_first] Error 2
make[2]: Leaving directory
`/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src/core'
make[1]: *** [sub-core-make_first] Error 2
make[1]: Leaving directory
`/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtwebengine/src'
Post by Thiago Macieira
Post by Konstantin Tokarev
Well, -m32 is also a kind of cross-compilation. It requires completely
different set of dependency packages to be preinstalled.
Not exactly. Yes, it requires a different set of packages to be installed, but
they're natively installed and can be run on the CPU, without emulation.
--
Thiago Macieira - thiago.macieira (AT) intel.com
Software Architect - Intel Open Source Technology Center
_______________________________________________
Development mailing list
http://lists.qt-project.org/mailman/listinfo/development
Kevin Kofler
2018-01-03 17:48:01 UTC
Permalink
Post by Toan Pham
I over came the memory limitation by forcing ninja to run in single thread
(pass -j 1 to ninja). However, at linking stage using a 32bit linker, the
linker failed because it could not find references to avx2 in libvpx, a
third-party library that I hacked to get AVX2 disabled. Since you've been
recommending that I should use 64bit linker, this error is completely
unrelated to the memory address limit of a 32bit linker. While the 32bit
linker was doing its job linking libQt5WebEngine.so, its maximum memory
usage (RSS) was 1.8GB, not anywhere close to the maximum addressable limit
of 32bit executables.
libvpx detects vector instructions at runtime. Therefore, it is not
necessary to disable AVX2 support even if your machine does not support
AVX2.

Kevin Kofler
Toan Pham
2018-01-03 18:02:33 UTC
Permalink
@Kevin,


The compiler I built a few years back was optimized for pentium4; it
wouldn't accept the -mavx2 option. That's why I had to hack libvpx to
disable avx completely.


Anyway, Here's the patch to libvpx if anyone is running into the same issue
at link time:

--- source/config/linux/ia32/vpx_dsp_rtcd.h.vanilla 2018-01-03
13:13:06.000000000 -0500
+++ source/config/linux/ia32/vpx_dsp_rtcd.h 2018-01-03
12:04:56.000000000 -0500
@@ -1969,6 +1969,8 @@
#include "vpx_ports/x86.h"
static void setup_rtcd_internal(void)
{
+ // pham
+ return;
int flags = x86_simd_caps();

(void)flags;
debug-linux26:[libvpx]# diff -urN
source/config/linux/ia32/vp9_rtcd.h.vanilla
source/config/linux/ia32/vp9_rtcd.h
--- source/config/linux/ia32/vp9_rtcd.h.vanilla 2018-01-03
13:12:24.000000000 -0500
+++ source/config/linux/ia32/vp9_rtcd.h 2018-01-03 12:14:11.000000000
-0500
@@ -153,6 +153,9 @@
{
int flags = x86_simd_caps();

+ // pham
+ return;
+
(void)flags;

vp9_block_error = vp9_block_error_c;
Post by Toan Pham
Post by Toan Pham
I over came the memory limitation by forcing ninja to run in single
thread
Post by Toan Pham
(pass -j 1 to ninja). However, at linking stage using a 32bit linker,
the
Post by Toan Pham
linker failed because it could not find references to avx2 in libvpx, a
third-party library that I hacked to get AVX2 disabled. Since you've
been
Post by Toan Pham
recommending that I should use 64bit linker, this error is completely
unrelated to the memory address limit of a 32bit linker. While the 32bit
linker was doing its job linking libQt5WebEngine.so, its maximum memory
usage (RSS) was 1.8GB, not anywhere close to the maximum addressable
limit
Post by Toan Pham
of 32bit executables.
libvpx detects vector instructions at runtime. Therefore, it is not
necessary to disable AVX2 support even if your machine does not support
AVX2.
Kevin Kofler
_______________________________________________
Development mailing list
http://lists.qt-project.org/mailman/listinfo/development
Thiago Macieira
2018-01-03 19:30:26 UTC
Permalink
Post by Toan Pham
The compiler I built a few years back was optimized for pentium4; it
wouldn't accept the -mavx2 option. That's why I had to hack libvpx to
disable avx completely.
AVX2 is a "relatively" modern instruction set, only available in GCC since
2011 (released in 2012, GCC 4.7). Are you sure the libvpx buildsystem couldn't
cope with the absence of this option?

In any case, if your compiler doesn't accept -mavx2, then it's older than GCC
4.7 and is therefore not supported with Qt 5.7 and up. Upgrade.
--
Thiago Macieira - thiago.macieira (AT) intel.com
Software Architect - Intel Open Source Technology Center
Toan Pham
2018-01-03 19:53:40 UTC
Permalink
Thiago,

I am using gcc 4.8.5, but the compiler was optimized for pentium4 so all of
those vector instructions had to be disabled at build time.

BTW, I got webengine to compile successfully with several patches to
libvpx. Now, I just ran into another brick wall with the errors attached
at the end of this email.
Here is my qt configure option:

-prefix /opt/qt5.10.0 -no-separate-debug-info -system-zlib -system-libpng
-confirm-license -nomake examples -I /usr/X11/include -release
-webengine-webrtc -qt-libjpeg -no-sse2 -no-sse3 -no-sse3 -no-sse4.1
-no-sse4.2 -no-avx -no-avx2


Please help if you know what's going on. thanks..




make[3]: Leaving directory
`/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtbase/src/tools/qvkgen'
cd gui/ && ( test -e Makefile ||
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtbase/bin/qmake
-o Makefile
/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtbase/src/gui/
gui.pro
) && make -f Makefile
make[3]: Entering directory
`/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtbase/src/gui'
rm -f libQt5Gui.so.5.10.0 libQt5Gui.so libQt5Gui.so.5 libQt5Gui.so.5.10
g++ -Wl,--no-undefined -Wl,--version-script,QtGui.version -Wl,-O1
-Wl,--enable-new-dtags -Wl,-z,origin -Wl,-rpath,\$ORIGIN -shared
-Wl,-Bsymbolic-functions
-Wl,--dynamic-list,/TOOLCHAIN/loop/target/nicebox/sandbox
/qt-everywhere-src-5.10.0/qtbase/src/gui/QtGui.dynlist
-Wl,-soname,libQt5Gui.so.5 -o libQt5Gui.so.5.10.0 .obj/qimage_compat.o
.obj/qaccessible.o .obj/qaccessiblecache.o .obj/qaccessibleobject.o
.obj/qaccessibleplu
gin.o .obj/qplatformaccessibility.o .obj/qaccessiblebridge.o
.obj/qgenericpluginfactory.o .obj/qgenericplugin.o
.obj/qwindowsysteminterface.o .obj/qplatforminputcontextfactory.o
.obj/qplatforminputcontextplugin.o
.obj/qplatforminputcontext.o .obj/qplatformintegration.o
.obj/qplatformdrag.o .obj/qplatformscreen.o
.obj/qplatformintegrationfactory.o .obj/qplatformintegrationplugin.o
.obj/qplatformtheme.o .obj/qplatformthemefa
ctory.o .obj/qplatformthemeplugin.o .obj/qplatformwindow.o
.obj/qplatformoffscreensurface.o .obj/qplatformcursor.o
.obj/qplatformclipboard.o .obj/qplatformnativeinterface.o
.obj/qsessionmanager.o .obj/qshapedpixma
pdndwindow.o .obj/qsimpledrag.o .obj/qsurfaceformat.o
.obj/qguiapplication.o .obj/qwindow.o .obj/qoffscreensurface.o
.obj/qplatformsurface.o .obj/qsurface.o .obj/qclipboard.o .obj/qcursor.o
.obj/qdrag.o .obj/qdnd.
o .obj/qevent.o .obj/qinputmethod.o .obj/qkeysequence.o .obj/qkeymapper.o
.obj/qpalette.o .obj/qguivariant.o .obj/qscreen.o .obj/qshortcutmap.o
.obj/qstylehints.o .obj/qtouchdevice.o .obj/qplatformsharedgraphicsca
che.o .obj/qplatformdialoghelper.o .obj/qplatformservices.o
.obj/qplatformsystemtrayicon.o .obj/qplatformsessionmanager.o
.obj/qplatformmenu.o .obj/qpixelformat.o .obj/qpaintdevicewindow.o
.obj/qrasterwindow.o .ob
j/qplatformgraphicsbuffer.o .obj/qplatformgraphicsbufferhelper.o
.obj/qinputdevicemanager.o .obj/qhighdpiscaling.o
.obj/qplatformopenglcontext.o .obj/qopenglcontext.o .obj/qopenglwindow.o
.obj/qbitmap.o .obj/qimag
e.o .obj/qimage_conversions.o .obj/qimageiohandler.o .obj/qimagereader.o
.obj/qimagewriter.o .obj/qpaintengine_pic.o .obj/qpicture.o
.obj/qpictureformatplugin.o .obj/qpixmap.o .obj/qpixmapcache.o
.obj/qplatformpix
map.o .obj/qpixmap_raster.o .obj/qpixmap_blitter.o
.obj/qimagepixmapcleanuphooks.o .obj/qicon.o .obj/qiconloader.o
.obj/qiconengine.o .obj/qiconengineplugin.o .obj/qmovie.o
.obj/qbmphandler.o .obj/qppmhandler.o .o
bj/qxbmhandler.o .obj/qxpmhandler.o .obj/qpnghandler.o .obj/qfont.o
.obj/qfontengine.o .obj/qfontengineglyphcache.o .obj/qfontsubset.o
.obj/qfontmetrics.o .obj/qfontdatabase.o .obj/qtextengine.o
.obj/qtextlayout.o
.obj/qtextformat.o .obj/qtextobject.o .obj/qtextoption.o
.obj/qfragmentmap.o .obj/qtextdocument.o .obj/qtextdocument_p.o
.obj/qtexthtmlparser.o .obj/qabstracttextdocumentlayout.o
.obj/qtextdocumentlayout.o .obj/q
textcursor.o .obj/qtextdocumentfragment.o .obj/qtextimagehandler.o
.obj/qtexttable.o .obj/qtextlist.o .obj/qtextdocumentwriter.o
.obj/qsyntaxhighlighter.o .obj/qstatictext.o .obj/qrawfont.o
.obj/qglyphrun.o .obj/q
distancefield.o .obj/qinputcontrol.o .obj/qfontengine_qpf2.o
.obj/qplatformfontdatabase.o .obj/qharfbuzzng.o .obj/qtextodfwriter.o
.obj/qzip.o .obj/qcssparser.o .obj/qbackingstore.o .obj/qbezier.o
.obj/qblendfunct
ions.o .obj/qblittable.o .obj/qbrush.o .obj/qcolor.o .obj/qcolorprofile.o
.obj/qcompositionfunctions.o .obj/qcosmeticstroker.o .obj/qdrawhelper.o
.obj/qemulationpaintengine.o .obj/qgrayraster.o .obj/qimagescale.o
.obj/qmatrix.o .obj/qmemrotate.o .obj/qoutlinemapper.o
.obj/qpagedpaintdevice.o .obj/qpagelayout.o .obj/qpagesize.o
.obj/qpaintdevice.o .obj/qpaintengine.o .obj/qpaintengineex.o
.obj/qpaintengine_blitter.o .obj/qp
aintengine_raster.o .obj/qpainter.o .obj/qpainterpath.o .obj/qpathclipper.o
.obj/qpdf.o .obj/qpdfwriter.o .obj/qpen.o .obj/qpolygon.o
.obj/qrasterizer.o .obj/qregion.o .obj/qstroker.o .obj/qtextureglyphcache.o
.ob
j/qtransform.o .obj/qtriangulatingstroker.o .obj/qtriangulator.o
.obj/qplatformbackingstore.o .obj/qpathsimplifier.o .obj/qcssutil.o
.obj/qdesktopservices.o .obj/qvalidator.o .obj/qgridlayoutengine.o
.obj/qabstrac
tlayoutstyleinfo.o .obj/qlayoutpolicy.o .obj/qshaderformat.o
.obj/qshadergenerator.o .obj/qshadergraph.o .obj/qshadergraphloader.o
.obj/qshaderlanguage.o .obj/qshadernode.o .obj/qshadernodeport.o
.obj/qshadernodes
loader.o .obj/qgenericmatrix.o .obj/qmatrix4x4.o .obj/qquaternion.o
.obj/qvector2d.o .obj/qvector3d.o .obj/qvector4d.o .obj/qopengl.o
.obj/qopenglfunctions.o .obj/qopenglframebufferobject.o
.obj/qopenglpaintdevice
.o .obj/qopenglbuffer.o .obj/qopenglshaderprogram.o
.obj/qopenglgradientcache.o .obj/qopengltexturecache.o
.obj/qopenglengineshadermanager.o .obj/qopengl2pexvertexarray.o
.obj/qopenglpaintengine.o .obj/qopenglcust
omshaderstage.o .obj/qopengltextureglyphcache.o
.obj/qopenglversionfunctions.o .obj/qopenglversionfunctionsfactory.o
.obj/qopenglvertexarrayobject.o .obj/qopengldebug.o
.obj/qopengltextureblitter.o .obj/qopengltex
ture.o .obj/qopengltexturehelper.o .obj/qopenglpixeltransferoptions.o
.obj/qopenglprogrambinarycache.o .obj/qopenglfunctions_1_0.o
.obj/qopenglfunctions_1_1.o .obj/qopenglfunctions_1_2.o
.obj/qopenglfunctions_1_3.
o .obj/qopenglfunctions_1_4.o .obj/qopenglfunctions_1_5.o
.obj/qopenglfunctions_2_0.o .obj/qopenglfunctions_2_1.o
.obj/qopenglfunctions_3_0.o .obj/qopenglfunctions_3_1.o
.obj/qopenglfunctions_3_2_core.o .obj/qopen
glfunctions_3_3_core.o .obj/qopenglfunctions_4_0_core.o
.obj/qopenglfunctions_4_1_core.o .obj/qopenglfunctions_4_2_core.o
.obj/qopenglfunctions_4_3_core.o .obj/qopenglfunctions_4_4_core.o
.obj/qopenglfunctions_4_5
_core.o .obj/qopenglfunctions_3_2_compatibility.o
.obj/qopenglfunctions_3_3_compatibility.o
.obj/qopenglfunctions_4_0_compatibility.o
.obj/qopenglfunctions_4_1_compatibility.o
.obj/qopenglfunctions_4_2_compatibili
ty.o .obj/qopenglfunctions_4_3_compatibility.o
.obj/qopenglfunctions_4_4_compatibility.o
.obj/qopenglfunctions_4_5_compatibility.o .obj/qopengltimerquery.o
.obj/qguivariantanimation.o .obj/qstandarditemmodel.o .ob
j/qrc_qpdf.o .obj/moc_qaccessible.o .obj/moc_qaccessiblecache_p.o
.obj/moc_qaccessibleplugin.o .obj/moc_qaccessiblebridge.o
.obj/moc_qgenericplugin.o .obj/moc_qplatforminputcontext.o
.obj/moc_qplatforminputcontext
plugin_p.o .obj/moc_qplatformintegrationplugin.o
.obj/moc_qplatformthemeplugin.o .obj/moc_qplatformnativeinterface.o
.obj/moc_qplatformmenu.o .obj/moc_qshapedpixmapdndwindow_p.o
.obj/moc_qsurfaceformat.o .obj/moc_
qoffscreensurface.o .obj/moc_qclipboard.o .obj/moc_qdrag.o
.obj/moc_qdnd_p.o .obj/moc_qevent.o .obj/moc_qkeysequence.o
.obj/moc_qkeymapper_p.o .obj/moc_qpalette.o .obj/moc_qsessionmanager.o
.obj/moc_qscreen.o .obj
/moc_qstylehints.o .obj/moc_qtouchdevice.o
.obj/moc_qplatformsharedgraphicscache.o .obj/moc_qplatformdialoghelper.o
.obj/moc_qpaintdevicewindow.o .obj/moc_qrasterwindow.o
.obj/moc_qplatformgraphicsbuffer.o .obj/mo
c_qinputdevicemanager_p.o .obj/moc_qopenglwindow.o
.obj/moc_qimageiohandler.o .obj/moc_qpictureformatplugin.o
.obj/moc_qiconengineplugin.o .obj/moc_qfont.o .obj/moc_qfontdatabase.o
.obj/moc_qtextformat.o .obj/moc_
qtextobject.o .obj/moc_qtextdocument.o .obj/moc_qtextimagehandler_p.o
.obj/moc_qtexttable.o .obj/moc_qtextlist.o .obj/moc_qinputcontrol_p.o
.obj/moc_qbrush.o .obj/moc_qpainter.o .obj/moc_qpdfwriter.o .obj/moc_qpla
tformbackingstore.o .obj/moc_qvalidator.o .obj/moc_qshaderlanguage_p.o
.obj/moc_qopenglshaderprogram.o .obj/moc_qopenglengineshadermanager_p.o
.obj/moc_qopengltexture.o .obj/moc_qopengltimerquery.o -L/TOOLCHAIN/l
oop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtbase/lib -lQt5Core
-lpthread -L/usr/X11R7/lib -lGL -lpng12 -lqtharfbuzz -lz
.obj/qimage.o: In function `QImage::fill(unsigned int)':
qimage.cpp:(.text+0x46fa): undefined reference to `qt_memfill16(unsigned
short*, unsigned short, int)'
qimage.cpp:(.text+0x471f): undefined reference to `qt_memfill16(unsigned
short*, unsigned short, int)'
qimage.cpp:(.text+0x4802): undefined reference to `qt_memfill32(unsigned
int*, unsigned int, int)'
qimage.cpp:(.text+0x4828): undefined reference to `qt_memfill32(unsigned
int*, unsigned int, int)'
.obj/qimage_conversions.o:(.data.rel+0x20c): undefined reference to
`convert_ARGB_to_ARGB_PM_inplace_sse2(QImageData*,
QFlags<Qt::ImageConversionFlag>)'
.obj/qimage_conversions.o:(.data.rel+0x6ec): undefined reference to
`convert_ARGB_to_ARGB_PM_inplace_sse2(QImageData*,
QFlags<Qt::ImageConversionFlag>)'
.obj/qcompositionfunctions.o: In function `comp_func_solid_Clear(unsigned
int*, int, unsigned int, unsigned int)':
qcompositionfunctions.cpp:(.text+0x2064): undefined reference to
`qt_memfill32(unsigned int*, unsigned int, int)'
.obj/qcompositionfunctions.o: In function `comp_func_Clear(unsigned int*,
unsigned int const*, int, unsigned int)':
qcompositionfunctions.cpp:(.text+0x210c): undefined reference to
`qt_memfill32(unsigned int*, unsigned int, int)'
.obj/qcompositionfunctions.o: In function `comp_func_solid_Source(unsigned
int*, int, unsigned int, unsigned int)':
qcompositionfunctions.cpp:(.text+0x21b9): undefined reference to
`qt_memfill32(unsigned int*, unsigned int, int)'
.obj/qcompositionfunctions.o: In function
`rasterop_solid_NotSource(unsigned int*, int, unsigned int, unsigned int)':
qcompositionfunctions.cpp:(.text+0x22b1): undefined reference to
`qt_memfill32(unsigned int*, unsigned int, int)'
.obj/qcompositionfunctions.o: In function
`comp_func_solid_SourceOver(unsigned int*, int, unsigned int, unsigned
int)':
qcompositionfunctions.cpp:(.text+0x22fb): undefined reference to
`qt_memfill32(unsigned int*, unsigned int, int)'
.obj/qdrawhelper.o:qdrawhelper.cpp:(.text+0x2325): more undefined
references to `qt_memfill32(unsigned int*, unsigned int, int)' follow
.obj/qdrawhelper.o: In function `qt_rectfill_quint16(QRasterBuffer*, int,
int, int, int, QRgba64 const&)':
qdrawhelper.cpp:(.text+0x10504): undefined reference to
`qt_memfill16(unsigned short*, unsigned short, int)'
qdrawhelper.cpp:(.text+0x10522): undefined reference to
`qt_memfill16(unsigned short*, unsigned short, int)'
.obj/qdrawhelper.o: In function `qt_bitmapblit_quint16(QRasterBuffer*, int,
int, QRgba64 const&, unsigned char const*, int, int, int)':
qdrawhelper.cpp:(.text+0x105f7): undefined reference to
`qt_memfill16(unsigned short*, unsigned short, int)'
qdrawhelper.cpp:(.text+0x10649): undefined reference to
`qt_memfill16(unsigned short*, unsigned short, int)'
qdrawhelper.cpp:(.text+0x10686): undefined reference to
`qt_memfill16(unsigned short*, unsigned short, int)'
.obj/qdrawhelper.o:qdrawhelper.cpp:(.text+0x106cc): more undefined
references to `qt_memfill16(unsigned short*, unsigned short, int)' follow
.obj/qdrawhelper.o: In function `_GLOBAL__sub_I_qdrawhelper.cpp':
qdrawhelper.cpp:(.text.startup+0x19): undefined reference to
`qt_bitmapblit32_sse2(QRasterBuffer*, int, int, QRgba64 const&, unsigned
char const*, int, int, int)'
qdrawhelper.cpp:(.text.startup+0x31): undefined reference to
`qt_bitmapblit16_sse2(QRasterBuffer*, int, int, QRgba64 const&, unsigned
char const*, int, int, int)'
qdrawhelper.cpp:(.text.startup+0x3d): undefined reference to
`qt_bitmapblit8888_sse2(QRasterBuffer*, int, int, QRgba64 const&, unsigned
char const*, int, int, int)'
qdrawhelper.cpp:(.text.startup+0x5b): undefined reference to
`qt_scale_image_argb32_on_argb32_sse2(unsigned char*, int, unsigned char
const*, int, int, QRectF const&, QRectF const&, QRect const&, int)'
qdrawhelper.cpp:(.text.startup+0x7f): undefined reference to
`qt_blend_rgb32_on_rgb32_sse2(unsigned char*, int, unsigned char const*,
int, int, int, int)'
qdrawhelper.cpp:(.text.startup+0x91): undefined reference to
`qt_blend_argb32_on_argb32_sse2(unsigned char*, int, unsigned char const*,
int, int, int, int)'
qdrawhelper.cpp:(.text.startup+0xbb): undefined reference to
`qt_fetch_radial_gradient_sse2(unsigned int*, Operator const*, QSpanData
const*, int, int, int)'
qdrawhelper.cpp:(.text.startup+0xcd): undefined reference to
`comp_func_SourceOver_sse2(unsigned int*, unsigned int const*, int,
unsigned int)'
qdrawhelper.cpp:(.text.startup+0xd5): undefined reference to
`comp_func_solid_SourceOver_sse2(unsigned int*, int, unsigned int, unsigned
int)'
qdrawhelper.cpp:(.text.startup+0xe3): undefined reference to
`comp_func_Source_sse2(unsigned int*, unsigned int const*, int, unsigned
int)'
qdrawhelper.cpp:(.text.startup+0xec): undefined reference to
`comp_func_Plus_sse2(unsigned int*, unsigned int const*, int, unsigned int)'
collect2: error: ld returned 1 exit status
make[3]: *** [../../lib/libQt5Gui.so.5.10.0] Error 1
make[3]: Leaving directory
`/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtbase/src/gui'
make[2]: *** [sub-gui-make_first] Error 2
make[2]: Leaving directory
`/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtbase/src'
make[1]: *** [sub-src-make_first] Error 2
make[1]: Leaving directory
`/TOOLCHAIN/loop/target/nicebox/sandbox/qt-everywhere-src-5.10.0/qtbase'
make: *** [module-qtbase-make_first] Error 2
Post by Thiago Macieira
Post by Toan Pham
The compiler I built a few years back was optimized for pentium4; it
wouldn't accept the -mavx2 option. That's why I had to hack libvpx to
disable avx completely.
AVX2 is a "relatively" modern instruction set, only available in GCC since
2011 (released in 2012, GCC 4.7). Are you sure the libvpx buildsystem couldn't
cope with the absence of this option?
In any case, if your compiler doesn't accept -mavx2, then it's older than GCC
4.7 and is therefore not supported with Qt 5.7 and up. Upgrade.
--
Thiago Macieira - thiago.macieira (AT) intel.com
Software Architect - Intel Open Source Technology Center
_______________________________________________
Development mailing list
http://lists.qt-project.org/mailman/listinfo/development
Thiago Macieira
2018-01-03 20:01:43 UTC
Permalink
Post by Toan Pham
Thiago,
I am using gcc 4.8.5, but the compiler was optimized for pentium4 so all of
those vector instructions had to be disabled at build time.
Ah, ok, provided "all those" imply "those that Pentium 4 did not support".
Post by Toan Pham
BTW, I got webengine to compile successfully with several patches to
libvpx. Now, I just ran into another brick wall with the errors attached
at the end of this email.
-prefix /opt/qt5.10.0 -no-separate-debug-info -system-zlib -system-libpng
-confirm-license -nomake examples -I /usr/X11/include -release
-webengine-webrtc -qt-libjpeg -no-sse2 -no-sse3 -no-sse3 -no-sse4.1
-no-sse4.2 -no-avx -no-avx2
If you want to optimise for Pentium 4, you're going the wrong way about it.
Please re-read the specs for your processor and disable ONLY the features it
doesn't possess.
--
Thiago Macieira - thiago.macieira (AT) intel.com
Software Architect - Intel Open Source Technology Center
Thiago Macieira
2018-01-03 20:25:19 UTC
Permalink
Post by Thiago Macieira
Post by Toan Pham
-prefix /opt/qt5.10.0 -no-separate-debug-info -system-zlib -system-libpng
-confirm-license -nomake examples -I /usr/X11/include -release
-webengine-webrtc -qt-libjpeg -no-sse2 -no-sse3 -no-sse3 -no-sse4.1
-no-sse4.2 -no-avx -no-avx2
If you want to optimise for Pentium 4, you're going the wrong way about it.
Please re-read the specs for your processor and disable ONLY the features
it doesn't possess.
In particular: -no-sse2.

If you use that option, that means you're optimising for Pentium III and
earlier, not Pentium 4. All Pentium 4 processors have SSE2.

More importantly, SSE2 is *MANDATORY* for 64-bit builds. You may not turn it
off. The errors you are getting are related specifically to this option. So
are you sure you're building 32-bit?

And when you said you built a Penitum4-optimised compiler, are you sure you
didn't enable SSE2 out of the box? Please run this with your toolchain's
compiler:

g++ -dM -E -xc /dev/null | grep __SSE

What does that print?
--
Thiago Macieira - thiago.macieira (AT) intel.com
Software Architect - Intel Open Source Technology Center
Kevin Kofler
2018-01-04 14:16:37 UTC
Permalink
Post by Thiago Macieira
In particular: -no-sse2.
If you use that option, that means you're optimising for Pentium III and
earlier, not Pentium 4. All Pentium 4 processors have SSE2.
More importantly, SSE2 is *MANDATORY* for 64-bit builds. You may not turn
it off. The errors you are getting are related specifically to this
option. So are you sure you're building 32-bit?
In addition, QtWebEngine always requires SSE2 no matter how you configure
Qt. Chromium stopped supporting machines without SSE2 a few years ago.

There is a huge patch (from me) to allow building for non-SSE2 i686 machines
in the Fedora qt5-qtwebengine package, but that patch is completely
unsupported by upstream.

Kevin Kofler
Thiago Macieira
2018-01-04 22:48:26 UTC
Permalink
Post by Kevin Kofler
Post by Thiago Macieira
In particular: -no-sse2.
If you use that option, that means you're optimising for Pentium III and
earlier, not Pentium 4. All Pentium 4 processors have SSE2.
More importantly, SSE2 is *MANDATORY* for 64-bit builds. You may not turn
it off. The errors you are getting are related specifically to this
option. So are you sure you're building 32-bit?
In addition, QtWebEngine always requires SSE2 no matter how you configure
Qt. Chromium stopped supporting machines without SSE2 a few years ago.
There is a huge patch (from me) to allow building for non-SSE2 i686 machines
in the Fedora qt5-qtwebengine package, but that patch is completely
unsupported by upstream.
And, like I said, Pentium 4 supports SSE2.
--
Thiago Macieira - thiago.macieira (AT) intel.com
Software Architect - Intel Open Source Technology Center
Christian Gagneraud
2018-01-04 22:52:40 UTC
Permalink
Post by Kevin Kofler
Post by Thiago Macieira
In particular: -no-sse2.
If you use that option, that means you're optimising for Pentium III and
earlier, not Pentium 4. All Pentium 4 processors have SSE2.
I was looking at LEDE (a fork/merge of OpenWRT) recently, and their
'i386' build actually target Pentium 4, which is i686++
See https://lede-project.org/docs/instructionset/i386_pentium4

I have been fighting with x86_32 build of Qt too, I never managed to
build Qt in 32 bits on a 64 bits OS, I always ended up hacking badly
the host distro (OpenSuse and Ubuntu). I'm now using 32bits OS in a
docker container.

You're not (and I'm not either) the first one to report problems with
building Qt on x86_32 Linux recently.
Linux32 is officially not supported any more, and I think it is a mistake.
Claiming that nobody needs Linux-x86_32 nowadays is plainly wrong.
And dropping opensource/commercial Linux-x86_32 support just before Qt-5.6 (LTS)
was not a user/client friendly move either.
Post by Kevin Kofler
Post by Thiago Macieira
More importantly, SSE2 is *MANDATORY* for 64-bit builds. You may not turn
it off. The errors you are getting are related specifically to this
option. So are you sure you're building 32-bit?
In addition, QtWebEngine always requires SSE2 no matter how you configure
Qt. Chromium stopped supporting machines without SSE2 a few years ago.
There is a huge patch (from me) to allow building for non-SSE2 i686 machines
in the Fedora qt5-qtwebengine package, but that patch is completely
unsupported by upstream.
I might investigate Fedora 24, which ships Qt-5.6.

Chris
Post by Kevin Kofler
Kevin Kofler
_______________________________________________
Development mailing list
http://lists.qt-project.org/mailman/listinfo/development
Thiago Macieira
2018-01-04 23:22:37 UTC
Permalink
Post by Christian Gagneraud
Post by Thiago Macieira
In particular: -no-sse2.
If you use that option, that means you're optimising for Pentium III and
earlier, not Pentium 4. All Pentium 4 processors have SSE2.
I was looking at LEDE (a fork/merge of OpenWRT) recently, and their
'i386' build actually target Pentium 4, which is i686++
See https://lede-project.org/docs/instructionset/i386_pentium4
I don't know what devices LEDE is targetting, but we can break down 32-bit x86
into four segments:

1) IA MCUs (Intel Quark™ line): these are 32-bit-only MMU-less systems, with
RAM measured in kilobytes. This is not relevant for Qt or, for that matter,
Linux. If you're interested, my colleagues support it with the Zephyr Project.

2) Atom line: these are modern, low-power devices meant for embedded use, The
initial run was 32-bit, but all modern Atom are 64-bit and support SSE 4.2.
That's also what the Android x86-64 ABI requires.

3) regular desktop, laptop and server processors: we can assume they are 64-
bit, since that's over 10 years old now. The first 64-bit Intel Macs also had
SSE 4.2 support and that was 2009. Cloud infra usually runs on top of Intel
Xeons, the first version of which was based on the Nehalem or Westmere
architecture (also SSE 4.2). I'm not that familiar with AMD offerings, but
looking at GCC's source code shows all modern AMD products also have AVX or
AVX2. Our minimum Windows version (7) had quite good 64-bit support too.
Finally, the only feature that glibc's ld.so uses to search for different
libraries in 64-bit is AVX2 (2013).

4) obsolete processors: anything that is over 10 years old. Still a target for
Linux distributions.

Obviously, my employer would like nothing better than we start targetting 2
and 3. Those billions of transistors you have in your processor for AVX should
get used to improve performance, not just produce heat.
Post by Christian Gagneraud
I have been fighting with x86_32 build of Qt too, I never managed to
build Qt in 32 bits on a 64 bits OS, I always ended up hacking badly
the host distro (OpenSuse and Ubuntu). I'm now using 32bits OS in a
docker container.
I've never had a problem, but I confess I don't try to build all of Qt. I
build all[*] of Qt with GCC and Clang on Linux, but that's 64-bit. The 32-bit
build is only for qtbase, once every couple of months. For example, I still
need to do the benchmarking for the new qHash function in 32-bit, which I find
to be a poor use of my time so I haven't done yet.

[*] not including qtwebengine. I've never built that.
Post by Christian Gagneraud
You're not (and I'm not either) the first one to report problems with
building Qt on x86_32 Linux recently.
Linux32 is officially not supported any more, and I think it is a mistake.
Yes, it is. Please report issues so we can fix them.
Post by Christian Gagneraud
Claiming that nobody needs Linux-x86_32 nowadays is plainly wrong.
Agreed. There are people who need it. Very few, but they exist.

It's only a matter of priorities. See the listing above: 32-bit processors
only either fall into the "out of scope" category (microcontrollers) or
"obsolete". So please don't expect us to dedicate a lot of time to it.

Supply patches.
Post by Christian Gagneraud
And dropping opensource/commercial Linux-x86_32 support just before Qt-5.6
(LTS) was not a user/client friendly move either.
Since it wasn't dropped, the point is moot.
--
Thiago Macieira - thiago.macieira (AT) intel.com
Software Architect - Intel Open Source Technology Center
Christian Gagneraud
2018-01-05 01:40:40 UTC
Permalink
Post by Thiago Macieira
Post by Christian Gagneraud
Post by Thiago Macieira
In particular: -no-sse2.
If you use that option, that means you're optimising for Pentium III and
earlier, not Pentium 4. All Pentium 4 processors have SSE2.
I was looking at LEDE (a fork/merge of OpenWRT) recently, and their
'i386' build actually target Pentium 4, which is i686++
See https://lede-project.org/docs/instructionset/i386_pentium4
I don't know what devices LEDE is targetting, but we can break down 32-bit x86
It's not just about what hardware you target, in my case, i cannot
build the codebase in 64 bits, simply because the code is not 64-bits
ready (mainly due to legacy old/complicated components): Not only the
code base is full of 32 vs 64 issues, but it actually doesn't build at
all, and fixing it is not an easy job and not a priority (yet).
I wish too, i could target Linux-x86_64, but i cannot. This codebase
currently builds for WINTEL32 and Linux/ARM32, it used to be built for
a Geode or VIA proc, some time ago, with Qt-4.x

And thinking about that, why is it a pain to maintain Linux-x86_32
when you have to maintain Linux-<non-intel>_32 and <non-linux>-*_32?
From http://doc.qt.io/qt-5/supported-platforms.html, Qt-5.10 supports
the following 32 bits platforms:
- Android-armv7
- WatchOS-armv7
- Windows-{7,8.1,10}-x86_32
- Windows-UWP-{x86_32,armv7}
- Boot2Qt-{armv7,x86_32}
- Qnx-{armv7,x86_32}

Please note the Boot2Qt-x86_32, which is a weird case as it is an
"Embedded Linux" for x86_32 (Yocto).
The only reason for supporting "Embedded Linux" for x86_32 and not
"Desktop Linux" for x86_32 is, I guess, CI workload.
Post by Thiago Macieira
Obviously, my employer would like nothing better than we start targetting 2
and 3. Those billions of transistors you have in your processor for AVX should
get used to improve performance, not just produce heat.
Neatpick: AVX itself doesn't require billions of transistors, the
first intel proc to require more than a billion transistor are 4 and 6
cores i7.
https://en.wikipedia.org/wiki/Transistor_count

This slides are interesting as well,
https://www.inf.ethz.ch/personal/markusp/teaching/263-2300-ETH-spring12/slides/class03.pdf.
L2/L3 cache is what takes the most space.
Post by Thiago Macieira
Post by Christian Gagneraud
I have been fighting with x86_32 build of Qt too, I never managed to
build Qt in 32 bits on a 64 bits OS, I always ended up hacking badly
the host distro (OpenSuse and Ubuntu). I'm now using 32bits OS in a
docker container.
I've never had a problem, but I confess I don't try to build all of Qt. I
build all[*] of Qt with GCC and Clang on Linux, but that's 64-bit. The 32-bit
build is only for qtbase, once every couple of months. For example, I still
need to do the benchmarking for the new qHash function in 32-bit, which I find
to be a poor use of my time so I haven't done yet.
[*] not including qtwebengine. I've never built that.
You told me so a few month ago, and I switched to OpenSuse since then,
but i still had issues, and the only way to get around was to break
the host distro (force-install some dev packages, 'ln -sf' SO here and
there, ...)
Please share your script if you have some.
Post by Thiago Macieira
Post by Christian Gagneraud
You're not (and I'm not either) the first one to report problems with
building Qt on x86_32 Linux recently.
Linux32 is officially not supported any more, and I think it is a mistake.
Yes, it is. Please report issues so we can fix them.
I might do it once i'm back on my 32 bits build task.
But the difficulty is to create a "good" ticket. If I do it right now,
the issue would look like:
"I followed https://wiki.qt.io/Building_Qt_5_from_Git and i cannot
build Qt-5.6 for x86_32 on a "common" Linux distro (x86_32/64)"

With all due respect to Wiki contributors,
https://wiki.qt.io/Building_Qt_5_from_Git looks like a giant mess,
with the usual 200 Linux distro specifics, outdated and unorganised
information, ...
Post by Thiago Macieira
Post by Christian Gagneraud
Claiming that nobody needs Linux-x86_32 nowadays is plainly wrong.
Agreed. There are people who need it. Very few, but they exist.
What do you base your "very few" on?
I would be interested to see the download stats of Qt-5.5 for Linux-32.
Post by Thiago Macieira
Post by Christian Gagneraud
And dropping opensource/commercial Linux-x86_32 support just before Qt-5.6
(LTS) was not a user/client friendly move either.
Since it wasn't dropped, the point is moot.
Linux-Desktop-x86_32 was dropped with Qt-5.6. The last Qt version to
support it was Qt-5.5, and Qt-5.5 has now disappear from
http://download.qt.io/official_releases/qt/ ...

Or maybe we're not talking about the same thing. I'm not even sure
what the Qt Company means by "Supported until Mar. 16, 2019" on
http://doc.qt.io/qt-5.6/supported-platforms.html (that's Qt-5.6).
What I'm sure of, is that i cannot download Qt-5.6 binaries for
Linux-x86_32 (commercial or opensource).


Chris
Thiago Macieira
2018-01-05 02:11:37 UTC
Permalink
Post by Christian Gagneraud
It's not just about what hardware you target, in my case, i cannot
build the codebase in 64 bits, simply because the code is not 64-bits
ready (mainly due to legacy old/complicated components): Not only the
code base is full of 32 vs 64 issues, but it actually doesn't build at
all, and fixing it is not an easy job and not a priority (yet).
And that's an understandable, if unfortunate, situation. You should keep that
version working, even if it means keeping an old compiler you know works,
until you can clean up. But don't upgrade Qt either: keep the old version that
you know was working.

You should also prepare disclaimers to your customers about security issues
not being fixed.
Post by Christian Gagneraud
I wish too, i could target Linux-x86_64, but i cannot. This codebase
currently builds for WINTEL32 and Linux/ARM32, it used to be built for
a Geode or VIA proc, some time ago, with Qt-4.x
The fact that you mention Geode and VIA means it's *old*.
Post by Christian Gagneraud
And thinking about that, why is it a pain to maintain Linux-x86_32
when you have to maintain Linux-<non-intel>_32 and <non-linux>-*_32?
From http://doc.qt.io/qt-5/supported-platforms.html, Qt-5.10 supports
- Android-armv7
- WatchOS-armv7
- Windows-{7,8.1,10}-x86_32
- Windows-UWP-{x86_32,armv7}
- Boot2Qt-{armv7,x86_32}
- Qnx-{armv7,x86_32}
It's not. Like I said, it is supported and there are no known issues with it.
That is, if you use compilers and Linux distributions of equivalent age as the
Qt that you're compiling.

A 10-year-old hacked compiler targetting a 10-year-old processor doesn't
count.
Post by Christian Gagneraud
Please note the Boot2Qt-x86_32, which is a weird case as it is an
"Embedded Linux" for x86_32 (Yocto).
The only reason for supporting "Embedded Linux" for x86_32 and not
"Desktop Linux" for x86_32 is, I guess, CI workload.
Also beats me. Like I said in my previous email, there were some 32-bit only
Atoms in the beginning, but all new offerings in the last 4 years have been
64-bit capable. There are considerable advantages in using 64-bit, and I would
even need to see numbers to agree there's a code or data size increase.

I also know TQtC has been pushing hard for the Automotive segment and I know
ALL of those are 64-bit capable (almost all are Intel).
Post by Christian Gagneraud
Post by Thiago Macieira
Obviously, my employer would like nothing better than we start targetting 2
and 3. Those billions of transistors you have in your processor for AVX
should get used to improve performance, not just produce heat.
Neatpick: AVX itself doesn't require billions of transistors, the
first intel proc to require more than a billion transistor are 4 and 6
cores i7.
https://en.wikipedia.org/wiki/Transistor_count
Fair enough. The billions are usually due to expanded L3 caches, not the CPU
itself. I was exaggerating.

Still, AVX and AVX2 are considerable die size (don't know how much).
Post by Christian Gagneraud
This slides are interesting as well,
https://www.inf.ethz.ch/personal/markusp/teaching/263-2300-ETH-spring12/slid
es/class03.pdf. L2/L3 cache is what takes the most space.
Some even have an "L4" shared with or even dedicated to the GPU, which is
another transistor hog.
Post by Christian Gagneraud
Post by Thiago Macieira
I've never had a problem, but I confess I don't try to build all of Qt. I
build all[*] of Qt with GCC and Clang on Linux, but that's 64-bit. The
32-bit build is only for qtbase, once every couple of months. For
example, I still need to do the benchmarking for the new qHash function
in 32-bit, which I find to be a poor use of my time so I haven't done
yet.
[*] not including qtwebengine. I've never built that.
You told me so a few month ago, and I switched to OpenSuse since then,
but i still had issues, and the only way to get around was to break
the host distro (force-install some dev packages, 'ln -sf' SO here and
there, ...)
Please share your script if you have some.
Regular configure -platform linux-g++-32 && make. There's nothing special.
Post by Christian Gagneraud
Post by Thiago Macieira
Yes, it is. Please report issues so we can fix them.
I might do it once i'm back on my 32 bits build task.
But the difficulty is to create a "good" ticket. If I do it right now,
"I followed https://wiki.qt.io/Building_Qt_5_from_Git and i cannot
build Qt-5.6 for x86_32 on a "common" Linux distro (x86_32/64)"
Your first few will probably be "you did something wrong", so post here so we
can help you properly set up. You may be missing tools and development
packages. Once we find an actual issue, someone will ask you to report (or
just fix it).
Post by Christian Gagneraud
Post by Thiago Macieira
Post by Christian Gagneraud
Claiming that nobody needs Linux-x86_32 nowadays is plainly wrong.
Agreed. There are people who need it. Very few, but they exist.
What do you base your "very few" on?
I would be interested to see the download stats of Qt-5.5 for Linux-32.
While I'd be interested too, you'll have to remember that's a 3 year old
release, with 3 more years of people switching to 64-bit. Anyway, I base my
answer on my listing from before, that ALL Linux-capable x86 CPUs sold in the
last 4 years are 64-bit capable. The ones that weren't, from 2012 (early
Atoms), are so slow and consume so much more power today that I don't expect
them to be used for most serious purposes, and definitely not for any new
project.

Those few that do still use it for any reason can build from source.
Post by Christian Gagneraud
Post by Thiago Macieira
Post by Christian Gagneraud
And dropping opensource/commercial Linux-x86_32 support just before Qt-5.6
(LTS) was not a user/client friendly move either.
Since it wasn't dropped, the point is moot.
Linux-Desktop-x86_32 was dropped with Qt-5.6. The last Qt version to
support it was Qt-5.5, and Qt-5.5 has now disappear from
http://download.qt.io/official_releases/qt/ ...
You're mistaking support for creating binaries.

We do support a lot more than we create binaries for. We have to balance the
interest in that download with the effort required to build, test and store
forever the binary. For Qt 5.6, we judged that the effort outweighed the
benefit of creating Linux 32-bit binaries.
Post by Christian Gagneraud
Or maybe we're not talking about the same thing. I'm not even sure
what the Qt Company means by "Supported until Mar. 16, 2019" on
http://doc.qt.io/qt-5.6/supported-platforms.html (that's Qt-5.6).
What I'm sure of, is that i cannot download Qt-5.6 binaries for
Linux-x86_32 (commercial or opensource).
That's Qt 5.6's support lifetime. It's a Long Term Support release, so we'll
keep adding patches and fixes to it until that date. That includes all
compilers and platforms that were supported at the time of the release,
however difficult it may get for us next year to build.
--
Thiago Macieira - thiago.macieira (AT) intel.com
Software Architect - Intel Open Source Technology Center
Christian Gagneraud
2018-01-06 11:21:35 UTC
Permalink
Post by Thiago Macieira
Post by Christian Gagneraud
I wish too, i could target Linux-x86_64, but i cannot. This codebase
currently builds for WINTEL32 and Linux/ARM32, it used to be built for
a Geode or VIA proc, some time ago, with Qt-4.x
The fact that you mention Geode and VIA means it's *old*.
Yes parts of the code base are verrrrrrrrrrrry old (VIA/Geode is just
ghost code), certainly older than Qt itself...

But that was not my point:
I don't have a HW problem, I have a SW problem. I cannot link against
Qt-x86_64 b/c i cannot build my codebase for x86_64.
I will run Qt/32bits on a 64 bits machine. This is my (sad) life, period.
Post by Thiago Macieira
Post by Christian Gagneraud
Post by Thiago Macieira
I've never had a problem, but I confess I don't try to build all of Qt. I
build all[*] of Qt with GCC and Clang on Linux, but that's 64-bit. The
32-bit build is only for qtbase, once every couple of months. For
example, I still need to do the benchmarking for the new qHash function
in 32-bit, which I find to be a poor use of my time so I haven't done
yet.
[*] not including qtwebengine. I've never built that.
You told me so a few month ago, and I switched to OpenSuse since then,
but i still had issues, and the only way to get around was to break
the host distro (force-install some dev packages, 'ln -sf' SO here and
there, ...)
Please share your script if you have some.
Regular configure -platform linux-g++-32 && make. There's nothing special.
<ironic>Well, thanks for the tip!</ironic>

The main issue is dependencies, the best document I found is an ICS blog post:
https://www.ics.com/blog/how-compile-qt-source-code-linux

But that covers only 32bits build on 32bits host or 64bits build on 64
bits host.

When I asked my question a few month ago, it was all about how to
install all the 32 bits (dev) packages on a 64 bits Linux machine
without having to resort to "dirty hacks", and so far i've been
unlucky, and nobody was able to give me any hints (not blaming anyone
here)

So may I rephrase my question?
Do you have the magic list for apt/zypper that would allow to build
Qt-5.6/32bits (or Qt-5.9) on a 64bits Linux machine?
I don't care about Redhat vs Suse vs Debian vs ... I just need to
generate a 32 bits archive of Qt that can be used on a 64 bits Linux
machine.
Post by Thiago Macieira
Post by Christian Gagneraud
Or maybe we're not talking about the same thing. I'm not even sure
what the Qt Company means by "Supported until Mar. 16, 2019" on
http://doc.qt.io/qt-5.6/supported-platforms.html (that's Qt-5.6).
What I'm sure of, is that i cannot download Qt-5.6 binaries for
Linux-x86_32 (commercial or opensource).
That's Qt 5.6's support lifetime. It's a Long Term Support release, so we'll
keep adding patches and fixes to it until that date. That includes all
compilers and platforms that were supported at the time of the release,
however difficult it may get for us next year to build.
Just a wee reminder that "support" doesn't mean "full support".
Remember how we ended up on the gcc (or binutils?) bug board because
the QThread test suite was failing?

For me, it's quite simple:
No (opensource/commercial) Qt CI = No (opensource/commercial) Qt
binaries = No (opensource/commercial) support.

If you don't build and test on a regular basis, it can break at any
moment without anyone noticing (and it did happened at least once)

Chris

PS: In case you think I'm ranting for free here, i would like to say
(again) that I think Qt is a great piece of (opensource/commercial)
SW, and big thumb up to anyone behind this, The Qt Project, The Qt
Company, Intel, ICS, KDAB, KDE, ... and everyone else, individual or
corporate.
Thiago Macieira
2018-01-06 14:27:31 UTC
Permalink
Post by Christian Gagneraud
Post by Thiago Macieira
Regular configure -platform linux-g++-32 && make. There's nothing special.
<ironic>Well, thanks for the tip!</ironic>
To be clear, this is my config.opt (newlines replaced by spaces). I have other
options, but nothing special:

-opensource -confirm-license -developer-build -system-libjpeg -system-libpng
-system-sqlite -reduce-relocations -xcb -pch -dbus-runtime -qtlibinfix .32
-nomake tests -nomake examples -platform linux-g++-32-optimised
-qtnamespace QtI386 -release

As you can see, this is also my namespace-testing build. As for linux-g++-32-
optimised, it's basically adding -march=native -mno-rdrnd to QMAKE_CFLAGS.
Post by Christian Gagneraud
The main issue is dependencies, the best document I found is an ICS blog
post: https://www.ics.com/blog/how-compile-qt-source-code-linux
But that covers only 32bits build on 32bits host or 64bits build on 64
bits host.
$ rpm -qa --qf "%{NAME}\\n" *-devel-32bit
libstdc++-devel-32bit
libICE-devel-32bit
libxkbcommon-devel-32bit
libjpeg62-devel-32bit
xcb-util-wm-devel-32bit
libX11-devel-32bit
libSM-devel-32bit
libXext-devel-32bit
libxcb-devel-32bit
libpng16-devel-32bit
xcb-util-image-devel-32bit
dbus-1-devel-32bit
glibc-devel-32bit
xcb-util-keysyms-devel-32bit
libXi-devel-32bit
Post by Christian Gagneraud
When I asked my question a few month ago, it was all about how to
install all the 32 bits (dev) packages on a 64 bits Linux machine
without having to resort to "dirty hacks", and so far i've been
unlucky, and nobody was able to give me any hints (not blaming anyone
here)
So may I rephrase my question?
Do you have the magic list for apt/zypper that would allow to build
Qt-5.6/32bits (or Qt-5.9) on a 64bits Linux machine?
Try installing my listing above. It should be a good start.

It's probably not complete: you may need some more 32-bit tools that aren't
*-devel-32bit and you need some 64-bit tools too.
Post by Christian Gagneraud
Post by Thiago Macieira
Post by Christian Gagneraud
Or maybe we're not talking about the same thing. I'm not even sure
what the Qt Company means by "Supported until Mar. 16, 2019" on
http://doc.qt.io/qt-5.6/supported-platforms.html (that's Qt-5.6).
What I'm sure of, is that i cannot download Qt-5.6 binaries for
Linux-x86_32 (commercial or opensource).
That's Qt 5.6's support lifetime. It's a Long Term Support release, so
we'll keep adding patches and fixes to it until that date. That includes
all compilers and platforms that were supported at the time of the
release, however difficult it may get for us next year to build.
Just a wee reminder that "support" doesn't mean "full support".
Remember how we ended up on the gcc (or binutils?) bug board because
the QThread test suite was failing?
Right, there are levels. There are platform combinations that are tested by
the main CI; there are others that are tested only by the qt5.git CI. All of
those are confirmed to be compiling and working at any release. Then there are
those we are pretty confident on, but don't always check.

Here's the link for the last qt5 5.9 integration:
https://testresults.qt.io/coin/integration/qt/qt5/tasks/1515209498

As you can see, there are a couple of 32-bit builds:
* Android 32-bit x86
* Integrity 32-bit ARM
* Linux 32-bit ARM
* QNX 32-bit ARM and x86
* Windows 32-bit x86 (MinGW and MSVC)

So even though a 32-bit x86 build for regular Linux is missing, we should be
pretty confident it works. It would only be failing if we had some x86-
specific Linux-specific (non-Android) code and I don't think we do.

We have x86-specific code, but it's cross-OS and/or 64-bit capable too: the
only thing I can think of that comes closest is the early CPUID detection,
since all 64-bit CPUs have CPUID and the assembly is compiler dependent, but
even then it's code we don't need to modify and it does get compiled on for
both Android and MinGW.
Post by Christian Gagneraud
No (opensource/commercial) Qt CI = No (opensource/commercial) Qt
binaries = No (opensource/commercial) support.
No CI, see above.
No binaries, build from sources.
No support, sorry, I can't comment.
Post by Christian Gagneraud
If you don't build and test on a regular basis, it can break at any
moment without anyone noticing (and it did happened at least once)
You're right, but given all the other permutations, we're very likely covered
at a good 99% certainty.
Post by Christian Gagneraud
PS: In case you think I'm ranting for free here, i would like to say
(again) that I think Qt is a great piece of (opensource/commercial)
SW, and big thumb up to anyone behind this, The Qt Project, The Qt
Company, Intel, ICS, KDAB, KDE, ... and everyone else, individual or
corporate.
We're having a constructive conversation, don't worry.
--
Thiago Macieira - thiago.macieira (AT) intel.com
Software Architect - Intel Open Source Technology Center
Christian Gagneraud
2018-01-07 00:15:50 UTC
Permalink
Hi Thiago,

Thanks for the details, i'll switch to qt-interest. I've made progress
but still have a weird package conflict for QtWebEngine.

Chris
Post by Thiago Macieira
Post by Christian Gagneraud
Post by Thiago Macieira
Regular configure -platform linux-g++-32 && make. There's nothing special.
<ironic>Well, thanks for the tip!</ironic>
To be clear, this is my config.opt (newlines replaced by spaces). I have other
-opensource -confirm-license -developer-build -system-libjpeg -system-libpng
-system-sqlite -reduce-relocations -xcb -pch -dbus-runtime -qtlibinfix .32
-nomake tests -nomake examples -platform linux-g++-32-optimised
-qtnamespace QtI386 -release
As you can see, this is also my namespace-testing build. As for linux-g++-32-
optimised, it's basically adding -march=native -mno-rdrnd to QMAKE_CFLAGS.
Post by Christian Gagneraud
The main issue is dependencies, the best document I found is an ICS blog
post: https://www.ics.com/blog/how-compile-qt-source-code-linux
But that covers only 32bits build on 32bits host or 64bits build on 64
bits host.
$ rpm -qa --qf "%{NAME}\\n" *-devel-32bit
libstdc++-devel-32bit
libICE-devel-32bit
libxkbcommon-devel-32bit
libjpeg62-devel-32bit
xcb-util-wm-devel-32bit
libX11-devel-32bit
libSM-devel-32bit
libXext-devel-32bit
libxcb-devel-32bit
libpng16-devel-32bit
xcb-util-image-devel-32bit
dbus-1-devel-32bit
glibc-devel-32bit
xcb-util-keysyms-devel-32bit
libXi-devel-32bit
Post by Christian Gagneraud
When I asked my question a few month ago, it was all about how to
install all the 32 bits (dev) packages on a 64 bits Linux machine
without having to resort to "dirty hacks", and so far i've been
unlucky, and nobody was able to give me any hints (not blaming anyone
here)
So may I rephrase my question?
Do you have the magic list for apt/zypper that would allow to build
Qt-5.6/32bits (or Qt-5.9) on a 64bits Linux machine?
Try installing my listing above. It should be a good start.
It's probably not complete: you may need some more 32-bit tools that aren't
*-devel-32bit and you need some 64-bit tools too.
Post by Christian Gagneraud
Post by Thiago Macieira
Post by Christian Gagneraud
Or maybe we're not talking about the same thing. I'm not even sure
what the Qt Company means by "Supported until Mar. 16, 2019" on
http://doc.qt.io/qt-5.6/supported-platforms.html (that's Qt-5.6).
What I'm sure of, is that i cannot download Qt-5.6 binaries for
Linux-x86_32 (commercial or opensource).
That's Qt 5.6's support lifetime. It's a Long Term Support release, so
we'll keep adding patches and fixes to it until that date. That includes
all compilers and platforms that were supported at the time of the
release, however difficult it may get for us next year to build.
Just a wee reminder that "support" doesn't mean "full support".
Remember how we ended up on the gcc (or binutils?) bug board because
the QThread test suite was failing?
Right, there are levels. There are platform combinations that are tested by
the main CI; there are others that are tested only by the qt5.git CI. All of
those are confirmed to be compiling and working at any release. Then there are
those we are pretty confident on, but don't always check.
https://testresults.qt.io/coin/integration/qt/qt5/tasks/1515209498
* Android 32-bit x86
* Integrity 32-bit ARM
* Linux 32-bit ARM
* QNX 32-bit ARM and x86
* Windows 32-bit x86 (MinGW and MSVC)
So even though a 32-bit x86 build for regular Linux is missing, we should be
pretty confident it works. It would only be failing if we had some x86-
specific Linux-specific (non-Android) code and I don't think we do.
We have x86-specific code, but it's cross-OS and/or 64-bit capable too: the
only thing I can think of that comes closest is the early CPUID detection,
since all 64-bit CPUs have CPUID and the assembly is compiler dependent, but
even then it's code we don't need to modify and it does get compiled on for
both Android and MinGW.
Post by Christian Gagneraud
No (opensource/commercial) Qt CI = No (opensource/commercial) Qt
binaries = No (opensource/commercial) support.
No CI, see above.
No binaries, build from sources.
No support, sorry, I can't comment.
Post by Christian Gagneraud
If you don't build and test on a regular basis, it can break at any
moment without anyone noticing (and it did happened at least once)
You're right, but given all the other permutations, we're very likely covered
at a good 99% certainty.
Post by Christian Gagneraud
PS: In case you think I'm ranting for free here, i would like to say
(again) that I think Qt is a great piece of (opensource/commercial)
SW, and big thumb up to anyone behind this, The Qt Project, The Qt
Company, Intel, ICS, KDAB, KDE, ... and everyone else, individual or
corporate.
We're having a constructive conversation, don't worry.
--
Thiago Macieira - thiago.macieira (AT) intel.com
Software Architect - Intel Open Source Technology Center
_______________________________________________
Development mailing list
http://lists.qt-project.org/mailman/listinfo/development
Lars Knoll
2018-01-08 08:21:00 UTC
Permalink
Post by Thiago Macieira
Post by Christian Gagneraud
No (opensource/commercial) Qt CI = No (opensource/commercial) Qt
binaries = No (opensource/commercial) support.
No CI, see above.
No binaries, build from sources.
No support, sorry, I can't comment.
Just a quick comment from TQtC’s perspective on this: We do commercially support more platforms than we create binaries for. Linux/32bit is certainly one of those.

But as Thiago pointed out, those platforms are not always tested quite as well (unfortunately we can’t possibly test all combinations of OS/CPU architecture/distribution in our CI).

Cheers,
Lars
Post by Thiago Macieira
Post by Christian Gagneraud
If you don't build and test on a regular basis, it can break at any
moment without anyone noticing (and it did happened at least once)
You're right, but given all the other permutations, we're very likely covered
at a good 99% certainty.
Post by Christian Gagneraud
PS: In case you think I'm ranting for free here, i would like to say
(again) that I think Qt is a great piece of (opensource/commercial)
SW, and big thumb up to anyone behind this, The Qt Project, The Qt
Company, Intel, ICS, KDAB, KDE, ... and everyone else, individual or
corporate.
We're having a constructive conversation, don't worry.
--
Thiago Macieira - thiago.macieira (AT) intel.com
Software Architect - Intel Open Source Technology Center
_______________________________________________
Development mailing list
http://lists.qt-project.org/mailman/listinfo/development
Toan Pham
2018-01-11 17:49:31 UTC
Permalink
Thiago,

I managed to get the build completed by performing these steps:

1. Followed your advise on enabling sse2 because it is a
hard-requirement.
2. Patched libvpx heavily to disable avx+avx2/sse3+ (see attached patch)
3. Patched libyuv (see attached patch)
4. Patched qwebengine/src/core/Makefile.gn_run to launch ninja in single
thread - otherwise build w/ terminate by Out-Of-Memory manager.
5. Used 32bit native linker even though you recommended a 64bit linker.

Step# 2 and 3 were needed because the compiler I was using was optimized
for pentium4, it wouldn't be able to compile/link-in SIMD instructions
beyond SSE2.


After all that hard work, minimal webengine browser (located at
qtwebengine/examples/webengine/minimal) did not show anything when I
launched it (see attached screenshot). I also launched the same browser
which worked fine under lxc-ubuntu16.04-32bit; but did not show anything
within the chroot environment of the pentium4 build. OnPageLoad event of
qtwebengine showed that webpage loaded successfully; so it made me to
believe that this is an issue with qwebenginewidget. FYI, within the same
build environment, I was able to run QtWebKit from Qt-5.x a few months
back. Please help if you know what possibly happened to qwebengineview not
rendering anything on the view.


Thank you,

TP
Post by Thiago Macieira
Post by Christian Gagneraud
No (opensource/commercial) Qt CI = No (opensource/commercial) Qt
binaries = No (opensource/commercial) support.
No CI, see above.
No binaries, build from sources.
No support, sorry, I can't comment.
Just a quick comment from TQtC’s perspective on this: We do commercially
support more platforms than we create binaries for. Linux/32bit is
certainly one of those.
But as Thiago pointed out, those platforms are not always tested quite as
well (unfortunately we can’t possibly test all combinations of OS/CPU
architecture/distribution in our CI).
Cheers,
Lars
Post by Thiago Macieira
Post by Christian Gagneraud
If you don't build and test on a regular basis, it can break at any
moment without anyone noticing (and it did happened at least once)
You're right, but given all the other permutations, we're very likely
covered
Post by Thiago Macieira
at a good 99% certainty.
Post by Christian Gagneraud
PS: In case you think I'm ranting for free here, i would like to say
(again) that I think Qt is a great piece of (opensource/commercial)
SW, and big thumb up to anyone behind this, The Qt Project, The Qt
Company, Intel, ICS, KDAB, KDE, ... and everyone else, individual or
corporate.
We're having a constructive conversation, don't worry.
--
Thiago Macieira - thiago.macieira (AT) intel.com
Software Architect - Intel Open Source Technology Center
_______________________________________________
Development mailing list
http://lists.qt-project.org/mailman/listinfo/development
_______________________________________________
Development mailing list
http://lists.qt-project.org/mailman/listinfo/development
Toan Pham
2018-01-12 14:54:53 UTC
Permalink
I am suspecting that the reason why qtwebengineview did not render because
it could not establish IPC connection to qtwebengineprocess. As seen in
the error below, qtwebengineview aborted when it received unexpected number
of bytes from the IPC initialization call (recvmsg): "unexpected number of
handles". The second error is related to QT not able to allocate more
memory: "FATAL:memory.cc(22)] Out of memory. size=262144". The system had
more than 1.8G of RAM, so I do not see how it is possible.
Post by Toan Pham
[13118:13122:0112/095238.425618:ERROR:broker_posix.cc(46)] Received
unexpected number of handles

My assumption here is that qt could not establish IPC connection with
webengineprocess!
[13118:13122:0112/095238.425832:WARNING:client_shared_bitmap_manager.cc(98)]
Browser failed to allocate shared memory
Post by Toan Pham
[13118:13122:0112/095238.425986:FATAL:memory.cc(22)] Out of memory.
size=262144
Post by Toan Pham
#0 0x0000412c4f36 <unknown>
#1 0x0000412c4c5d <unknown>
#2 0x0000412d6c4d <unknown>
Obviously, bitmap manager could not allocate memory. The question is why?
system had pretty of RAM.
Post by Toan Pham
Thiago,
1. Followed your advise on enabling sse2 because it is a
hard-requirement.
2. Patched libvpx heavily to disable avx+avx2/sse3+ (see attached patch)
3. Patched libyuv (see attached patch)
4. Patched qwebengine/src/core/Makefile.gn_run to launch ninja in
single thread - otherwise build w/ terminate by Out-Of-Memory manager.
5. Used 32bit native linker even though you recommended a 64bit linker.
Step# 2 and 3 were needed because the compiler I was using was optimized
for pentium4, it wouldn't be able to compile/link-in SIMD instructions
beyond SSE2.
After all that hard work, minimal webengine browser (located at
qtwebengine/examples/webengine/minimal) did not show anything when I
launched it (see attached screenshot). I also launched the same browser
which worked fine under lxc-ubuntu16.04-32bit; but did not show anything
within the chroot environment of the pentium4 build. OnPageLoad event of
qtwebengine showed that webpage loaded successfully; so it made me to
believe that this is an issue with qwebenginewidget. FYI, within the same
build environment, I was able to run QtWebKit from Qt-5.x a few months
back. Please help if you know what possibly happened to qwebengineview not
rendering anything on the view.
Thank you,
TP
Post by Thiago Macieira
Post by Christian Gagneraud
No (opensource/commercial) Qt CI = No (opensource/commercial) Qt
binaries = No (opensource/commercial) support.
No CI, see above.
No binaries, build from sources.
No support, sorry, I can't comment.
Just a quick comment from TQtC’s perspective on this: We do commercially
support more platforms than we create binaries for. Linux/32bit is
certainly one of those.
But as Thiago pointed out, those platforms are not always tested quite as
well (unfortunately we can’t possibly test all combinations of OS/CPU
architecture/distribution in our CI).
Cheers,
Lars
Post by Thiago Macieira
Post by Christian Gagneraud
If you don't build and test on a regular basis, it can break at any
moment without anyone noticing (and it did happened at least once)
You're right, but given all the other permutations, we're very likely
covered
Post by Thiago Macieira
at a good 99% certainty.
Post by Christian Gagneraud
PS: In case you think I'm ranting for free here, i would like to say
(again) that I think Qt is a great piece of (opensource/commercial)
SW, and big thumb up to anyone behind this, The Qt Project, The Qt
Company, Intel, ICS, KDAB, KDE, ... and everyone else, individual or
corporate.
We're having a constructive conversation, don't worry.
--
Thiago Macieira - thiago.macieira (AT) intel.com
Software Architect - Intel Open Source Technology Center
_______________________________________________
Development mailing list
http://lists.qt-project.org/mailman/listinfo/development
_______________________________________________
Development mailing list
http://lists.qt-project.org/mailman/listinfo/development
Toan Pham
2018-01-15 23:01:45 UTC
Permalink
Hi all,

I found out what the problem was, as to why qtwebnegineview did not show up
on my embedded target (x86 pentium4). The problem was that on my embedded
target, I wrote my own version of udev, which did not account for folder
creation of /dev/shm when that event came in over netlink-bus. By creating
that folder manually (mkdir -p /dev/shm) first, then launch the browser,
everything begin to work as expected. So this was just a bug on my udev
process. Cheers!
Post by Toan Pham
I am suspecting that the reason why qtwebengineview did not render because
it could not establish IPC connection to qtwebengineprocess. As seen in
the error below, qtwebengineview aborted when it received unexpected number
of bytes from the IPC initialization call (recvmsg): "unexpected number of
handles". The second error is related to QT not able to allocate more
memory: "FATAL:memory.cc(22)] Out of memory. size=262144". The system had
more than 1.8G of RAM, so I do not see how it is possible.
Post by Toan Pham
[13118:13122:0112/095238.425618:ERROR:broker_posix.cc(46)] Received
unexpected number of handles
My assumption here is that qt could not establish IPC connection with
webengineprocess!
Post by Toan Pham
[13118:13122:0112/095238.425832:WARNING:client_shared_bitmap_manager.cc(98)]
Browser failed to allocate shared memory
Post by Toan Pham
[13118:13122:0112/095238.425986:FATAL:memory.cc(22)] Out of memory.
size=262144
Post by Toan Pham
#0 0x0000412c4f36 <unknown>
#1 0x0000412c4c5d <unknown>
#2 0x0000412d6c4d <unknown>
Obviously, bitmap manager could not allocate memory. The question is
why? system had pretty of RAM.
Post by Toan Pham
Thiago,
1. Followed your advise on enabling sse2 because it is a
hard-requirement.
2. Patched libvpx heavily to disable avx+avx2/sse3+ (see attached patch)
3. Patched libyuv (see attached patch)
4. Patched qwebengine/src/core/Makefile.gn_run to launch ninja in
single thread - otherwise build w/ terminate by Out-Of-Memory manager.
5. Used 32bit native linker even though you recommended a 64bit linker.
Step# 2 and 3 were needed because the compiler I was using was optimized
for pentium4, it wouldn't be able to compile/link-in SIMD instructions
beyond SSE2.
After all that hard work, minimal webengine browser (located at
qtwebengine/examples/webengine/minimal) did not show anything when I
launched it (see attached screenshot). I also launched the same browser
which worked fine under lxc-ubuntu16.04-32bit; but did not show anything
within the chroot environment of the pentium4 build. OnPageLoad event of
qtwebengine showed that webpage loaded successfully; so it made me to
believe that this is an issue with qwebenginewidget. FYI, within the same
build environment, I was able to run QtWebKit from Qt-5.x a few months
back. Please help if you know what possibly happened to qwebengineview not
rendering anything on the view.
Thank you,
TP
Post by Thiago Macieira
Post by Christian Gagneraud
No (opensource/commercial) Qt CI = No (opensource/commercial) Qt
binaries = No (opensource/commercial) support.
No CI, see above.
No binaries, build from sources.
No support, sorry, I can't comment.
Just a quick comment from TQtC’s perspective on this: We do commercially
support more platforms than we create binaries for. Linux/32bit is
certainly one of those.
But as Thiago pointed out, those platforms are not always tested quite
as well (unfortunately we can’t possibly test all combinations of OS/CPU
architecture/distribution in our CI).
Cheers,
Lars
Post by Thiago Macieira
Post by Christian Gagneraud
If you don't build and test on a regular basis, it can break at any
moment without anyone noticing (and it did happened at least once)
You're right, but given all the other permutations, we're very likely
covered
Post by Thiago Macieira
at a good 99% certainty.
Post by Christian Gagneraud
PS: In case you think I'm ranting for free here, i would like to say
(again) that I think Qt is a great piece of (opensource/commercial)
SW, and big thumb up to anyone behind this, The Qt Project, The Qt
Company, Intel, ICS, KDAB, KDE, ... and everyone else, individual or
corporate.
We're having a constructive conversation, don't worry.
--
Thiago Macieira - thiago.macieira (AT) intel.com
Software Architect - Intel Open Source Technology Center
_______________________________________________
Development mailing list
http://lists.qt-project.org/mailman/listinfo/development
_______________________________________________
Development mailing list
http://lists.qt-project.org/mailman/listinfo/development
Kevin Kofler
2018-01-07 03:43:00 UTC
Permalink
Post by Christian Gagneraud
When I asked my question a few month ago, it was all about how to
install all the 32 bits (dev) packages on a 64 bits Linux machine
without having to resort to "dirty hacks", and so far i've been
unlucky, and nobody was able to give me any hints (not blaming anyone
here)
So may I rephrase my question?
Do you have the magic list for apt/zypper that would allow to build
Qt-5.6/32bits (or Qt-5.9) on a 64bits Linux machine?
I don't care about Redhat vs Suse vs Debian vs ... I just need to
generate a 32 bits archive of Qt that can be used on a 64 bits Linux
machine.
One possibility that always works is to just set up a 32-bit chroot on your
64-bit system, where everything is 32-bit: libraries, compiler, etc. On
Fedora, the "mock" tool can produce such a chroot, other distros have other
comparable tools.

Otherwise, how to install 32-bit libraries on a 64-bit distribution depends
on the distribution:
* in multilib distributions such as Fedora, you install the 32-bit -devel
package that is copied by the distribution from the 32-bit distribution
into the 64-bit repositories. In Fedora, this is done by specifying, e.g.,
"glibc-devel.i686" instead of just "glibc-devel" on the dnf command line.
* non-multilib distributions typically have special packages with names such
as glibc-devel-32bit.

In any case, the exact naming is distro-dependent.

Kevin Kofler
Thiago Macieira
2018-01-07 12:47:27 UTC
Permalink
Post by Kevin Kofler
One possibility that always works is to just set up a 32-bit chroot on your
64-bit system, where everything is 32-bit: libraries, compiler, etc. On
Fedora, the "mock" tool can produce such a chroot, other distros have other
comparable tools.
You can find instructions for several distros in the systemd-nspawn man page.
You don't need to use it for starting your chroot, but you can too.
--
Thiago Macieira - thiago.macieira (AT) intel.com
Software Architect - Intel Open Source Technology Center
Christian Gagneraud
2018-01-06 10:47:42 UTC
Permalink
Post by Thiago Macieira
Post by Christian Gagneraud
Neatpick: AVX itself doesn't require billions of transistors, the
first intel proc to require more than a billion transistor are 4 and 6
cores i7.
https://en.wikipedia.org/wiki/Transistor_count
Fair enough. The billions are usually due to expanded L3 caches, not the CPU
itself. I was exaggerating.
or L2, or L1... it all depends on size. Static RAM usually requires 4
transistors per bit, and dynamic RAM only one (on average)

1MB of cache => 4 * 1 * 8 * 1024 * 1024 = 33.5 millions transistors

The more cores on a die, the more L3 cache you need... And nowadays,
50MB of L3 is not that crazy...

This is certainly wrong (i'm not very aware of the latest
technologies), but it should be a "fair" guesstimate.
Post by Thiago Macieira
Still, AVX and AVX2 are considerable die size (don't know how much).
I've googled for half an hour to find this information and finally
gave up. Since you work for Intel, maybe you could ask one of your
colleague, that's an interesting bit of information.
Since SSE and AVX are just sub-components of a specialised ALU/FPU, I
wouldn't be surprised if they require less than a few thousand
transistors each (they "just" implement specialised operations), and
die size contribution is certainly less than 0.01 % (Wild guess
again).
Another noob question would be how much of them is actually hard-wired
operation vs instruction implemented via ROM microcode.

Chris
Loading...