Ticket #12312: atlas-3.8.4.p1.diff

File atlas-3.8.4.p1.diff, 13.6 KB (added by jdemeyer, 9 years ago)

Diff for the atlas spkg, for review only

  • SPKG.txt

    # HG changeset patch
    # User Jeroen Demeyer <jdemeyer@cage.ugent.be>
    # Date 1326636943 -3600
    # Node ID c809dc667a585fc84ea6df37f21a2e2693bc2246
    # Parent  6771082d4884fecc5a5e6ae4d9c596bdac67fc56
    Trac #12312: Completely disable parallel make everywhere
    
    diff --git a/SPKG.txt b/SPKG.txt
    a b  
    22
    33== Description ==
    44
    5 This spkg builds ATLAS for Sage. It is build per default on Linux, but should 
    6 also work on OSX and Solaris. 
     5This spkg builds ATLAS for Sage. It is build per default on Linux, but should
     6also work on OSX and Solaris.
    77
    88== License ==
    99
     
    2121
    2222== Dependencies ==
    2323
    24  * Python 
     24 * Python
    2525 * Fortran
    2626 * Lapack
    2727
    2828== Build Instructions/Notes ==
    2929
    30  * patches/archinfo_linux.c.patch: Fix Itanium2 support on modern 
     30 * patches/archinfo_linux.c.patch: Fix Itanium2 support on modern
    3131   RHEL 5 and SLES 10 systems
    3232 * patches/archinfo_x86.c.patch: add cpuid support for Pentium D, E models
    3333 * patches/Make.top.patch: add make install target for shared libs
     
    3535 * Tuning info for K732SSE1.tgz, PM32SSE2.tgz and PPCG432.tgz
    3636 * Changes linker flags on Solaris if the Sun linker is used.
    3737 * AN UPDATE TO THE LATEST ATLAS IS WELL OVERDUE, BUT THIS IS NON-TRIVIAL
    38  * Changing this package, which takes a long time to build, so it (and the 
    39    Fortran package) did not use Python, would allow the ATLAS build to be 
    40    started sooner in parallel builds. This should reduce the overall time to 
    41    build Sage. 
    42  * The package is never installed on Cygwin or OS X. 
     38 * Changing this package, which takes a long time to build, so it (and the
     39   Fortran package) did not use Python, would allow the ATLAS build to be
     40   started sooner in parallel builds. This should reduce the overall time to
     41   build Sage.
     42 * The package is never installed on Cygwin or OS X.
    4343
    4444The package can be configured via two environment variables:
    4545
     
    5252
    5353 * SAGE_ATLAS_ARCH=arch[,isaext1][,isaext2]...[,isaextN]
    5454   The given architectural default and instruction set extensions are
    55    used instead of the empirical tuning. Available architectures are 
     55   used instead of the empirical tuning. Available architectures are
    5656
    5757     POWER3, POWER4, POWER5, PPCG4, PPCG5, P5, P5MMX, PPRO, PII, PIII,
    5858     PM, CoreSolo, CoreDuo, Core2Solo, Core2, Corei7, P4, P4E,
    5959     Efficeon, K7, HAMMER, AMD64K10h, UNKNOWNx86, IA64Itan, IA64Itan2,
    6060     USI, USII, USIII, USIV, UnknownUS, MIPSR1xK, MIPSICE9
    6161
    62    and instruction set extensions are 
    63    
    64      AltiVec, SSE3, SSE2, SSE1, 3DNow   
     62   and instruction set extensions are
     63
     64     AltiVec, SSE3, SSE2, SSE1, 3DNow
    6565
    6666   In addition, you can also set
    6767
    6868    - SAGE_ATLAS_ARCH=fast picks defaults for a modern (2-3 year old)
    69       CPU of your processor line, and 
     69      CPU of your processor line, and
    7070
    7171    - SAGE_ATLAS_ARCH=base picks defaults that should work for a ~10
    7272      year old CPU.
    7373
    74    For example, 
     74   For example,
    7575
    7676     SAGE_ATLAS_ARCH=Corei7,SSE3,SSE2,SSE1
    7777
     
    8080== TODO ==
    8181
    8282 * The build is currently disabled on OSX until we sort out some
    83    linking issues on OSX. 
     83   linking issues on OSX.
    8484
    8585 * On FreeBSD dynamic libraries don't work since the wrong flags are
    8686   passed to the linker. This will be fixed soon.
    8787
    8888== ChangeLog ==
    8989
     90=== atlas-3.8.4.p1 (Jeroen Demeyer, 15 January 2012) ===
     91 * Trac #12312: Completely disable parallel make everywhere
    9092
    91 == atlas-3.8.4 (Volker Braun, 15 June 2011) ==
     93=== atlas-3.8.4 (Volker Braun, 15 June 2011) ===
     94 * Trac #10226: Rewrite spkg-install in Python
    9295 * Updated to new upstream stable version.
    9396 * Removed SpewMakeInc.c.patch as it is included in new upstream
    9497   version.
    9598 * Rediffed other patches.
    9699 * Cygwin library name fix.
    97100
    98 == atlas-3.8.3.p18 (Mariah Lenox, 11 May 2011) ==
    99  * Make atlas respect CC environment variable. 
     101=== atlas-3.8.3.p18 (Mariah Lenox, 11 May 2011) ===
     102 * Make atlas respect CC environment variable.
    100103
    101 == atlas-3.8.3.p17 (Volker Braun, November 5th 2010) ==
     104=== atlas-3.8.3.p17 (Volker Braun, November 5th 2010) ===
    102105 * Rewrite the spkg-install script in pure python. Introduce the
    103106   SAGE_ATLAS_ARCH environment variable.
    104107
    105 == atlas-3.8.3.p16 (John Palmieri, September 19th 2010) ==
     108=== atlas-3.8.3.p16 (John Palmieri, September 19th 2010) ===
    106109 * Make spkg-check work when using SAGE_ATLAS_LIB: if SAGE_ATLAS_LIB
    107110   is set, skip the self-tests.
    108111
    109 == atlas-3.8.3.p15 (David Kirkby, September 6th 2010) ==
    110  * Make SAGE_ATLAS_LIB use static libraries on all platforms, 
    111    as building two shared libraries often fails on Linux, and 
     112=== atlas-3.8.3.p15 (David Kirkby, September 6th 2010) ===
     113 * Make SAGE_ATLAS_LIB use static libraries on all platforms,
     114   as building two shared libraries often fails on Linux, and
    112115   messes things up on Solaris. The static library is less hassle
    113116   all around. Worth noting is that the ATLAS package only builds
    114    the static library and Wolfram Research only ship the static 
     117   the static library and Wolfram Research only ship the static
    115118   library with Mathematica, despite they usually use shared
    116119   libraries. To ensure full compatibility with a fresh build
    117120   of ATLAS, the symbolic links are created for the shared libraries too.
    118    The links will fail to be created if the shared libraries do not exist, 
    119    but will not cause any extra problems. 
     121   The links will fail to be created if the shared libraries do not exist,
     122   but will not cause any extra problems.
    120123 * Update the list of dependencies to include Python and Lapack (see
    121124   spkg/deps)
    122  * Note that the ATLAS build process could be made much quicker if its 
    123    depenancy on Python was removed. Since the amount of Python code is 
    124    very small compared to the bash code, this seems logical to do at 
     125 * Note that the ATLAS build process could be made much quicker if its
     126   depenancy on Python was removed. Since the amount of Python code is
     127   very small compared to the bash code, this seems logical to do at
    125128   a later date. The Fortran package would need the same change - but again
    126    the amount of Python in that is trivial. 
    127  * Add a note that make-correct-shared.sh is badly named, as it often fails. 
    128  * Remove the OS X specific code from make-correct-shared.sh, as ATLAS is 
     129   the amount of Python in that is trivial.
     130 * Add a note that make-correct-shared.sh is badly named, as it often fails.
     131 * Remove the OS X specific code from make-correct-shared.sh, as ATLAS is
    129132   never installed on OS X - see the spkg-install-script.
    130133
    131 == atlas-3.8.3.p14 (David Kirkby, August 10th 2010) ==
     134=== atlas-3.8.3.p14 (David Kirkby, August 10th 2010) ===
    132135 * #9508 Fix multiple ATLAS build issues on Solaris 10 and OpenSolaris.
    133136 * Remove an inaccurate comment from spkg-install-script
    134    about the number of shred libraries built. 
    135  * Build shared libraries libatlas.so libf77blas.so libcblas.so 
    136    on Solaris properly using the Sun linker. The library 
     137   about the number of shred libraries built.
     138 * Build shared libraries libatlas.so libf77blas.so libcblas.so
     139   on Solaris properly using the Sun linker. The library
    137140   liblapack.so is NOT built as it causes problems with R.
    138  * Delete liblapack.so in make_correct_shared.sh on Solaris just 
    139    in case it is built by ATLAS, which does build some 
    140    libraries. (This is probably an unnecessary step, but 
    141    it's better to be safe than sorry). 
    142  * Correct linker options on 32-bit Solaris 10 or 32-bit 
    143    OpenSolaris builds on x86. These may not be optimal, but at 
    144    least they allow ATLAS to build. 
    145  * Make SPKG.txt have lines with less than 80 characters 
    146  * Fix a couple of spelling errors. 
    147  * Report whether the tests pass or fail in spkg-check. 
     141 * Delete liblapack.so in make_correct_shared.sh on Solaris just
     142   in case it is built by ATLAS, which does build some
     143   libraries. (This is probably an unnecessary step, but
     144   it's better to be safe than sorry).
     145 * Correct linker options on 32-bit Solaris 10 or 32-bit
     146   OpenSolaris builds on x86. These may not be optimal, but at
     147   least they allow ATLAS to build.
     148 * Make SPKG.txt have lines with less than 80 characters
     149 * Fix a couple of spelling errors.
     150 * Report whether the tests pass or fail in spkg-check.
    148151 * Report whether the timing data is collected correctly in spkg-check
    149152
    150153=== atlas-3.8.3.p13 (John Palmieri, June 27th, 2010) ===
     
    154157   existence when using SAGE_ATLAS_LIB, either.
    155158
    156159=== atlas-3.8.3.p12 (Jaap Spies, Februari 22th 2010) ===
    157  * #8039 For use with the Sun ld with SAGE64="yes" change ldflag 
     160 * #8039 For use with the Sun ld with SAGE64="yes" change ldflag
    158161   -melf_86_64 to -64
    159162 * See also the remarks from David Kirkby on atlas-3.8.3.p5
    160163
     
    164167   patches/SpewMakeInc.c over to src/CONFIG/src/SpewMakeInc.c
    165168
    166169=== atlas-3.8.3.p10 (David Kirkby, January 5th 2010) ===
    167  * replace bitwidth.py which uses 'ctypes' at that is broken 
    168    on many platforms. 
     170 * replace bitwidth.py which uses 'ctypes' at that is broken
     171   on many platforms.
    169172
    170173=== atlas-3.8.3.p7 (William Stein, Sept 21 2009) ===
    171174 * Make this into a dummy package on Cygwin that requires lapack.
    172175
    173176=== atlas-3.8.3.p6 (David Kirkby, July 19th 2009) ===
    174177 * Trac #6558
    175    This is an enhancement to trac #6276, which applies a Solaris patch 
    176    to only those based on the sun4v architecture, rather than all Solaris 
    177    machines. 
     178   This is an enhancement to trac #6276, which applies a Solaris patch
     179   to only those based on the sun4v architecture, rather than all Solaris
     180   machines.
    178181 * Finished off an unfinished sentance in a comment in spkg-install
    179    
     182
    180183=== atlas-3.8.3.p5 (David Kirkby, June 24th 2009) ===
    181184 * Made a backup of ATLAS-build/lib/Makefile to ATLAS-build/lib/Makefile.orig
    182  * Alter the flags in ATLAS-build/lib/Makefile with those that will work if 
    183    the linker used is the Sun linker. The default Makefile makes use of the 
    184    GNU linker's flags, such as "-shared" which is not acceptable to the Sun 
    185    linker. 
    186    
    187    The patch is only applied if the operating system is Solaris, and the 
     185 * Alter the flags in ATLAS-build/lib/Makefile with those that will work if
     186   the linker used is the Sun linker. The default Makefile makes use of the
     187   GNU linker's flags, such as "-shared" which is not acceptable to the Sun
     188   linker.
     189
     190   The patch is only applied if the operating system is Solaris, and the
    188191   linker is not the GNU linker. The flags charged are:
    189192   -shared ==> -G
    190193   -soname ==> -h
     
    194197    NOTES:
    195198    1) Sun have a tool which accepts gcc flags, but calls the Sun compiler.
    196199    This patch might mess things up if that is used. Having never used the tool
    197     it's impossible to be 100% sure of this. Anyway, that will be some time in 
    198     the future, so this patch can be removed. 
     200    it's impossible to be 100% sure of this. Anyway, that will be some time in
     201    the future, so this patch can be removed.
    199202
    200     2) The fact the linker flags are GNU specific has been reported to the ATLAS   
    201     maintainer, so they may fix this problem. In which case the patch could be 
    202     removed at a later date. 
    203   * Fixed a minor spelling mistake in this file 
     203    2) The fact the linker flags are GNU specific has been reported to the ATLAS
     204    maintainer, so they may fix this problem. In which case the patch could be
     205    removed at a later date.
     206  * Fixed a minor spelling mistake in this file
    204207
    205208=== atlas-3.8.3.p4 (David Kirkby, June 16th 2009) ===
    206209 * Change GuessSmallNB() in src/tune/blas/gemm/mmsearch.c
     
    216219 * Change SAGE_SIMD_MODE --> SAGE_FAT_BINARY
    217220
    218221=== atlas-3.8.3.p1 (Michael Abshoff, April 17th, 2009) ===
    219  * Introduce SAGE_SIMD_MODE. If set to SSE2 only use SSE1 and SSE2 
     222 * Introduce SAGE_SIMD_MODE. If set to SSE2 only use SSE1 and SSE2
    220223   instructions (#5219)
    221224 * Detect Atom CPUs as Core2 (#5741)
    222225 * unbreak parallel make on system with "real" sh (#5742)
    223226
    224227=== atlas-3.8.3.p0 (William Stein, February 20, 2009) ===
    225  * implement up to 5 auto-restarts with random timeouts. 
     228 * implement up to 5 auto-restarts with random timeouts.
    226229
    227230=== atlas-3.8.3 (Michael Abshoff, February 20, 2009) ===
    228231 * rebase against latest upstream (#5311)
     
    233236 * revert dumb mistake from atlas-3.8.2.p1 make_correct_shared.sh
    234237
    235238=== atlas-3.8.2.p1 (Michael Abshoff, January 2nd, 2009) ===
    236  * Do not create any dynamic liblapack.so on non-Linux since they break 
     239 * Do not create any dynamic liblapack.so on non-Linux since they break
    237240   numpy and scipy
    238241
    239242=== atlas-3.8.2.p0 (Michael Abshoff, January 2nd, 2009) ===
     
    276279 * Apply row-major GEMM major ATLAS errata (#1787)
    277280
    278281=== atlas-3.8.p8 (Josh Kantor, Jan. 19th, 2008) ===
    279  * Added optional environment variable SAGE_ATLAS_LIB. This should be a 
    280    directory that contains liblapack.so,libcblas.so, libf77blas.so, 
    281    libatlas.so. Instead of building atlas we make symbolic links to these 
     282 * Added optional environment variable SAGE_ATLAS_LIB. This should be a
     283   directory that contains liblapack.so,libcblas.so, libf77blas.so,
     284   libatlas.so. Instead of building atlas we make symbolic links to these
    282285   libraries in $SAGE_LOCAL/lib
    283286
    284287=== atlas-3.8.p6 (Josh Kantor, Dec. 15th, 2007) ===
    285  * check if ATLAS bailed out due to unprecise timings. This happens if the 
     288 * check if ATLAS bailed out due to unprecise timings. This happens if the
    286289   system is too loaded.
    287290
    288291=== atlas-3.8.p5 (Josh Kantor, Dec. 14th, 2007) ===
  • spkg-install

    diff --git a/spkg-install b/spkg-install
    a b  
    371371            print "on 32-bit builds of ATLAS on x86/x64 hardware"
    372372            edit_in_place('Make.inc').replace('-melf_i386', '').close()
    373373       
    374     rc = os.system('make shared cshared')
     374    rc = os.system('$MAKE shared cshared')
    375375    return rc
    376376
    377377