Opened 11 years ago

Closed 11 years ago

#24869 closed defect (fixed)

ATLAS won't install on mac 10.6 Intel Core i7

Reported by: nrhall@… Owned by: jameskyle@…
Priority: Normal Milestone:
Component: ports Version: 1.8.2
Keywords: snowleopard Cc:
Port: atlas

Description

I'm encountering the following error when attempting to install ATLAS on my intel core i7 new mac book pro running mac os x 10.6 when using "port install atlas". I've attached the extended output when using the -d option. Any help would be greatly appreciated!

bash$ sudo port install atlas
Password:
--->  Computing dependencies for atlas
--->  Building atlas
Error: Target org.macports.build returned: shell command " cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_math_atlas/work/atlas-3.8.3/build" && /usr/bin/make build " returned error 2
Command output: 
IN STAGE 2 INSTALL:  TYPE-DEPENDENT TUNING


STAGE 2-1: TUNING PREC='d' (precision 1 of 4)


   STAGE 2-1-1 : BUILDING BLOCK MATMUL TUNE
      The best matmul kernel was ATL_dmm2x2x128_sse2.c, NB=56, written by R. Clint Whaley
      Performance: 10999.57MFLOPS (413.52 percent of of detected clock rate)
        (Gen case got 5418.35MFLOPS)
      NCgemmNN : muladd=1, lat=3, pf=1, nb=48, mu=12, nu=1 ku=48,
                 ForceFetch=0, ifetch=12 nfetch=1
                 Performance = 4730.72 (43.01 of copy matmul, 177.85 of clock)
      NCgemmNT : muladd=1, lat=6, pf=1, nb=48, mu=12, nu=1 ku=4,
                 ForceFetch=0, ifetch=12 nfetch=1
                 Performance = 3930.29 (35.73 of copy matmul, 147.76 of clock)
      NCgemmTN : muladd=1, lat=5, pf=1, nb=48, mu=12, nu=1 ku=48,
                 ForceFetch=0, ifetch=12 nfetch=1
                 Performance = 4199.25 (38.18 of copy matmul, 157.87 of clock)
      NCgemmTT : muladd=1, lat=2, pf=1, nb=48, mu=12, nu=1 ku=48,
                 ForceFetch=0, ifetch=12 nfetch=1
                 Performance = 3522.27 (32.02 of copy matmul, 132.42 of clock)
make -f Makefile MMinstall pre=d 2>&1 | ./xatlas_tee INSTALL_LOG/Stage1.log


   STAGE 2-1-2: CacheEdge DETECTION
make -f Makefile INSTALL_LOG/atlas_cacheedge.h pre=d 2>&1 | ./xatlas_tee INSTALL_LOG/dMMCACHEEDGE.LOG
make[1]: *** [build] Error 255
make: *** [build] Error 2

Error: Status 1 encountered during processing.
Before reporting a bug, first run the command again with the -d flag to get complete output.
bash$ 

Attachments (3)

atlas_error_long.txt (74.7 KB) - added by nrhall@… 11 years ago.
output of port -d install atlas
ERROR.LOG (4.6 KB) - added by nrhall@… 11 years ago.
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_math_atlas/work/atlas-3.8.3/build/bin/INSTALL_LOG/ERROR.LOG
atlas_error_long_2.txt (23.5 KB) - added by nrhall@… 11 years ago.
with -d option and +gcc45

Download all attachments as: .zip

Change History (20)

Changed 11 years ago by nrhall@…

Attachment: atlas_error_long.txt added

output of port -d install atlas

comment:1 Changed 11 years ago by Veence (Vincent)

What do you get in the INSTALL_LOG file? Besides, the CPU clock detection result is obviously wrong by 3 orders, if I read your output correctly (2,5 MHz instead of GHz). Apparently, ATLAS has not yet been tuned for Arrandale CPUs…

Changed 11 years ago by nrhall@…

Attachment: ERROR.LOG added

/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_math_atlas/work/atlas-3.8.3/build/bin/INSTALL_LOG/ERROR.LOG

