Opened 16 years ago
Closed 15 years ago
#18173 closed enhancement (fixed)
Atlas - 3.8.2 - New Portfile
Reported by: | krunk7@… | Owned by: | ajb78@… |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 1.7.0 |
Keywords: | Cc: | lionel.koenig@… | |
Port: | atlas |
Description
The attached portfile and patches fix ticket #17968 as well as adding several improvements over the previous Portfile. Since it is basically a full rewrite, I'm submitting complete files instead of a patch. Notify if patch is preferred.
Improvements:
- Fixes mixed arch error from bug #17968
- Compiles an optimized lapack library per Atlas documentation section 3.1.2
- Creates dynamic libraries per Atlas documentation section 8.3 (modified for OSX dylib's)
- Patches source to correctly detect CPU Arch for C2Duo and Xeon macs per Atlas errata 3.8.2
Further, the building of dynamic libs results in proper linking against macports atlas/lapack libs rather than system libs when using relative linking, e.g.,
-L/opt/local/lib -llapack
When static libs are used gcc links against the system dynamic libs instead as it "prefers" dynamic over static. This issue was addressed in the comments of ticket #15614.
cheers,
james
Attachments (4)
Change History (12)
Changed 16 years ago by krunk7@…
Changed 16 years ago by krunk7@…
Attachment: | patch-CONFIG-src-backend-archinf_x86.c.diff added |
---|
Patch arch_x86.cpp
comment:1 Changed 16 years ago by blb@…
Owner: | changed from macports-tickets@… to ajb78@… |
---|---|
Port: | atlas added |
comment:2 Changed 16 years ago by blb@…
During a build:
rm -f ATL_tMpFiLe /mp/var/macports/build/_Users_blb_devel_macports_trunk_dports_math_atlas/work/atlas-3.8.2/build/bin/xsubstr -o ATL_tMpFiLe -i /mp/var/macports/build/_Users_blb_devel_macports_trunk_dports_math_atlas/work/atlas-3.8.2/build/..//tune/blas/gemm/CASES/zcases.flg \ -s '^gcc' 'gcc -fPIC -force_cpusubtype_ALL -m32' -s ' gcc' ' gcc -fPIC -force_cpusubtype_ALL -m32' ./xuserflag -i ATL_tMpFiLe -o zcases.flg cc1: error: invalid option 'cpu=ultrasparc' FlagCheck.c:1: error: bad value (ultrasparc) for -mtune= switch cc1: error: invalid option 'altivec' cc1: error: invalid option 'abi=altivec' cc1: error: invalid option 'cpu=ultrasparc' cc1: error: invalid option 'cpu=ultrasparc' cc1: error: invalid option 'cpu=ultrasparc' cc1: error: invalid option 'cpu=970' cc1: error: invalid option 'ips4' cc1: error: invalid option 'ips4' cc1: error: invalid option 'ips4' cc1: error: invalid option 'ips4' gcc -fPIC -force_cpusubtype_ALL -m32 -mcpu=ultrasparc -mtune=ultrasparc -fomit-frame-pointer -O -fno-schedule-insns -fno-schedule-insns2 -c -DATL_BETA=1 FlagCheck.c
but it doesn't fail; is that expected? I see several other -mcpu=ultrasparc options elsewhere as well...
Also, just a curious bit of output:
BEST: ATL_ger1_8x4_0.c, mu=8, nu=4; at -2156.77 MFLOPS
negative MFLOPS...there was at least one other instance of negative MFLOPS. I'm guessing these are just parts of its testing procedure, since it otherwise appears to finish building?
Finally, can the commented-out destroot bits be removed since it appears to install those anyway?
comment:3 Changed 16 years ago by krunk7@…
Unless I'm mistaken, shouldn't be seeing teh -mcpu=ulatrasparc -mtune=ultrasparc. I'll rebuild it after work tonight to make sure, but those should correspond to your arch.
What system are you building on? (g4, g5, c2d, xeon, etc)
I only have access to a c2d and xeon for testing. . . might be able to run down a ppc somewhere in the lab.
comment:4 Changed 16 years ago by blb@…
This was on my C2D MBP running 10.5.6, Xcode 3.1.2, MacPorts trunk.
comment:5 Changed 16 years ago by krunk7@…
"This was on my C2D MBP running 10.5.6, Xcode 3.1.2, MacPorts trunk."
Odd, I just compiled the port today on my MB with xcode 3.1.2. It correctly detected the CPU Mhz and arch (Core2Duo).
I'll need to set up a pristine ports build environment to see if I can tease this error out.
comment:8 Changed 15 years ago by jameskyle@…
Resolution: | → fixed |
---|---|
Status: | new → closed |
Issues resolved and portfile upgraded.
Portfile