Bug 1310753 - qt5-qtwebengine FTBFS on aarch64
qt5-qtwebengine FTBFS on aarch64
Status: CLOSED RAWHIDE
Product: Fedora
Classification: Fedora
Component: qt5-qtwebengine (Show other bugs)
24
Unspecified Unspecified
unspecified Severity unspecified
: ---
: ---
Assigned To: Kevin Kofler
Fedora Extras Quality Assurance
: Reopened
Depends On: 1311125
Blocks: ARM64/F-ExcludeArch-aarch64
  Show dependency treegraph
 
Reported: 2016-02-22 10:37 EST by Marcin Juszkiewicz
Modified: 2016-03-21 04:29 EDT (History)
4 users (show)

See Also:
Fixed In Version: qt5-qtwebengine-5.6.0-0.17.beta.fc24
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2016-03-21 04:29:28 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Marcin Juszkiewicz 2016-02-22 10:37:39 EST
Description of problem:

qt5-qtwebengine source is 0.2% of whole source. Rest is Chromium source code. 65.2% of which is set of 3rdparty code which involves:

- icu
- mesa
- skia
- ffmpeg (cleaned by qt5-qtwebengine maintainer)
- sqlite
- webrtc
- yasm

And many other software directories which are (or can) be part of Fedora as separate packages.

The problem is that those bundled components are often old and do not contain changes needed for qt5-qtwebengine to build on secondary architectures.

Version-Release number of selected component (if applicable):

5.6.0-0.16.beta

How reproducible:

always

Steps to Reproduce:
1. run on aarch64 (arm-koji scratch is enough)

Actual results:

In file included from /builddir/build/BUILD/qtwebengine-opensource-src-5.6.0-beta/src/3rdparty/chromium/third_party/ffmpeg/libavutil/intreadwrite.h:25:0,
                 from /builddir/build/BUILD/qtwebengine-opensource-src-5.6.0-beta/src/3rdparty/chromium/third_party/ffmpeg/libavcodec/get_bits.h:32,
                 from /builddir/build/BUILD/qtwebengine-opensource-src-5.6.0-beta/src/3rdparty/chromium/third_party/ffmpeg/libavcodec/vp3.c:39:
/builddir/build/BUILD/qtwebengine-opensource-src-5.6.0-beta/src/3rdparty/chromium/third_party/ffmpeg/libavutil/bswap.h:38:30: fatal error: aarch64/bswap.h: No such file or directory
 #   include "aarch64/bswap.h"
                              ^
compilation terminated.


Expected results:

package builds

Additional info:

IMHO missing components (like ffmpeg) should be packaged for Fedora and used as build dependencies.
Comment 1 Kevin Kofler 2016-02-22 18:51:02 EST
"Package is 99.8% bundled Chromium code which contains another set of 3rd party code" is not a bug according to the current packaging guidelines. And I tried hard to unbundle things. Various components cannot be unbundled for various reasons. The main reason FFmpeg cannot be unbundled is that a fully featured FFmpeg cannot be provided in Fedora. The bundled version is cleaned by a script to only contain known unencumbered parts, which is also where the build failure is coming from. (We would have the same build failure if it were packaged standalone.)
Comment 2 Kevin Kofler 2016-02-22 19:49:21 EST
Should be fixed in Rawhide (fixed package now building on the primary architectures, but there will be no difference on those), thanks for the 2-line patch to clean_ffmpeg.sh you linked to on IRC.
Comment 3 Marcin Juszkiewicz 2016-02-23 01:31:50 EST
"should be" is wish thinking. I am in a middle of getting it into buildable state.

Adding those two files to ffmpeg was beginning.

