You are not logged in.

#1 2007-03-09 16:43:09

djscholl
Member
From: Michigan, USA
Registered: 2006-05-24
Posts: 56

atlas-lapack: problem building with PKGBUILD

I need to install the AUR package atlas-lapack, and have encountered a problem I don't know how to fix.

First, I had to update the PKGBUIlD slightly. The source URL for lapack is out-of-date. To download 3.0, it should be:
http://www.netlib.org/lapack/lapack-3.0.tgz
Also, the md5sum for mklib is out-of-date. It should be:
c093ba815a9acf0c1ee2c51acd22530f
With those two changes, the package builds without errors, including shared libraries, on a single Athlon system.

$ cat /proc/cpuinfo 
processor       : 0
vendor_id       : AuthenticAMD
cpu family      : 15
model           : 39
model name      : AMD Athlon(tm) 64 Processor 4000+
stepping        : 1
cpu MHz         : 2403.161
cache size      : 1024 KB
-----snip------

On a dual-processor, dual-core Xeon system,

$ cat /proc/cpuinfo 
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 15
model           : 4
model name      : Intel(R) Xeon(TM) CPU 3.00GHz
stepping        : 1
cpu MHz         : 2992.892
cache size      : 1024 KB
physical id     : 0
siblings        : 2
core id         : 0
cpu cores       : 1
-----snip------
processor       : 1
vendor_id       : GenuineIntel
cpu family      : 15
model           : 4
model name      : Intel(R) Xeon(TM) CPU 3.00GHz
stepping        : 1
cpu MHz         : 2992.892
cache size      : 1024 KB
processor       : 1
vendor_id       : GenuineIntel
cpu family      : 15
model           : 4
model name      : Intel(R) Xeon(TM) CPU 3.00GHz
stepping        : 1
cpu MHz         : 2992.892
cache size      : 1024 KB
physical id     : 0
siblings        : 2
core id         : 0
cpu cores       : 1
------snip-----
processor       : 2
vendor_id       : GenuineIntel
cpu family      : 15
model           : 4
model name      : Intel(R) Xeon(TM) CPU 3.00GHz
stepping        : 1
cpu MHz         : 2992.892
cache size      : 1024 KB
physical id     : 3
siblings        : 2
core id         : 0
cpu cores       : 1
----snip-----
processor       : 3
vendor_id       : GenuineIntel
cpu family      : 15
model           : 4
model name      : Intel(R) Xeon(TM) CPU 3.00GHz
stepping        : 1
cpu MHz         : 2992.892
cache size      : 1024 KB
physical id     : 3
siblings        : 2
core id         : 0
cpu cores       : 1
-----snip------

the build halts after a couple of minutes with the following errors:

make -f Make_siamax lib
make[6]: Entering directory `/home/dscholl/devel/abs/atlas-lapack/src/ATLAS/build/src/blas/level1'
gcc -DL2SIZE=4194304 -I/home/dscholl/devel/abs/atlas-lapack/src/ATLAS/build/include -I/home/dscholl/devel/abs/atlas-lapack/src/ATLAS/build/..//include -I/home/dscholl/devel/abs/atlas-lapack/src/ATLAS/build/..//include/contrib -DAdd_ -DF77_INTEGER=int -DStringSunStyle -DATL_OS_Linux -DATL_ARCH_P4E -DATL_CPUMHZ=2992 -DATL_SSE3 -DATL_SSE2 -DATL_SSE1 -DATL_GAS_x8632  -DATL_NCPU=4 -fomit-frame-pointer -mfpmath=387 -O -m32 -DSREAL -o ATL_siamax.o -c ATL_siamax.c
gcc -m32 -x assembler-with-cpp -DL2SIZE=4194304 -I/home/dscholl/devel/abs/atlas-lapack/src/ATLAS/build/include -I/home/dscholl/devel/abs/atlas-lapack/src/ATLAS/build/..//include -I/home/dscholl/devel/abs/atlas-lapack/src/ATLAS/build/..//include/contrib -DAdd_ -DF77_INTEGER=int -DStringSunStyle -DATL_OS_Linux -DATL_ARCH_P4E -DATL_CPUMHZ=2992 -DATL_SSE3 -DATL_SSE2 -DATL_SSE1 -DATL_GAS_x8632  -DATL_NCPU=4 -DSREAL -o ATL_siamax_xp1yp0aXbX.o -c ATL_siamax_xp1yp0aXbX.c
ATL_siamax_xp1yp0aXbX.c: Assembler messages:
ATL_siamax_xp1yp0aXbX.c:424: Error: symbol `ALIGNED_STARTUP' is already defined
ATL_siamax_xp1yp0aXbX.c:426: Error: no instruction mnemonic suffix given and no register operands; can't size instruction
ATL_siamax_xp1yp0aXbX.c:428: Error: no instruction mnemonic suffix given and no register operands; can't size instruction
ATL_siamax_xp1yp0aXbX.c:430: Error: no instruction mnemonic suffix given and no register operands; can't size instruction
ATL_siamax_xp1yp0aXbX.c:465: Error: no instruction mnemonic suffix given and no register operands; can't size instruction
ATL_siamax_xp1yp0aXbX.c:517: Error: symbol `DONE' is already defined
ATL_siamax_xp1yp0aXbX.c:551: Error: symbol `LOOP1' is already defined
ATL_siamax_xp1yp0aXbX.c:556: Error: symbol `LOOPINC1' is already defined
ATL_siamax_xp1yp0aXbX.c:561: Error: symbol `NEWMAX1' is already defined
ATL_siamax_xp1yp0aXbX.c:567: Error: symbol `FORCEALIGN' is already defined
make[6]: *** [ATL_siamax_xp1yp0aXbX.o] Error 1
make[6]: Leaving directory `/home/dscholl/devel/abs/atlas-lapack/src/ATLAS/build/src/blas/level1'
make[5]: *** [sgen] Error 2
make[5]: Leaving directory `/home/dscholl/devel/abs/atlas-lapack/src/ATLAS/build/src/blas/level1'
make[4]: *** [slib] Error 2
make[4]: Leaving directory `/home/dscholl/devel/abs/atlas-lapack/src/ATLAS/build/src/blas/level1'
make[3]: *** [lib.grd] Error 2
make[3]: Leaving directory `/home/dscholl/devel/abs/atlas-lapack/src/ATLAS/build/src/auxil'
make[2]: *** [IStage1] Error 2
make[2]: Leaving directory `/home/dscholl/devel/abs/atlas-lapack/src/ATLAS/build/bin'
ERROR 388 DURING CACHESIZE SEARCH!!.  CHECK INSTALL_LOG/Stage1.log FOR DETAILS.
make[2]: Entering directory `/home/dscholl/devel/abs/atlas-lapack/src/ATLAS/build/bin'
cd /home/dscholl/devel/abs/atlas-lapack/src/ATLAS/build/..//bin ; make error_report
make[3]: Entering directory `/home/dscholl/devel/abs/atlas-lapack/src/ATLAS/bin'
make[3]: *** No rule to make target `error_report'.  Stop.
make[3]: Leaving directory `/home/dscholl/devel/abs/atlas-lapack/src/ATLAS/bin'
make[2]: *** [error_report] Error 2
make[2]: Leaving directory `/home/dscholl/devel/abs/atlas-lapack/src/ATLAS/build/bin'
cat: ../../CONFIG/error.txt: No such file or directory
cat: ../../CONFIG/error.txt: No such file or directory
make[1]: *** [build] Error 255
make[1]: Leaving directory `/home/dscholl/devel/abs/atlas-lapack/src/ATLAS/build'
make: *** [build] Error 2
==> ERROR: Build Failed.  Aborting...

