Opened 13 years ago

Closed 13 years ago

Last modified 12 years ago

#15614 closed submission (fixed)

New port: atlas + lapack

Reported by: ajb78@… Owned by: jmroot (Joshua Root)
Priority: Normal Milestone:
Component: ports Version: 1.6.0
Keywords: Cc:
Port:

Description

I made a new port file for atlas & lapack, it is somewhat based off of the fink .info file for this same install.

The port will install atlas 3.8.2 and lapack 3.1.1.

Works on my machine, I hope it works for you.

Attachments (1)

Portfile (3.5 KB) - added by ajb78@… 13 years ago.
portfile for atlas + lapack

Download all attachments as: .zip

Change History (11)

Changed 13 years ago by ajb78@…

Attachment: Portfile added

portfile for atlas + lapack

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

Milestone: Port Submissions

comment:2 Changed 13 years ago by raimue (Rainer Müller)

Why don't you install lapack as a separate port instead of doing those hacks in one Portfile?

comment:3 Changed 13 years ago by ajb78@…

Because the way that I read the ATLAS documentation (and I do think this is the way it works), ATLAS merges itself with lapack to produce a single full-featured lapack library (lapack libraries do not need to be installed after this separately).

Without ATLAS, lapack will just install itself as a non-architecture optimized library. Without lapack ATLAS will install itself as a non-fullfeatured lapack library (mostly just a BLAS library). If lapack is installed first and ATLAS is made aware of where the lapack library is then after the install of atlas the lapack library will be redundant.

comment:4 Changed 13 years ago by ajb78@…

Oh, I also wanted to mention that scipy and numpy can depend on atlas to significantly speedup its linalg package (this is quite useful for me and probably others). Thanks!

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

Owner: changed from macports-tickets@… to jmr@…
Status: newassigned

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

Resolution: fixed
Status: assignedclosed

Thanks, added in r38455. Parallel building failed for me, so I disabled it. I listed you as the maintainer; if you have any objection to that, just let me know.

comment:7 Changed 13 years ago by ajb78@…

Thanks very much - glad to be the maintainer.

comment:8 Changed 12 years ago by stromnov (Andrew Stromnov)

From http://math-atlas.sourceforge.net/errata.html#osxlibname:

Problems with linking/missing LAPACK routines on OS X

OS X has a built-in version of ATLAS, and uses the standard names for them. They may be less up-to-date and/or have less libs than something you install yourself; in particular, if you have a Fortran compiler, you can build a full lapack library, which Apple does not currently provide, and so many users want to install the standard ATLAS. Unfortunately, when searching for libs the compiler looks in the system areas where apple keeps its ATLAS libs before looking in directories supplied by -L. This means that if you use -L and -l for your linking, you always get Apple's modified ATLAS, rather than the one you installed. There are two fixes for this problem that I know of. First, you can just link to the full name and path, rather than using -L. For instance, change something like:

gcc -o xtst test.c -L /home/whaley/TEST/ATLAS/build64/lib -lcblas -latlas

to:

gcc -o xtst test.c /home/whaley/TEST/ATLAS/build64/lib/libcblas.a \
       /home/whaley/TEST/ATLAS/build64/lib/libatlas.a

The only other trick I'm aware of is to rename your ATLAS libraries so that the Apple versions will not override them.

Question: How to build scipy with this port libraries?

comment:9 Changed 12 years ago by jmroot (Joshua Root)

Type: enhancementsubmission

comment:10 Changed 12 years ago by (none)

Milestone: Port Submissions

Milestone Port Submissions deleted

Note: See TracTickets for help on using tickets.