/builddir/build/BUILD/qtwebengine-opensource-src-5.6.0-beta/aarch64-redhat-linux-gnu/src/core/Release/obj/src/3rdparty/chromium/third_party/webrtc/modules/video_coding/codecs/vp8/libwebrtc_vp8.a(/builddir/build/BUILD/qtwebengine-opensource-src-5.6.0-beta/aarch64-redhat-linux-gnu/src/core/Release/obj/src/3rdparty/chromium/third_party/webrtc/modules/video_coding/codecs/vp8/webrtc_vp8.vp8_impl.o):vp8_impl.cc:function webrtc::VP8EncoderImpl::InitAndSetControlSettings(): error: undefined reference to 'vpx_codec_enc_init_multi_ver'
Comment 4 Kevin Kofler 2016-02-23 08:48:46 EST
OK. I hope at least the tarball is good now.
Comment 5 Jan Kurik 2016-02-24 10:28:43 EST
This bug appears to have been reported against 'rawhide' during the Fedora 24 development cycle.
Changing version to '24'.

More information and reason for this action is here:
https://fedoraproject.org/wiki/Fedora_Program_Management/HouseKeeping/Fedora24#Rawhide_Rebase
Comment 6 Peter Robinson 2016-03-16 10:10:31 EDT
So still seeing some issues here on both aarch64 and ppc

PPC: http://ppc.koji.fedoraproject.org/koji/taskinfo?taskID=3220219

gyp: Undefined variable platform_heap_asm_files in /builddir/build/BUILD/qtwebengine-opensource-src-5.6.0-rc/src/3rdparty/chromium/third_party/WebKit/Source/platform/blink_platform.gyp
Project ERROR: -- running gyp_qtwebengine failed --
Makefile:116: recipe for target 'sub-gyp_run-pro-make_first' failed

aarch64: http://arm.koji.fedoraproject.org/koji/taskinfo?taskID=3457421

/third_party/libjingle/libjingle_p2p_constants.a /builddir/build/BUILD/qtwebengine-opensource-src-5.6.0-rc/aarch64-redhat-linux-gnu/src/core/Release/obj/src/3rdparty/chromium/third_party/webrtc/modules/libvideo_render.a -Wl,--end-group -lrt -ldl -lgmodule-2.0 -lgobject-2.0 -lgthread-2.0 -lglib-2.0 -levent -lsmime3 -lnss3 -lnssutil3 -lplds4 -lplc4 -lnspr4 -lpthread -licui18n -licuuc -licudata -lprotobuf -lz -lresolv -lfontconfig -lfreetype -lharfbuzz-icu -lharfbuzz -lpng16 -ljpeg -lX11 -lXi -lXcursor -lXext -lXfixes -lXrender -lXss -lpci -lre2 -lXcomposite -lasound -lopus -lm -lvpx -lXdamage -lXtst -lXrandr -lwebp -lwebpdemux -lxml2 -lxslt -lsnappy -lexpat -ldbus-1 -lminizip -lsrtp -L/builddir/build/BUILD/qtwebengine-opensource-src-5.6.0-rc/aarch64-redhat-linux-gnu/src/core/api/Release -Wl,-whole-archive -lqtwebenginecoreapi -Wl,-no-whole-archive -lEGL -lQt5Quick -lQt5Gui -lQt5Qml -lQt5Network -lQt5Core -lGL 
/builddir/build/BUILD/qtwebengine-opensource-src-5.6.0-rc/aarch64-redhat-linux-gnu/src/core/Release/obj/src/3rdparty/chromium/third_party/webrtc/modules/video_coding/codecs/vp8/libwebrtc_vp8.a(/builddir/build/BUILD/qtwebengine-opensource-src-5.6.0-rc/aarch64-redhat-linux-gnu/src/core/Release/obj/src/3rdparty/chromium/third_party/webrtc/modules/video_coding/codecs/vp8/webrtc_vp8.vp8_impl.o):vp8_impl.cc:function webrtc::VP8EncoderImpl::InitAndSetControlSettings(): error: undefined reference to 'vpx_codec_enc_init_multi_ver'
Makefile.core_module:154: recipe for target '../../lib/libQt5WebEngineCore.so.5.6.0' failed
collect2: error: ld returned 1 exit status
Comment 7 Marcin Juszkiewicz 2016-03-16 10:16:03 EDT
bug 1311125 is change to libvpx package which is needed to fix this package
Comment 8 Marcin Juszkiewicz 2016-03-21 04:29:28 EDT
http://arm.koji.fedoraproject.org/koji/buildinfo?buildID=362634 got built

Note You need to log in before you can comment on or make changes to this bug.