Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.

Bug 1310753

Summary: qt5-qtwebengine FTBFS on aarch64
Product: [Fedora] Fedora Reporter: Marcin Juszkiewicz <mjuszkie>
Component: qt5-qtwebengineAssignee: Kevin Kofler <kevin>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 24CC: kde-sig, kevin, pbrobinson, rdieter
Target Milestone: ---Keywords: Reopened
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
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 08:29:28 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1311125    
Bug Blocks: 922257    

Description Marcin Juszkiewicz 2016-02-22 15:37:39 UTC
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 23:51:02 UTC
"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-23 00:49:21 UTC
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 06:31:50 UTC
"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 13:48:46 UTC
OK. I hope at least the tarball is good now.

Comment 5 Jan Kurik 2016-02-24 15:28:43 UTC
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 14:10:31 UTC
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 14:16:03 UTC
bug 1311125 is change to libvpx package which is needed to fix this package

Comment 8 Marcin Juszkiewicz 2016-03-21 08:29:28 UTC
http://arm.koji.fedoraproject.org/koji/buildinfo?buildID=362634 got built