Note: This is a beta release of Red Hat Bugzilla 5.0. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Also email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback here.
Bug 1080073 - atlas build failure on ppc64le archi
Summary: atlas build failure on ppc64le archi
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: atlas
Version: 22
Hardware: ppc64le
OS: Linux
unspecified
medium
Target Milestone: ---
Assignee: Frantisek Kluknavsky
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: F-ExcludeArch-ppc64le, PPC64LETracker
TreeView+ depends on / blocked
 
Reported: 2014-03-24 15:53 UTC by Michel Normand
Modified: 2015-11-27 11:50 UTC (History)
7 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2015-11-27 11:50:11 UTC


Attachments (Terms of Use)
atlas.fedora.ppc64le.tempo.patch tempo patch (stage2 only) (deleted)
2014-03-24 15:53 UTC, Michel Normand
no flags Details | Diff
atlas.spec-ppc64le.patch the one to update atlas.spec (deleted)
2014-05-23 11:31 UTC, Michel Normand
no flags Details | Diff
xlf.command.not.found.patch (deleted)
2014-05-23 11:33 UTC, Michel Normand
no flags Details | Diff
getdoublearr.stripwhite.patch (deleted)
2014-05-23 11:33 UTC, Michel Normand
no flags Details | Diff
initialize_malloc_memory.invtrsm.wms.oct23.patch (deleted)
2014-05-23 11:34 UTC, Michel Normand
no flags Details | Diff
atlas.ppc64le-abiv2.patch (deleted)
2014-05-23 11:34 UTC, Michel Normand
no flags Details | Diff
POWER764LEVSX.tar.bz2 tarball (deleted)
2014-05-23 11:36 UTC, Michel Normand
no flags Details
issue_64.patch (deleted)
2014-07-11 08:38 UTC, Michel Normand
no flags Details | Diff
atlas.ppc64le-abiv2.patch (deleted)
2014-07-11 08:42 UTC, Michel Normand
no flags Details | Diff
atlas.spec-ppc64le.patch (deleted)
2014-07-11 09:02 UTC, Michel Normand
no flags Details | Diff
atlas-new_archdef_for_ppc64le.patch (deleted)
2014-07-21 14:46 UTC, Michel Normand
no flags Details | Diff
atlas.3.10.1_spec_with_ppc64le_patches.patch (deleted)
2014-08-18 14:15 UTC, Michel Normand
no flags Details | Diff
atlas.3.10.1-ppc64le_abiv2_step1.patch (deleted)
2014-08-18 14:16 UTC, Michel Normand
no flags Details | Diff
atlas.3.10.2-ppc64le_abiv2_step2.patch (deleted)
2014-08-18 14:17 UTC, Michel Normand
no flags Details | Diff
atlas.3.10.2-ppc64le_abiv2_step3.patch (deleted)
2014-08-18 14:17 UTC, Michel Normand
no flags Details | Diff
atlas.3.10.1-add_power8_cpu.patch (deleted)
2014-09-19 10:56 UTC, Michel Normand
no flags Details | Diff
atlas.3.10.2-add_power8_cpu.patch (deleted)
2014-09-19 10:57 UTC, Michel Normand
no flags Details | Diff
atlas.3.10.2-add_power8_cpu.patch (deleted)
2014-09-19 13:38 UTC, Michel Normand
no flags Details | Diff
atlas.3.10.1_spec_add_power8_archdef.patch (deleted)
2014-09-23 11:09 UTC, Michel Normand
no flags Details | Diff
atlas.3.10.1_spec_with_ppc64le_patches.patch (deleted)
2014-09-29 10:05 UTC, Michel Normand
no flags Details | Diff
atlas.3.10.2-ppc64le_do_not_use_files_with_lvx.patch (deleted)
2014-09-30 03:15 UTC, Michel Normand
no flags Details | Diff
atlas-new_archdef_for_ppc64le.patch (deleted)
2014-09-30 03:20 UTC, Michel Normand
no flags Details | Diff
POWER764LEVSX.tar.bz2 (deleted)
2014-10-02 03:42 UTC, Michel Normand
no flags Details

