[Development] 32bit linux build of qt5.10.0 w/ webengine

Toan Pham tpham3783 at gmail.com
Thu Dec 21 21:57:15 CET 2017


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


On Thu, Dec 21, 2017 at 3:30 PM, Toan Pham <tpham3783 at gmail.com> wrote:

>
> 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'
>
>
> On Tue, Dec 19, 2017 at 4:15 PM, Toan Pham <tpham3783 at gmail.com> wrote:
>
>> 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
>>
>>
>> On Tue, Dec 19, 2017 at 12:16 PM, Toan Pham <tpham3783 at gmail.com> wrote:
>>
>>>
>>>
>>> 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.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
>>> /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-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'
>>>
>>>
>>>
>>>
>>>
>>> On Mon, Dec 18, 2017 at 2:14 PM, Allan Sandfeld Jensen <kde at carewolf.com
>>> > wrote:
>>>
>>>> On Montag, 18. Dezember 2017 18:53:55 CET Toan Pham wrote:
>>>> > "/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
>>>>
>>>
>>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/development/attachments/20171221/d0e2df23/attachment.html>


More information about the Development mailing list