comment:2 Changed 11 years ago by nrhall@…

Here is a list of everything in the following folder:

/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_math_atlas/work/atlas-3.8.3/build/bin/INSTALL_LOG
ERROR.LOG		dMMRES			dbestNN_48x48x48
L1CacheSize		dMMSEARCH.LOG		dbestNT_48x48x48
SUMMARY.LOG		dMULADD			dbestTN_48x48x48
Stage1.log		dNCNB			dbestTT_48x48x48
dMMCACHEEDGE.LOG	dPerfSumm.txt		sMULADD

I've attached the ERROR.LOG file to the ticket.

comment:3 Changed 11 years ago by nrhall@…

Let me know if it would be helpful for me to attach anything else.

comment:4 Changed 11 years ago by Veence (Vincent)

Well, at the first sight, I would maybe recommend you use a more recent version of gcc. Compile gcc45 (which should not take long), get my universal portfile for atlas (ftp://ftp.cimaxonline.fr/Portfile-atlas-univ) and try building it with the +gcc45 option.

comment:5 Changed 11 years ago by nrhall@…

I installed gcc-4.5 no problem using mac ports. I replaced the old atlas portfile (/opt/local/var/macports/sources/rsync.macports.org/release/ports/math/atlas/Portfile) with yours which I renamed to just Portfile. I then tried again. See below and attached for with -d option. I'm brand new to macports so maybe there is something obvious that I'm doing wrong. Thanks for your patience.

bash$ sudo port install atlas +gcc45 
--->  Computing dependencies for atlas
--->  Configuring atlas
Error: Target org.macports.configure returned: Invalid value for configure.compiler
Error: Status 1 encountered during processing.
Before reporting a bug, first run the command again with the -d flag to get complete output.
bash$ 

Changed 11 years ago by nrhall@…

Attachment: atlas_error_long_2.txt added

with -d option and +gcc45

comment:6 Changed 11 years ago by nrhall@…

There were 2 files name /opt/local/share/macports/Tcl/port1.0/portconfigure.tcl and /opt/local/var/macports/sources/rsync.macports.org/release/base/src/port1.0/portconfigure.tcl which caused the install to exit if gcc wasn't 4.4 or lower. I edited these to not force an exit which resolved the above problem. It's configuring now.

comment:7 Changed 11 years ago by nrhall@…

Looks like it worked. Thank you very much.

bash$ sudo port install atlas +gcc45
--->  Computing dependencies for atlas
--->  Configuring atlas
--->  Building atlas
--->  Staging atlas into destroot
--->  Installing atlas @3.8.3_1+gcc45
--->  Activating atlas @3.8.3_1+gcc45
--->  Cleaning atlas
bash$ atlas

comment:8 Changed 11 years ago by ryandesign (Ryan Schmidt)

Keywords: snowleopard added; ATLAS intel core i7 mac 10.6 removed
Owner: changed from macports-tickets@… to jameskyle@…
Port: atlas added

Please remember to fill in the port field and to Cc the port's maintainer.

comment:9 Changed 11 years ago by ryandesign (Ryan Schmidt)

FYI "configure.compiler gcc45" requires MacPorts 1.9.0+

comment:10 in reply to:  7 Changed 11 years ago by Veence (Vincent)

Resolution: fixed
Status: newclosed

You were right, I forgot to mention you had to tinker the Macports guts to enable the use of gcc45. I'm glad you were able to figure it out.

Well, your case shows that it is high time to move up to MacPorts 1.9.0 and gcc45 if we want math software continue working. Thanks for the test!

comment:11 Changed 11 years ago by mnott

Resolution: fixed
Status: closedreopened

Can you detail how to upgrade to 1.9.0? We're having the same problems here.

comment:12 in reply to:  11 Changed 11 years ago by Veence (Vincent)

Replying to mnott@…:

Can you detail how to upgrade to 1.9.0? We're having the same problems here.

Do not upgrade. Do this:

  • cd in ${prefix}/share/macports/Tcl/port1.0/
  • open the file portconfigure.tcl
  • search for the line : macports-gcc-4.4 { set name "MacPorts gcc 4.4" }
  • insert just under it the line : macports-gcc-4.5 { set name "MacPorts gcc 4.5" }

save and try again.

comment:13 Changed 11 years ago by jmroot (Joshua Root)

Why mess with base files when configure.compiler is just syntactic sugar? Setting configure.{cc,objc,cxx,cpp,fc,f77,f90} to the appropriate paths in the portfile has the same effect.

comment:14 Changed 11 years ago by robin@…

I've just tried the fix suggested by vince and that failed to do anything, same with the fix from nrhall

This is my first ports install so maybe I'm missing something that others have installed.

The output from the log file that looks most relevant is

c -fPIC -force_cpusubtype_ALL -m64 -c -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_math_atlas/work/atlas-3.8.3/build/tune/blas/gemv -fomit-frame-pointer -O2 -DL2SIZE=4194304 -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_math_atlas/work/atlas-3.8.3/build/include -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_math_atlas/work/atlas-3.8.3/build/..//include -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_math_atlas/work/atlas-3.8.3/build/..//include/contrib -DAdd_ -DF77_INTEGER=int -DStringSunStyle -DATL_OS_OSX -DATL_ARCH_UNKNOWNx86 -DATL_CPUMHZ=2660 -DATL_SSE3 -DATL_SSE2 -DATL_SSE1 -DATL_USE64BITS -DATL_GAS_x8664 -DATL_SSE3 -DATL_AVgcc -DPentiumCPS=2660 -DATL_NCPU=4 -DATL_NOL1PREFETCH -DATL_NOL2PREFETCH -o ATL_cgemvN_b1.o \
              -DSCPLX -DBETA1 -DALPHA1 ATL_cgemvN.c
ATL_cgemvN.c:3:5: error: #error "This kernel requires gas x86-32 assembler!"
In file included from /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_math_atlas/work/atlas-3.8.3/build/..//include/contrib/ATL_gemv_ger_SSE.h:54,
                 from ATL_cgemvN.c:54:
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_math_atlas/work/atlas-3.8.3/build/..//include/contrib/camm_dpa.h: In function 'dp2dpNb1':
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_math_atlas/work/atlas-3.8.3/build/..//include/contrib/camm_dpa.h:1485: error: nested functions are disabled, use -fnested-functions to re-enable
In file included from /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_math_atlas/work/atlas-3.8.3/build/..//include/contrib/ATL_gemv_ger_SSE.h:62,
                 from ATL_cgemvN.c:54:
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_math_atlas/work/atlas-3.8.3/build/..//include/contrib/camm_dpa.h: In function 'dp1dpNb1':
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_math_atlas/work/atlas-3.8.3/build/..//include/contrib/camm_dpa.h:1485: error: nested functions are disabled, use -fnested-functions to re-enable
In file included from /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_math_atlas/work/atlas-3.8.3/build/..//include/contrib/ATL_gemv_ger_SSE.h:68,
                 from ATL_cgemvN.c:54:
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_math_atlas/work/atlas-3.8.3/build/..//include/contrib/camm_dpa.h: In function 'dp2dpNb1m':
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_math_atlas/work/atlas-3.8.3/build/..//include/contrib/camm_dpa.h:1485: error: nested functions are disabled, use -fnested-functions to re-enable
make[5]: *** [ATL_cgemvN_b1.o] Error 1
make[4]: *** [csvcase] Error 2
Assertion failed: (fscanf(fp, " %lf

This is my first Mac and first port install so if I've missed anything obvious please tell me

comment:15 Changed 11 years ago by Veence (Vincent)

What compiler do you use?

comment:16 Changed 11 years ago by jameskyle@…

I'm currently building on my new macbook i7 with gcc45, if it builds I'll make 4.5 the default variant and close the ticket.

comment:17 Changed 11 years ago by jameskyle@…

Resolution: fixed
Status: reopenedclosed

Compile succeeds on my core i7.

commit r71201

Note: See TracTickets for help on using tickets.