Description Michel Normand 2014-03-24 15:53:13 UTC
Created attachment 878111 [details]
atlas.fedora.ppc64le.tempo.patch tempo patch (stage2 only)

Description of problem: atlas do not build on ppc64le archi


Version-Release number of selected component (if applicable):
atlas-3.10.1-12.fc21

Steps to Reproduce:
1. fedpkg clone -a atlas
2. fedpkg prep
3. fedpkg mockbuild


Additional info:
In attachement there is the temporary patch allowing to build on ppc64le archi.
Warning: need rework because has bypasses identified during stage2 build.

Comment 1 Michel Normand 2014-05-23 11:25:48 UTC
Comment on attachment 878111 [details]
atlas.fedora.ppc64le.tempo.patch tempo patch (stage2 only)

obsoleted my next attachments to follow.

Comment 2 Michel Normand 2014-05-23 11:31:55 UTC
Created attachment 898654 [details]
atlas.spec-ppc64le.patch the one to update atlas.spec

I am providing in successive attachments 5 patch files and a tarball
that allow atlas to be built for ppc64le archi on Power7.
(now that gcc 4.9 support vsx/altivec on ppc64le)
I will have to provide later on other patches for Power8 when I will have access to one. 
But at least those one are sufficient for Power7.
Refer to comments in patch headers for details.

atlas.spec-ppc64le.patch the one to update atlas.spec using those below

xlf.command.not.found.patch
getdoublearr.stripwhite.patch
initialize_malloc_memory.invtrsm.wms.oct23.patch
atlas.ppc64le-abiv2.patch

POWER764LEVSX.tar.bz2 tarball used as new Source15 in atlas.spec

Comment 3 Michel Normand 2014-05-23 11:33:08 UTC
Created attachment 898655 [details]
xlf.command.not.found.patch

Comment 4 Michel Normand 2014-05-23 11:33:40 UTC
Created attachment 898656 [details]
getdoublearr.stripwhite.patch

Comment 5 Michel Normand 2014-05-23 11:34:12 UTC
Created attachment 898657 [details]
initialize_malloc_memory.invtrsm.wms.oct23.patch

Comment 6 Michel Normand 2014-05-23 11:34:55 UTC
Created attachment 898658 [details]
atlas.ppc64le-abiv2.patch

Comment 7 Michel Normand 2014-05-23 11:36:14 UTC
Created attachment 898659 [details]
POWER764LEVSX.tar.bz2 tarball

Comment 8 Michel Normand 2014-05-23 12:00:28 UTC
set of patches validated on ppcle koji scratchbuild:
http://ppc-le.koji.fedoraproject.org/koji/taskinfo?taskID=65415

Comment 9 Michel Normand 2014-06-20 16:31:59 UTC
related patches submitted upstream in atlas-devel ML on June 17th but no answer yet: http://sourceforge.net/p/math-atlas/mailman/message/32471499/

Comment 10 Michel Normand 2014-07-11 08:36:01 UTC
Comment on attachment 898655 [details]
xlf.command.not.found.patch

after discussion upstream via https://sourceforge.net/p/math-atlas/patches/62/
mark this patch as obsolete.

Comment 11 Michel Normand 2014-07-11 08:38:37 UTC
Created attachment 917277 [details]
issue_64.patch

after discussion via https://sourceforge.net/p/math-atlas/patches/64/
replace the initialize_malloc_memory.invtrsm.wms.oct23.patch by
this new issue_64.patch

Comment 12 Michel Normand 2014-07-11 08:42:47 UTC
Created attachment 917280 [details]
atlas.ppc64le-abiv2.patch

after discussion via https://sourceforge.net/p/math-atlas/patches/65/
update the atlas.ppc64le-abiv2.patch