The INSTALL_LOG/Stage1.log contains the same information that I have copied above. Both systems have CARCH set to i686, and are running 32-bit Arch. I included the processor info because the error mentions cachesize, so I thought it might be relevant. I didn't find anything in the atlas FAQ, or by googling the error message. There are many lines commented out in the PKGBUILD, but I didn't change any of them because I wasn't able to understand the relevant discussion in the comments on the atlas-lapack AUR page. I will appreciate any suggestions anyone has to offer.

Offline

#2 2007-03-15 00:10:00

iKevin
Member
From: Ann Arbor, MI
Registered: 2003-07-20
Posts: 132

Re: atlas-lapack: problem building with PKGBUILD

Hi

I had similar problems with the current atlas package failing during cachesize search, though I have dual XEONs.  I read the changelog for altlas 3.7.29 (the AUR version is 3.7.19) and there are several fixes that seem to relate to your issue.  Specifically, there is some kind a fix for x86 assembly as well as something related to core2duo in the versions after 3.7.19.  I don't quite understand the changes but the language is close enough to where you should try 3.7.29.  Perhaps the PKGBUILD will be updated soon.

Good luck

Offline

#3 2007-03-16 16:47:59

djscholl
Member
From: Michigan, USA
Registered: 2006-05-24
Posts: 56

Re: atlas-lapack: problem building with PKGBUILD

Thanks to maintainer oliv, the atlas-lapack package is updated to the latest unstable release, which builds on my Xeon system. However, there is an issue with parallel make. The build works only if "MAKEFLAGS=-j2" is commented out in /etc/makepkg.conf. If I enable -j2 or -j4, the build fails. At the suggestion of oliv, I have opened a support request with ATLAS:
http://sourceforge.net/tracker/index.ph … tid=379483

Offline

#4 2007-03-23 16:20:54

djscholl
Member
From: Michigan, USA
Registered: 2006-05-24
Posts: 56

Re: atlas-lapack: problem building with PKGBUILD

The above-linked support request to the ATLAS developers has been answered and closed. Quoting the answer from Clint Whaley:

Hi,

You definitely should not manually attempt to force parallel Make on
ATLAS: many parts of the install must be serialized so that the timings
don't get messed up.  ATLAS automatically uses parallel make for those
parts of the build where it is safe to do already.

I'm closing this, on the assumption this has answered your question.  If
you have further questions or comments, feel free to reopen.

Cheers,
Clint

As dual-core processors get more common, more Arch users might be setting MAKEFLAGS="-j2" in their makepkg.conf, which will trigger this issue. I'll pass this info on to the maintainer of the atlas-lapack PKGBUILD, to consider whether the PKGBUILD should be modified to protect against this.

Offline

Board footer

Powered by FluxBB