Bug 1449582 - FTBFS on big endian arches
Summary: FTBFS on big endian arches
Alias: None
Product: Fedora
Classification: Fedora
Component: qt5-qt3d
Version: rawhide
Hardware: Unspecified
OS: Unspecified
Target Milestone: ---
Assignee: Ngo Than
QA Contact: Fedora Extras Quality Assurance
Depends On:
Blocks: ZedoraTracker PPCTracker
TreeView+ depends on / blocked
Reported: 2017-05-10 10:07 UTC by Dan Horák
Modified: 2017-05-10 18:38 UTC (History)
3 users (show)

Clone Of:
Last Closed: 2017-05-10 18:38:08 UTC

Attachments (Terms of Use)

Description Dan Horák 2017-05-10 10:07:15 UTC
qt5-qt3d 5.9 fails to build on ppc64 and s390x in koji. First problem is that the bundled assimp is used for the build (visible in build.log), likely it misses fixes from our package. Second problem is why the system assimp can't be used, I did a local rebuild and found following in the cmake logs (qt3d-opensource-src-5.9.0-beta3/s390x-redhat-linux-gnu/config.log)

looking for library assimp
Trying source 0 (type pkgConfig) of library assimp ...
+ /usr/bin/pkg-config --exists --silence-errors assimp '>' 3.3.1
pkg-config did not find package.
  => source produced no result.
Trying source 1 (type inline) of library assimp ...
+ cd /home/sharkcz/qt5-qt3d/qt3d-opensource-src-5.9.0-beta3/s390x-redhat-linux-gnu/config.tests/assimp && /usr/lib64/qt5/bin/qmake "CONFIG -= qt debug_and_release app_bundle lib_bundle" "CON
> Info: creating stash file /home/sharkcz/qt5-qt3d/qt3d-opensource-src-5.9.0-beta3/s390x-redhat-linux-gnu/config.tests/.qmake.stash
+ cd /home/sharkcz/qt5-qt3d/qt3d-opensource-src-5.9.0-beta3/s390x-redhat-linux-gnu/config.tests/assimp && MAKEFLAGS= make
> g++ -c -pipe -O2 -Wall -W -fPIC  -I/home/sharkcz/qt5-qt3d/qt3d-opensource-src-5.9.0-beta3/config.tests/assimp -I. -I/usr/lib64/qt5/mkspecs/linux-g++ -o main.o /home/sharkcz/qt5-qt3d/qt3d-o
> g++ -Wl,-O1 -o assimp main.o   -lassimp
> /usr/lib/gcc/s390x-redhat-linux/7/../../../../lib64/libassimp.so: undefined reference to `p2t::CDT::~CDT()'
> /usr/lib/gcc/s390x-redhat-linux/7/../../../../lib64/libassimp.so: undefined reference to `p2t::CDT::AddHole(std::vector<p2t::Point*, std::allocator<p2t::Point*> >)'
> /usr/lib/gcc/s390x-redhat-linux/7/../../../../lib64/libassimp.so: undefined reference to `p2t::CDT::Triangulate()'
> /usr/lib/gcc/s390x-redhat-linux/7/../../../../lib64/libassimp.so: undefined reference to `p2t::CDT::CDT(std::vector<p2t::Point*, std::allocator<p2t::Point*> >)'
> /usr/lib/gcc/s390x-redhat-linux/7/../../../../lib64/libassimp.so: undefined reference to `p2t::CDT::GetTriangles()'
> collect2: error: ld returned 1 exit status
> make: *** [Makefile:65: assimp] Error 1
 => source failed verification.
test config.core.libraries.assimp FAILED

The p2t::CDT class should be coming from the poly2tri package. Probably there is a difference in poly2tri between the arches.

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

Additional information:
Access to a ppc64 machine is available for package maintainer via https://fedoraproject.org/wiki/Test_Machine_Resources_For_Package_Maintainers

Comment 1 Ngo Than 2017-05-10 10:14:07 UTC
i'm already aware of this issue and working on a fix.

Comment 2 Ngo Than 2017-05-10 18:38:08 UTC
it's fixed in qt5-qt3d-5.9.0-1.beta.3.fc27


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