LINUX.ORG.RU

А как скомпилировать QtWebEngine?

 


0

1

Ubuntu 16.04 32-bit, ядро 64-bit, 12 GB памяти, QtWebEngine из дистрибутива Qt 5.8.0. Компиляция:

# qmake WEBENGINE_CONFIG+=use_proprietary_codecs
# make -j4
...
linking libQt5WebEngineCore.so.5.8.0
/usr/bin/ld.gold: fatal error: mmap: failed to allocate 299548044 bytes for output file: Cannot allocate memory
... failed
Error 2

Ubuntu 16.04 32-bit, ядро 64-bit

Что ты там делаешь?

UVV ★★★★★
()
Ответ на: комментарий от RazrFalcon

-j4 написал на автомате, но это вообще не играет роли, т.к. 1) внутри qtwebengine используется ninja, который и так использует все ядра 2) речь идёт о линковке финальной библиотеки, -j1 тут не поможет

former_anonymous ★★★
() автор топика
Ответ на: комментарий от anonymous

пробовал менять опции ld.gold связанные с памятью, ничего не помогло. С помощью CONFIG-=use_gold_linker вернулся на ld.bfd, добавил ему опций --no-keep-memory и --reduce-memory-overheads (пишу по памяти) - результат отрицательный.

former_anonymous ★★★
() автор топика
Последнее исправление: former_anonymous (всего исправлений: 1)
Ответ на: комментарий от former_anonymous

Значит не там менял. Значит «make -j1» проигнорировал.

Потому как и на 3G RAM на CentOS 6 собирается.

Ровняй руки. Или позови взрослых.

anonymous
()
Ответ на: комментарий от former_anonymous

--no-keep-memory и у gold есть. Ещё добавь --no-map-whole-files ему.

Проследи, чтобы и правда добавилось во флаги.

a1batross ★★★★★
()

есть баг, что если есть какая-то предыдущая версия, то QtWebEngine-5.8 не собирается

Deleted
()
Ответ на: комментарий от anonymous

Значит не там менял

его нельзя поменять не там, флаги передаются в командной строке через QMAKE_* переменные. В аргументах ld присутсствуют, проверял в процессах.

Значит «make -j1» проигнорировал.

Причём тут -j к линковке?

Потому как и на 3G RAM на CentOS 6 собирается.

какая версия? У меня 5.8.0, не собирается нигде на 32 бит.

former_anonymous ★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.