Comment 13 Michel Normand 2014-07-11 08:49:35 UTC
Comment on attachment 898656 [details]
getdoublearr.stripwhite.patch

I still have to work on it based on https://sourceforge.net/p/math-atlas/patches/63/

Comment 14 Michel Normand 2014-07-11 09:02:29 UTC
Created attachment 917284 [details]
atlas.spec-ppc64le.patch

update the atlas.spec-ppc64le.patch to force archdef=0 and use only last specified patches.

Comment 15 Michel Normand 2014-07-11 09:09:44 UTC
With above patches I am able to build/check atlas package for ppc64le archi on POWER7 (and generate rpms) there are still segfaults reported in console but not identified in build.log.
last pending scratch build:
http://ppc.koji.fedoraproject.org/koji/taskinfo?taskID=1941601

Comment 16 Michel Normand 2014-07-21 14:46:03 UTC
Created attachment 919654 [details]
atlas-new_archdef_for_ppc64le.patch

I forgot to save as attachment the atlas-new_archdef_for_ppc64le.patch already used in previous scratch build of comment 15.
This patch is submitted upstream via https://sourceforge.net/p/math-atlas/patches/66/

Comment 17 Fedora Admin XMLRPC Client 2014-07-26 17:14:54 UTC
This package has changed ownership in the Fedora Package Database.  Reassigning to the new owner of this component.

Comment 18 Fedora Admin XMLRPC Client 2014-07-28 07:46:10 UTC
This package has changed ownership in the Fedora Package Database.  Reassigning to the new owner of this component.

Comment 19 Fedora Admin XMLRPC Client 2014-07-28 07:47:20 UTC
This package has changed ownership in the Fedora Package Database.  Reassigning to the new owner of this component.

Comment 20 Michel Normand 2014-07-31 07:39:42 UTC
A subset of above patches are embeded in new atlas 3.10.2 that is sufficient to have atlas build to succeed on ppc64le archi as per scratch build http://ppc.koji.fedoraproject.org/koji/taskinfo?taskID=1965167

So close this bug as duplicate of rhbz #1118596

*** This bug has been marked as a duplicate of bug 1118596 ***

