Re: numarray 1.3.1 setup patch for mac OS X veclib
Dear All, My apologies, but I seem to have made a mistake in the distutils patch for OS X, which has unfortunately made it into the latest 1.3.2 release. The bottom line is, I think, that we need an explicit include dir for cblas.h, rather than framework. Thus, we really need to add the following line to cfg_packages.py: lapack_include_dirs += ['/System/Library/Frameworks/vecLib.framework/Headers'] in the block that deals with the veclib framework (around line 53) This should be generic -- it's a symlink to the current version -- but I don't know if there's a better way to auto-generate the dir name. Sorry for not testing thoroughly enough! Andrew On 22 May 2005, at 17:46, Andrew Jaffe wrote:
Hi all,
I've had some trouble getting the numarray-1.3.1 setup scripts to recognize the optimized BLAS/LAPACK, veclib, on OS X. But I think I've tracked down the problems.
First, the section of addons.py that checks for the existence of the framework (around line 47) needs to set lapack_dirs = [], I think, since it needs to exist later on.
Second, the section after that that sets lapack_compile_args, lapack_link_args and lapack_include_dirs for *all* cases (lines 57-60) overwrites lapack_link_args from the if...elif...else above.
Finally, cblas.h isn't included correctly, since the framework option is only used for linking, not compiling.
I've attached a patchfile for addons.py below; I switched the two sections and added to the framework if... clause. Use it with patch addons.py addons.patch
I hope this is a reasonable way to propagate this to the developers.
Please let me know if it doesn't work for any reason, or if it breaks any other install, which I haven't checked.
______________________________________________________________________ Andrew Jaffe Astrophysics Group Blackett Laboratory, Room 1013 Imperial College, Prince Consort Road London SW7 2AZ ENGLAND http://astro.imperial.ac.uk/~jaffe
On Fri, 2005-05-27 at 11:09, Andrew Jaffe wrote:
Dear All,
My apologies, but I seem to have made a mistake in the distutils patch for OS X, which has unfortunately made it into the latest 1.3.2 release.
The bottom line is, I think, that we need an explicit include dir for cblas.h, rather than framework.
Thus, we really need to add the following line to cfg_packages.py: lapack_include_dirs += ['/System/Library/Frameworks/vecLib.framework/Headers'] in the block that deals with the veclib framework (around line 53)
This should be generic -- it's a symlink to the current version -- but I don't know if there's a better way to auto-generate the dir name.
Sorry for not testing thoroughly enough!
Andrew
Thanks for the new include dirs and for the original patch. They're both now in CVS. Since the default Mac OS-X non-vecLib build works fine, I'm going to wait a few weeks for 1.3.3. I have related question though: Should USE_LAPACK be the default for Mac OS-X? Is the vecLib framework is *always* there? Regards, Todd
On 22 May 2005, at 17:46, Andrew Jaffe wrote:
Hi all,
I've had some trouble getting the numarray-1.3.1 setup scripts to recognize the optimized BLAS/LAPACK, veclib, on OS X. But I think I've tracked down the problems.
First, the section of addons.py that checks for the existence of the framework (around line 47) needs to set lapack_dirs = [], I think, since it needs to exist later on.
Second, the section after that that sets lapack_compile_args, lapack_link_args and lapack_include_dirs for *all* cases (lines 57-60) overwrites lapack_link_args from the if...elif...else above.
Finally, cblas.h isn't included correctly, since the framework option is only used for linking, not compiling.
I've attached a patchfile for addons.py below; I switched the two sections and added to the framework if... clause. Use it with patch addons.py addons.patch
I hope this is a reasonable way to propagate this to the developers.
Please let me know if it doesn't work for any reason, or if it breaks any other install, which I haven't checked.
______________________________________________________________________ Andrew Jaffe Astrophysics Group Blackett Laboratory, Room 1013 Imperial College, Prince Consort Road London SW7 2AZ ENGLAND http://astro.imperial.ac.uk/~jaffe
------------------------------------------------------- This SF.Net email is sponsored by Yahoo. Introducing Yahoo! Search Developer Network - Create apps using Yahoo! Search APIs Find out how you can build Yahoo! directly into your own Applications - visit http://developer.yahoo.net/?fr=offad-ysdn-ostg-q22005 _______________________________________________ Numpy-discussion mailing list Numpy-discussion@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/numpy-discussion --
Hi Todd etc,
I have related question though: Should USE_LAPACK be the default for Mac OS-X? Is the vecLib framework is *always* there?
Regards, Todd
I think it's always there under OS X per se, but not, perhaps, under non-OS X Darwin. Does anyone out there use Darwin under those circumstances? But given the structure of the distutils, why not just check for the existence of the *framework*, in which case you know that use_lapack is appropriate? Andrew
On 22 May 2005, at 17:46, Andrew Jaffe wrote:
Hi all,
I've had some trouble getting the numarray-1.3.1 setup scripts to recognize the optimized BLAS/LAPACK, veclib, on OS X. But I think I've tracked down the problems.
First, the section of addons.py that checks for the existence of the framework (around line 47) needs to set lapack_dirs = [], I think, since it needs to exist later on.
Second, the section after that that sets lapack_compile_args, lapack_link_args and lapack_include_dirs for *all* cases (lines 57-60) overwrites lapack_link_args from the if...elif...else above.
Finally, cblas.h isn't included correctly, since the framework option is only used for linking, not compiling.
I've attached a patchfile for addons.py below; I switched the two sections and added to the framework if... clause. Use it with patch addons.py addons.patch
I hope this is a reasonable way to propagate this to the developers.
Please let me know if it doesn't work for any reason, or if it breaks any other install, which I haven't checked.
______________________________________________________________________ Andrew Jaffe Astrophysics Group Blackett Laboratory, Room 1013 Imperial College, Prince Consort Road London SW7 2AZ ENGLAND http://astro.imperial.ac.uk/~jaffe
Todd Miller <jmiller@stsci.edu> writes:
On Fri, 2005-05-27 at 11:09, Andrew Jaffe wrote:
Dear All,
My apologies, but I seem to have made a mistake in the distutils patch for OS X, which has unfortunately made it into the latest 1.3.2 release.
The bottom line is, I think, that we need an explicit include dir for cblas.h, rather than framework.
Thus, we really need to add the following line to cfg_packages.py: lapack_include_dirs += ['/System/Library/Frameworks/vecLib.framework/Headers'] in the block that deals with the veclib framework (around line 53)
This should be generic -- it's a symlink to the current version -- but I don't know if there's a better way to auto-generate the dir name.
Sorry for not testing thoroughly enough!
Andrew
Thanks for the new include dirs and for the original patch. They're both now in CVS. Since the default Mac OS-X non-vecLib build works fine, I'm going to wait a few weeks for 1.3.3.
I have related question though: Should USE_LAPACK be the default for Mac OS-X? Is the vecLib framework is *always* there?
At least for any Mac with 10.2 or higher. I've made it the default for Numeric in 24.0b2: if found, it'll be used. It looks for the framework directory (which is *always* guaranteed to be /System/Library/Frameworks/vecLib.framework). While you're looking at Numeric, you may want to look at the new separation of customization code from setup.py :-) I have zero time right now, or otherwise I'd port it to numarray. -- |>|\/|< /--------------------------------------------------------------------------\ |David M. Cooke http://arbutus.physics.mcmaster.ca/dmc/ |cookedm@physics.mcmaster.ca
participants (3)
-
Andrew Jaffe
-
cookedm@physics.mcmaster.ca
-
Todd Miller