[SciPy-user] Problems during build

Nils Wagner nwagner at carol.mecha.uni-stuttgart.de
Thu Feb 21 10:12:40 CST 2002


Pearu Peterson schrieb:
> 
> On Thu, 21 Feb 2002, Nils Wagner wrote:
> 
> > Hi Pearu,
> >
> > f77blas and cblas are in /usr/lib as well.
> >
> > wagner at lisa:~/mysoftware/scipy> ls -l /usr/lib/libcb*
> > -rw-r--r--    1 root     root       268504 Sep 24 02:51
> > /usr/lib/libcblas.a
> > wagner at lisa:~/mysoftware/scipy> ls -l /usr/lib/libf77*
> > -rw-r--r--    1 root     root       343712 Sep 24 02:51
> > /usr/lib/libf77blas.a
> > wagner at lisa:~/mysoftware/scipy>
> >
> > Is this o.k. ?
> 
> I certainly hope so ;-) You can always give a try.
> 
> > #import scipy_distutils.atlas_info
> > #scipy_distutils.atlas_info.library_path = ['/usr/lib']
> 
> If the above is the first thing in the setup.py file, then it should be
> ok (never tried that though). However note that the way how
> scipy_distutils finds system specific libraries now is going to
> be changed (hopefully to a better one). This work is inprogress and I hope
> to finish it by the end of this week.
> 
> Pearu
> 
> _______________________________________________
> SciPy-user mailing list
> SciPy-user at scipy.net
> http://www.scipy.net/mailman/listinfo/scipy-user


Attached is the current version of my setup.py.
Plese let me know if any modification is necessary.

Nils
-------------- next part --------------
#!/usr/bin/env python
#
# ??? 1
# ??? open questions -- how to get docs installed?
# ??? build every modules ref docs with happydoc and then bundle them all
# ??? into one directory?  This seems to make sense to me.
# ??? 
# ??? As far as the user-manual docs, I have no clue how we'll do this at the
# ??? moment.  I think for the beginning I'll have a canned html file built
# ??? from a Word document while we wait for the LaTeX framework to be built
# ??? 
# ??? 2
# ??? There are lines like this throughout:
# ??? 
# ???       packages.append('scipy.tests')
# ??? 
# ??? because I don't know how else to force the tests files to be installed.
# ??? I'm pretty sure I want them installed in standard distributions.
# ??? They offer examples for people to look at and proof that the installation 
# ??? at least passes the unittest smoke test.
import os,sys
from scipy_version import scipy_version
from scipy_distutils.misc_util import merge_config_dicts
from scipy_distutils.core import setup

# force g77 for now
from scipy_distutils.command import build_flib
build_flib.all_compilers = [build_flib.gnu_fortran_compiler]

# globals.  I know. I know...
parent_package = 'scipy'
#['Numerical/Include']

#import scipy_distutils.atlas_info
#scipy_distutils.atlas_info.library_path = ['/usr/lib']

build_fftw = 1

if sys.platform == 'win32':
    from scipy_distutils.mingw32_support import *
    
def get_package_config(name,parent=''):
    sys.path.insert(0,name)
    try:
        mod = __import__('setup_'+name)
        config = mod.configuration(parent)
    finally:
        del sys.path[0]    
    return config
        
def install_package():
    # 1. Install the scipy_distutils package so that this and all other setup.py 
    #    scripts can use it.
    #import scipy_distutils.setup
    #scipy_distutils.setup.install_package()
       
    from scipy_distutils.misc_util import add_local_to_path
    from scipy_distutils.misc_util import restore_path, get_path
    # add the scipy directory to the PYTHONPATH
    # needed so that f2py2e and other packages are available to sub-packages
    add_local_to_path(__name__)
    
    # make sure we're in the scipy directory when we run this
    path = get_path(__name__)
    old_path = os.getcwd()
    os.chdir(path)
    
    # Don't think I need this anymore -- added to separate_packages
    # install the testing module as a stand alone module.
    #sys.path.append('scipy_test')
    #import setup_scipy_test
    #setup_scipy_test.install_package()
    #del sys.path[0]
    
    
    from scipy_distutils.misc_util import get_path
    # make sure we're in the scipy directory when we run this
    path = get_path(__name__)
    old_path = os.getcwd()
    os.chdir(path)
    
    try:
        config = []
        import setup_scipy        
        config.append(setup_scipy.configuration())

        # standard modules        
        standard_packages = ['io','linalg','special','signal','stats',
                             'interpolate','integrate','optimize',
                             'cluster','cow','ga','weave']
        if build_fftw:
            standard_packages.append('fftw')                                 
        config.extend([get_package_config(x,parent_package)for x in standard_packages])
            
        # graphices modules
        graphics_packages = ['plt','gplt']
        config.extend([get_package_config(x,parent_package)for x in graphics_packages])
            
        # unix modules
        # only add these if we are not on windows
        unix_packages = ['xplt']
        if sys.platform != 'win32':
            config.extend([get_package_config(x,parent_package)for x in unix_packages])
                   
        # these packages aren't nested under scipy
        separate_packages = ['gui_thread','scipy_test','scipy_distutils',
                             'fastumath']
        config.extend([get_package_config(x,'')for x in separate_packages])
                               
        config_dict = merge_config_dicts(config)
        print 'SciPy Version',scipy_version
        setup (name = "SciPy",
               version = scipy_version,
               maintainer = "SciPy Developers",
               maintainer_email = "scipy-dev at scipy.org",
               description = "Scientific Algorithms Library for Python",
               url = "http://www.scipy.org",
               **config_dict
              )
    finally:    
        # restore old path
        restore_path()
        os.chdir(old_path)
        
    
if __name__ == '__main__':
    install_package()


More information about the SciPy-user mailing list