Comment 21 Michel Normand 2014-07-31 07:45:26 UTC
(In reply to Michel Normand from comment #20)
> A subset of above patches are embeded in new atlas 3.10.2 that is sufficient
> to have atlas build to succeed on ppc64le archi as per scratch build
> http://ppc.koji.fedoraproject.org/koji/taskinfo?taskID=1965167
> 
> So close this bug as duplicate of rhbz #1118596
> 
> *** This bug has been marked as a duplicate of bug 1118596 ***

After discussion I will keep this bug open to track the atlas-new_archdef_for_ppc64le.patch (issue 66 still open upstream) that is still missing in atlas-3.10.2 version.

Comment 22 Michel Normand 2014-08-18 14:09:27 UTC
(In reply to Michel Normand from comment #21)
> (In reply to Michel Normand from comment #20)
> > A subset of above patches are embeded in new atlas 3.10.2 that is sufficient
> > to have atlas build to succeed on ppc64le archi as per scratch build
> > http://ppc.koji.fedoraproject.org/koji/taskinfo?taskID=1965167
> > 
> > So close this bug as duplicate of rhbz #1118596
> > 
> > *** This bug has been marked as a duplicate of bug 1118596 ***
> 
> After discussion I will keep this bug open to track the
> atlas-new_archdef_for_ppc64le.patch (issue 66 still open upstream) that is
> still missing in atlas-3.10.2 version.

current_status: 
* with atlas 3.10.2 able to build one time on koji for fedora 21 (Id 254085)
  but still have failing tests depending of builder (Id 1965860)
  http://ppc.koji.fedoraproject.org/koji/buildinfo?buildID=1965860
  http://ppc.koji.fedoraproject.org/koji/buildinfo?buildID=254085
* I have a set of additionnal patches for 3.10.1 or 3.10.2
  that allow to build, and ignore the make check errors for ppc64le.
  as reported in specified scratch builds.
  for atlas 3.10.1:
    atlas.3.10.1_spec_with_ppc64le_patches.patch
    issue_64.patch (in 3.10.2 upstream)
    atlas.3.10.1-ppc64le_abiv2_step1.patch (in 3.10.2 upstream)
    atlas.3.10.2-ppc64le_abiv2_step2.patch
    atlas.3.10.2-ppc64le_abiv2_step3.patch
    http://ppc.koji.fedoraproject.org/koji/taskinfo?taskID=2001446
  for atlas 3.10.2:
    atlas.3.10.2-ppc64le_abiv2_step2.patch
    atlas.3.10.2-ppc64le_abiv2_step3.patch
* The step2 step3 patches are already submitted upstream at
  https://sourceforge.net/p/math-atlas/patches/65
* for make check error, still need more work
  related to vector assembly code that assumes big-endian env
  (eg: ATL_cmm4x4x128_av.c and ATL_smm4x4x128_av.c)
  Would need significant work to support little-endian as per
  https://www-01.ibm.com/chips/techlib/techlib.nsf/techdocs/FBFA164F824370F987256D6A006F424D/$file/vector_simd_pem.ppc.2005AUG23.pdf

Comment 23 Michel Normand 2014-08-18 14:11:07 UTC
Comment on attachment 898656 [details]
getdoublearr.stripwhite.patch

not mandatory patch after discussion upstream, so change to obsolete.

Comment 24 Michel Normand 2014-08-18 14:12:50 UTC
Comment on attachment 898659 [details]
POWER764LEVSX.tar.bz2 tarball

not mandatory patch after discussion upstream, so change to obsolete.

Comment 25 Michel Normand 2014-08-18 14:13:38 UTC
Comment on attachment 919654 [details]
atlas-new_archdef_for_ppc64le.patch

not mandatory patch after discussion upstream, so change to obsolete.

Comment 26 Michel Normand 2014-08-18 14:15:19 UTC
Created attachment 927912 [details]
atlas.3.10.1_spec_with_ppc64le_patches.patch

Comment 27 Michel Normand 2014-08-18 14:16:13 UTC
Created attachment 927913 [details]
atlas.3.10.1-ppc64le_abiv2_step1.patch

Comment 28 Michel Normand 2014-08-18 14:17:00 UTC
Created attachment 927915 [details]
atlas.3.10.2-ppc64le_abiv2_step2.patch

Comment 29 Michel Normand 2014-08-18 14:17:39 UTC
Created attachment 927916 [details]
atlas.3.10.2-ppc64le_abiv2_step3.patch

Comment 30 Dan Horák 2014-09-17 11:41:52 UTC
> * for make check error, still need more work
>   related to vector assembly code that assumes big-endian env
>   (eg: ATL_cmm4x4x128_av.c and ATL_smm4x4x128_av.c)
>   Would need significant work to support little-endian as per
>  
> https://www-01.ibm.com/chips/techlib/techlib.nsf/techdocs/
> FBFA164F824370F987256D6A006F424D/$file/vector_simd_pem.ppc.2005AUG23.pdf

Michel, could we somehow disable those 2 files and use a generic implementation instead until they are updated for LE?

Comment 31 Dan Horák 2014-09-17 12:37:41 UTC
BTW are you working on updating the config mechanisms for Power8? I guess it would be an unknown CPU with new problems ...

Comment 32 Michel Normand 2014-09-18 12:47:05 UTC
(In reply to Dan Horák from comment #30)
> > * for make check error, still need more work
> >   related to vector assembly code that assumes big-endian env
> >   (eg: ATL_cmm4x4x128_av.c and ATL_smm4x4x128_av.c)
> >   Would need significant work to support little-endian as per
> >  
> > https://www-01.ibm.com/chips/techlib/techlib.nsf/techdocs/
> > FBFA164F824370F987256D6A006F424D/$file/vector_simd_pem.ppc.2005AUG23.pdf
> 
> Michel, could we somehow disable those 2 files and use a generic
> implementation instead until they are updated for LE?

A patch disabling those 2 files is not sufficient to avoid the make check error.
For the time beeing I only have the solution brought by already attached patches that ignore make check error for ppc64le.

Comment 33 Michel Normand 2014-09-18 12:50:55 UTC
(In reply to Dan Horák from comment #31)
> BTW are you working on updating the config mechanisms for Power8? I guess it
> would be an unknown CPU with new problems ...

Yes I know, but I do not have yet easy access to a P8 machine to test new related patches.

Comment 34 Michel Normand 2014-09-19 10:56:25 UTC
Created attachment 939224 [details]
atlas.3.10.1-add_power8_cpu.patch

Comment 35 Michel Normand 2014-09-19 10:57:16 UTC
Created attachment 939225 [details]
atlas.3.10.2-add_power8_cpu.patch

Comment 36 Michel Normand 2014-09-19 11:00:43 UTC
The two previous patches atlas.3.10.1-add_power8_cpu.patch and atlas.3.10.2-add_power8_cpu.patch are adding the support of Power8 on atlas for the two release atlas.3.10.1 and atlas.3.10.2.

I am just on the way to build with them on a Power 8 machine.

Comment 37 Michel Normand 2014-09-19 13:38:41 UTC
Created attachment 939357 [details]
atlas.3.10.2-add_power8_cpu.patch

correction of a small typo in previous atlas.3.10.2-add_power8_cpu.patch

Comment 38 Michel Normand 2014-09-23 11:09:52 UTC
Created attachment 940404 [details]
atlas.3.10.1_spec_add_power8_archdef.patch

atlas.3.10.1_spec_add_power8_archdef.patch as attachment as suggested patch of atlas.spec to speedup build on Power8. I previously verified that the archdef for Power8 has same content as for Power7.

Comment 39 Michel Normand 2014-09-29 10:05:02 UTC
Created attachment 942268 [details]
atlas.3.10.1_spec_with_ppc64le_patches.patch

Comment 40 Michel Normand 2014-09-29 10:07:44 UTC
new status versus previous one in comment #22

current_status:
* have a set of patches for 3.10.1 or 3.10.2 atlas releases
  that allow to build atlas for power7 for ppc64 and ppc64le archi
  with no make check error, as reported in specified scratch builds.
* I verified with mock build that work also on power8 hdw.
  for atlas 3.10.1:
    atlas.3.10.1_spec_with_ppc64le_patches.patch
    issue_64.patch (in 3.10.2 upstream)
    atlas.3.10.1-ppc64le_abiv2_step1.patch (in 3.10.2 upstream)
    atlas.3.10.2-ppc64le_abiv2_step2.patch
    atlas.3.10.2-ppc64le_abiv2_step3.patch
    atlas.3.10.2-ppc64le_do_not_use_files_with_lvx.patch
    atlas-new_archdef_for_ppc64le.patch
    atlas.3.10.1-add_power8_cpu.patch
    http://ppc.koji.fedoraproject.org/koji/taskinfo?taskID=2123725
  for atlas 3.10.2:
    atlas.3.10.2-ppc64le_abiv2_step2.patch
    atlas.3.10.2-ppc64le_abiv2_step3.patch
    atlas.3.10.2-ppc64le_do_not_use_files_with_lvx.patch
    atlas-new_archdef_for_ppc64le.patch
    atlas.3.10.2-add_power8_cpu.patch
    http://ppc.koji.fedoraproject.org/koji/taskinfo?taskID=2123734
* The step2 step3 patches are already submitted upstream
  but not yet pushed completely in 3.11.30
  https://sourceforge.net/p/math-atlas/patches/65
* The atlas-new_archdef_for_ppc64le.patch already upstream in 3.11.30
  https://sourceforge.net/p/math-atlas/patches/66
* the atlas.3.10.1-add_power8_cpu.patch submitted upstream at
  https://sourceforge.net/p/math-atlas/patches/67/
* The atlas.3.10.2-ppc64le_do_not_use_files_with_lvx.patch
  is a bypass removing some PowerPC files
  related to vector assembly code that assumes big-endian env
  (eg: ATL_cmm4x4x128_av.c and ATL_smm4x4x128_av.c)
  Would need significant work to support little-endian as per
  https://www-01.ibm.com/chips/techlib/techlib.nsf/techdocs/FBFA164F824370F987256D6A006F424D/$file/vector_simd_pem.ppc.2005AUG23.pdf
  This is not yet solved upstream and tracked by upstream issue 65 (same as above)

* The above patches are ready to be pushed in fedora db for atlas 3.10.1
  (atlas 3.10.2 still failing arm as tracked in https://bugzilla.redhat.com/show_bug.cgi?id=1118596#c6)

Comment 41 Michel Normand 2014-09-30 03:05:31 UTC
Comment on attachment 940404 [details]
atlas.3.10.1_spec_add_power8_archdef.patch

atlas.3.10.1_spec_add_power8_archdef.patch removed as obsoleted by atlas.3.10.1_spec_with_ppc64le_patches.patch

Comment 42 Michel Normand 2014-09-30 03:15:10 UTC
Created attachment 942576 [details]
atlas.3.10.2-ppc64le_do_not_use_files_with_lvx.patch

atlas.3.10.2-ppc64le_do_not_use_files_with_lvx.patch referenced in comment #40
(same for 3.10.1 and 3.10.2)

Comment 43 Michel Normand 2014-09-30 03:20:54 UTC
Created attachment 942578 [details]
atlas-new_archdef_for_ppc64le.patch

atlas-new_archdef_for_ppc64le.patch referenced in comment #40
(same for 3.10.1 and 3.10.2)

Comment 44 Michel Normand 2014-10-02 03:42:30 UTC
Created attachment 943255 [details]
POWER764LEVSX.tar.bz2

POWER764LEVSX.tar.bz2 is the archdef file referenced in source15 of atlas.3.10.1_spec_with_ppc64le_patches.patch. Its presence allow to speed up the build process.

Comment 45 Jaroslav Reznik 2015-03-03 15:37:38 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 22 development cycle.
Changing version to '22'.

More information and reason for this action is here:
https://fedoraproject.org/wiki/Fedora_Program_Management/HouseKeeping/Fedora22

Comment 46 Rafael Fonseca 2015-08-13 15:31:02 UTC
Is this bug still valid? How is it different from [1]?

[1] https://bugzilla.redhat.com/show_bug.cgi?id=1111650

Comment 47 Michel Normand 2015-08-13 17:47:39 UTC
(In reply to Rafael Fonseca from comment #46)
> Is this bug still valid? How is it different from [1]?

Yes this bug is still valid and related patches detailed in comment #40
were never accepted by fedora maintainer
Those patches related to 3.10.1/3.10.2 versions are supposed
to be embedded  upstream for version 3.11.35 (not stable) 
as per issues status (2)
But I did not took the time to tried it.
The patch of comment #42 is not upstream


If that could help I recently applied 3.10.2 patches in opensuse tumbleweed
at (3)

(2) https://sourceforge.net/p/math-atlas/patches/65/
    https://sourceforge.net/p/math-atlas/patches/66/
    https://sourceforge.net/p/math-atlas/patches/67/
(3) https://build.opensuse.org/package/show/openSUSE:Factory:PowerPC/libatlas3

> 
> [1] https://bugzilla.redhat.com/show_bug.cgi?id=1111650

This bug [1] is addressing a specific error reporting during build
but that is not fatal to the build process.

Comment 48 Ngo Than 2015-11-27 11:50:11 UTC
it's now fixed in rawhide. thanks to Michel for the fixes!


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