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 1161585

Summary: 1.3.90 fails to build on aarch64, ppc64, s390
Product: [Fedora] Fedora Reporter: Marcin Juszkiewicz <mjuszkie>
Component: libjpeg-turboAssignee: Petr Hracek <phracek>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: blc, dan, negativo17, pbrobinson, phracek
Target Milestone: ---   
Target Release: ---   
Hardware: aarch64   
OS: Unspecified   
Whiteboard:
Fixed In Version: libjpeg-turbo-1.3.90-2.fc22 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-11-19 16:25:03 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:    
Bug Blocks: 467765, 1071880, 922257, 1051573    
Attachments:
Description Flags
Patch for secondary arches
none
C file with secondary arches functions
none
Patch for seconary arches
none
Patch for secondary arches
none
Patch for secondary arches none

Description Marcin Juszkiewicz 2014-11-07 11:54:46 UTC
Description of problem:

libjpeg-turbo got updated to prerelease 1.3.90 version. And then failed to build on secondary architectures: aarch64, ppc64, s390.

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

1.3.90-1

How reproducible:

always

Steps to Reproduce:
1. do a build on aarch64 (arm-koji) or ppc64 (ppc-koji) or s390 (s390-koji)

Actual results:

Package fails in testsuite.

Expected results:

Packages passes testsuite.

Additional info:

libjpeg-turbo development scheme is weird - 1.4.x branch (which 1.3.90 was built from) was created in a way that bisecting change which broke builds is impossible.

Comment 1 Petr Hracek 2014-11-11 15:34:28 UTC
Hi Marcin,

thanks for the bug.
Let's say I would like to test scratch build.
How to use koji for this case? There is only target armv7hl.

Could you please send me this information?

Greetings
Petr

Comment 2 Peter Robinson 2014-11-11 15:37:22 UTC
> How to use koji for this case? There is only target armv7hl.

All the above run on secondary koji instances so you can run:

for aarch64:
arm-koji build --scratch f22 blah.src.rpm
for ppc64 and ppc64le
ppc-koji build --scratch f22 blah.src.rpm
for s390*
s390-koji build --scratch f22 blah.src.rpm

Comment 3 Dan Horák 2014-11-18 18:21:57 UTC
And if needed we can provide you a login on secondary arch machines running Fedora. Just ask :-)

Comment 4 Petr Hracek 2014-11-19 09:01:14 UTC
I am solving that issue with upstream.
http://sourceforge.net/p/libjpeg-turbo/mailman/libjpeg-turbo-devel/?viewmonth=201411

I will try to apply patches proposed by upstream and let you know.

Testing is ongoing.

Comment 5 Petr Hracek 2014-11-19 09:11:34 UTC
Hi guys,

I have tried to build packages but they failed during mock build (some Perl issues)

http://arm.koji.fedoraproject.org/koji/taskinfo?taskID=2791330
http://ppc.koji.fedoraproject.org/koji/taskinfo?taskID=2187485
http://s390.koji.fedoraproject.org/koji/taskinfo?taskID=1611538

I include libjpeg-turbo patch to bugzilla for sure.

Comment 6 Petr Hracek 2014-11-19 09:12:14 UTC
Created attachment 958915 [details]
Patch for secondary arches

Comment 7 Petr Hracek 2014-11-19 09:12:53 UTC
Created attachment 958916 [details]
C file with secondary arches functions

Comment 8 Dan Horák 2014-11-19 09:20:21 UTC
Petr, please try scratch builds against f21, f22/rawhide is still work in progress on secondary arches with broken deps expected.

Comment 9 Peter Robinson 2014-11-19 10:51:31 UTC
aarch64 (arm.koji) is up to date enough to do scratch builds against F-22

Comment 10 Petr Hracek 2014-11-19 12:21:33 UTC
Created attachment 958951 [details]
Patch for seconary arches

The patch includes also fix for md5.

Comment 11 Petr Hracek 2014-11-19 12:40:59 UTC
Created attachment 958954 [details]
Patch for secondary arches

Comment 13 Petr Hracek 2014-11-19 16:25:03 UTC
scm-commit for rawhide https://lists.fedoraproject.org/pipermail/scm-commits/Week-of-Mon-20141117/1450520.html

switched to CLOSED -> RAWHIDE

rawhide build (http://koji.fedoraproject.org/koji/taskinfo?taskID=8187068)

arm-koji f22 scratch build http://arm.koji.fedoraproject.org/koji/taskinfo?taskID=2791727
ppc-koji f21 scratch build http://ppc.koji.fedoraproject.org/koji/taskinfo?taskID=2188756
s390-koji f21 scratch build http://s390.koji.fedoraproject.org/koji/taskinfo?taskID=1611673

Notes from upstream and I decided to commented out relevant test

=====================
If that's the only test that's failing, then I wouldn't worry about it. 
  Different compilers can cause different results with the floating 
point DCT/IDCT, but those algorithms are mainly a legacy feature.  They 
are included in 'make test' only because certain SIMD extensions include 
coverage for them, so 'make test' serves as a regression test for those 
SIMD extensions.  In the case of x86-64, i386, and MIPS, for instance, 
the floating point DCT/IDCT will always generate well-defined values 
that are not compiler-dependent (because they are implemented in 
assembly.)  On other platforms (including ARM32, but I have no way of 
testing ARM64), the floating point DCT/IDCT have always generated 
deterministic results as well, in my experience, but it could be because 
I'm always using similar versions of GCC to cross-compile.

Note also that when I was referring to PPC64 fixes earlier, those 
targeted big endian architectures.  They wouldn't have affected ppc64le.
======================