[SciPy-user] weave issue NEVER MIND

Chris Fonnesbeck fonnesbeck at gmail.com
Thu Dec 15 11:20:11 EST 2005


I'm an idiot. Sorry.

On 12/15/05, Chris Fonnesbeck <fonnesbeck at gmail.com> wrote:
> I am trying to use weave inline to help me calculate the gamma function:
>
> def gamma_function(xx):
>
>     # Returns the value ln[gamma(xx)] for xx > 0
>     gammln = """
>             # Line 10 "likelihood_plots.py"
>             double x,y,tmp,ser;
>             static double cof[6]={76.18009172947146,-86.50532032941677,
>                 24.01409824083091,-1.231739572450155,
>                 0.1208650973866179e-2,-0.5395239384953e-5};
>             int j;
>             y=x=xx;
>             tmp=x+5.5;
>             tmp -= (x+0.5)*log(tmp);
>             ser=1.000000000190015;
>             for (j=0;j<=5;j++) ser += cof[j]/++y;
>             return_val = -tmp+log(2.5066282746310005*ser/x);
>     """
>
>     return weave.inline(gammln,['xx'],headers=['math.h'],compiler='gcc')
>
> As far as I can tell this looks valid. However, it fails:
>
> <weave: compiling>
> /Users/chris/.python24_compiled/sc_2ced629c1dae7b8a8d767dfb199392380.cpp:17:10:
> #include expects "FILENAME" or <FILENAME>
> /Users/chris/.python24_compiled/sc_2ced629c1dae7b8a8d767dfb199392380.cpp:660:23:
> invalid preprocessing directive #Line
> /Users/chris/.python24_compiled/sc_2ced629c1dae7b8a8d767dfb199392380.cpp:17:10:
> #include expects "FILENAME" or <FILENAME>
> /Users/chris/.python24_compiled/sc_2ced629c1dae7b8a8d767dfb199392380.cpp:660:23:
> invalid preprocessing directive #Line
> ---------------------------------------------------------------------------
> scipy.weave.build_tools.CompileError
> Traceback (most recent call last)
>
> /Users/chris/<console>
>
> /Users/chris/likelihood_plots.py in gamma_function(xx=4.0)
>      22     """
>      23
> ---> 24     return weave.inline(gammln,['xx'],headers=['math.h'],compiler='gcc')
>         global weave.inline = <function inline at 0x26aec30>
>         gammln = ' \n            # Line 10 "likelihood_plots.py"\n
>        double x,y,tmp,ser; \n            static double
> cof[6]={76.18009172947146,-86.50532032941677, \n
> 24.01409824083091,-1.231739572450155, \n
> 0.1208650973866179e-2,-0.5395239384953e-5}; \n            int j; \n
>         y=x=xx; \n            tmp=x+5.5; \n            tmp -=
> (x+0.5)*log(tmp); \n            ser=1.000000000190015; \n
> for (j=0;j<=5;j++) ser += cof[j]/++y; \n            return_val =
> -tmp+log(2.5066282746310005*ser/x); \n    '
>         global headers = undefined
>         global compiler = undefined
>      25
>      26 def factln(x):
>
> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/scipy/weave/inline_tools.py
> in inline(code=' \n            # Line 10 "likelihood_plots.py"\n
> ...n_val = -tmp+log(2.5066282746310005*ser/x); \n    ',
> arg_names=['xx'], local_dict={'__builtins__': {'ArithmeticError':
> <class exceptions.ArithmeticError at 0x7ba0>, 'AssertionError': <class
> exceptions.AssertionError at 0x7ab0>, 'AttributeError': <class
> exceptions.AttributeError at 0x7960>, 'DeprecationWarning': <class
> exceptions.DeprecationWarning at 0x1e120>, 'EOFError': <class
> exceptions.EOFError at 0x7750>, 'Ellipsis': Ellipsis,
> 'EnvironmentError': <class exceptions.EnvironmentError at 0x7630>,
> 'Exception': <class exceptions.Exception at 0x7480>, 'False': False,
> 'FloatingPointError': <class exceptions.FloatingPointError at 0x7cc0>,
> ...}, 'gammln': ' \n            # Line 10 "likelihood_plots.py"\n
> ...n_val = -tmp+log(2.5066282746310005*ser/x); \n    ', 'xx': 4.0},
> global_dict={'ArrayType': <type 'scipy.ndarray'>, 'Character': 'S1',
> 'Complex': 'D', 'Complex0': 'D', 'Complex128': 'G', 'Complex32': 'F',
> 'Complex64': 'D', 'ERR_CALL': 3, 'ERR_DEFAULT': 0, 'ERR_IGNORE': 0,
> ...}, force=0, compiler='gcc', verbose=0, support_code=None,
> headers=['math.h'], customize=None, type_converters=None,
> auto_downcast=1, **kw={})
>     332                                     customize=customize,
>     333                                     type_converters = type_converters,
> --> 334                                     auto_downcast = auto_downcast,
>         auto_downcast = 1
>     335                                     **kw)
>     336
>
> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/scipy/weave/inline_tools.py
> in compile_function(code=' \n            # Line 10
> "likelihood_plots.py"\n  ...n_val =
> -tmp+log(2.5066282746310005*ser/x); \n    ', arg_names=['xx'],
> local_dict={'__builtins__': {'ArithmeticError': <class
> exceptions.ArithmeticError at 0x7ba0>, 'AssertionError': <class
> exceptions.AssertionError at 0x7ab0>, 'AttributeError': <class
> exceptions.AttributeError at 0x7960>, 'DeprecationWarning': <class
> exceptions.DeprecationWarning at 0x1e120>, 'EOFError': <class
> exceptions.EOFError at 0x7750>, 'Ellipsis': Ellipsis,
> 'EnvironmentError': <class exceptions.EnvironmentError at 0x7630>,
> 'Exception': <class exceptions.Exception at 0x7480>, 'False': False,
> 'FloatingPointError': <class exceptions.FloatingPointError at 0x7cc0>,
> ...}, 'gammln': ' \n            # Line 10 "likelihood_plots.py"\n
> ...n_val = -tmp+log(2.5066282746310005*ser/x); \n    ', 'xx': 4.0},
> global_dict={'ArrayType': <type 'scipy.ndarray'>, 'Character': 'S1',
> 'Complex': 'D', 'Complex0': 'D', 'Complex128': 'G', 'Complex32': 'F',
> 'Complex64': 'D', 'ERR_CALL': 3, 'ERR_DEFAULT': 0, 'ERR_IGNORE': 0,
> ...}, module_dir='likelihood_plots.py', compiler='gcc', verbose=0,
> support_code=None, headers=['math.h'], customize=None,
> type_converters=None, auto_downcast=1, **kw={})
>     440     # setting.  All input keywords are passed through to distutils
>     441     mod.compile(location=storage_dir,compiler=compiler,
> --> 442                 verbose=verbose, **kw)
>         verbose = 0
>         kw = {}
>     443
>     444     # import the module and return the function.  Make sure
>
> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/scipy/weave/ext_tools.py
> in compile(self=<scipy.weave.inline_tools.inline_ext_module instance
> at 0x4610260>, location='/Users/chris/.python24_compiled',
> compiler='gcc', verbose=0, **kw={'define_macros': [],
> 'extra_compile_args': [], 'extra_link_args': [], 'include_dirs':
> ['/Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/scipy/weave',
> '/Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/scipy/weave/scxx'],
> 'libraries': [], 'library_dirs': [], 'sources':
> ['/Library/Frameworks/Python.framework/Versions/2....n2.4/site-packages/scipy/weave/scxx/weave_imp.cpp']})
>     351         success = build_tools.build_extension(file, temp_dir = temp,
>     352                                               compiler_name = compiler,
> --> 353                                               verbose = verbose, **kw)
>         verbose = 0
>         kw = {'extra_link_args': [], 'define_macros': [], 'libraries':
> [], 'sources': ['/Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/scipy/weave/scxx/weave_imp.cpp'],
> 'extra_compile_args': [], 'library_dirs': [], 'include_dirs':
> ['/Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/scipy/weave',
> '/Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/scipy/weave/scxx']}
>     354         if not success:
>     355             raise SystemError, 'Compilation failed'
>
> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/scipy/weave/build_tools.py
> in build_extension(module_path='/Users/chris/.python24_compiled/sc_2ced629c1dae7b8a8d767dfb199392380.cpp',
> compiler_name='unix', build_dir='/Users/chris/.python24_compiled',
> temp_dir='/tmp/chris/python24_intermediate/compiler_d8b3562b82bb4cfa4fea7b37ec5ea6ce',
> verbose=0, **kw={'define_macros': [], 'extra_compile_args': [],
> 'extra_link_args': [], 'include_dirs':
> ['/Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/scipy/weave',
> '/Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/scipy/weave/scxx'],
> 'libraries': [], 'library_dirs': [], 'sources':
> ['/Library/Frameworks/Python.framework/Versions/2....n2.4/site-packages/scipy/weave/scxx/weave_imp.cpp']})
>     272         environ = copy.deepcopy(os.environ)
>     273         try:
> --> 274             setup(name = module_name, ext_modules = [ext],verbose=verb)
>         setup = <function setup at 0x2932530>
>         global name = undefined
>         module_name = 'sc_2ced629c1dae7b8a8d767dfb199392380'
>         global ext_modules = undefined
>         ext = <scipy.distutils.extension.Extension instance at 0x4620b48>
>         verbose = 0
>         verb = 0
>     275         finally:
>     276             # restore state
>
> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/scipy/distutils/core.py
> in setup(**attr={'ext_modules': [<scipy.distutils.extension.Extension
> instance at 0x4620b48>], 'name':
> 'sc_2ced629c1dae7b8a8d767dfb199392380', 'verbose': 0})
>      91         new_attr['data_files'] = new_data_files
>      92
> ---> 93     return old_setup(**new_attr)
>         global old_setup = <function setup at 0x28a37b0>
>         new_attr = {'cmdclass': {'bdist_rpm': <class
> scipy.distutils.command.bdist_rpm.bdist_rpm at 0x292fc00>, 'sdist':
> <class scipy.distutils.command.sdist.sdist at 0x29182d0>, 'build_src':
> <class scipy.distutils.command.build_src.build_src at 0x290ef00>,
> 'config_fc': <class scipy.distutils.command.config_compiler.config_fc
> at 0x28fe360>, 'build_clib': <class
> scipy.distutils.command.build_clib.build_clib at 0x28fea50>,
> 'build_scripts': <class
> scipy.distutils.command.build_scripts.build_scripts at 0x290ef60>,
> 'build_ext': <class scipy.distutils.command.build_ext.build_ext at
> 0x28fe690>, 'develop': <class setuptools.command.develop.develop at
> 0x292fed0>, 'build_py': <class
> scipy.distutils.command.build_py.build_py at 0x28fe330>,
> 'install_data': <class
> scipy.distutils.command.install_data.install_data at 0x29186f0>,
> 'egg_info': <class setuptools.command.egg_info.egg_info at 0x2b2a8a0>,
> 'install_headers': <class
> scipy.distutils.command.install_headers.install_headers at 0x292f6f0>,
> 'easy_install': <class setuptools.command.easy_install.easy_install at
> 0x295ec90>, 'bdist_egg': <class setuptools.command.bdist_egg.bdist_egg
> at 0x28dffc0>, 'install': <class
> scipy.distutils.command.install.install at 0x292f720>, 'config':
> <class scipy.distutils.command.config.config at 0x28f7f90>, 'build':
> <class scipy.distutils.command.build.build at 0x28fe240>}, 'headers':
> [], 'ext_modules': [<scipy.distutils.extension.Extension instance at
> 0x4620b48>], 'name': 'sc_2ced629c1dae7b8a8d767dfb199392380',
> 'verbose': 0}
>      94
>      95 def _check_append_library(libraries, item):
>
> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/distutils/core.py
> in setup(**attrs={'cmdclass': {'bdist_egg': <class
> setuptools.command.bdist_egg.bdist_egg at 0x28dffc0>, 'bdist_rpm':
> <class scipy.distutils.command.bdist_rpm.bdist_rpm at 0x292fc00>,
> 'build': <class scipy.distutils.command.build.build at 0x28fe240>,
> 'build_clib': <class scipy.distutils.command.build_clib.build_clib at
> 0x28fea50>, 'build_ext': <class
> scipy.distutils.command.build_ext.build_ext at 0x28fe690>, 'build_py':
> <class scipy.distutils.command.build_py.build_py at 0x28fe330>,
> 'build_scripts': <class
> scipy.distutils.command.build_scripts.build_scripts at 0x290ef60>,
> 'build_src': <class scipy.distutils.command.build_src.build_src at
> 0x290ef00>, 'config': <class scipy.distutils.command.config.config at
> 0x28f7f90>, 'config_fc': <class
> scipy.distutils.command.config_compiler.config_fc at 0x28fe360>, ...},
> 'ext_modules': [<scipy.distutils.extension.Extension instance at
> 0x4620b48>], 'headers': [], 'name':
> 'sc_2ced629c1dae7b8a8d767dfb199392380', 'script_args': ['build_ext',
> '--compiler=unix', '--build-lib', '/Users/chris/.python24_compiled',
> '--build-temp',
> '/tmp/chris/python24_intermediate/compiler_d8b3562b82bb4cfa4fea7b37ec5ea6ce'],
> 'script_name': '', 'verbose': 0})
>     164                 raise
>     165             else:
> --> 166                 raise SystemExit, "error: " + str(msg)
>         global SystemExit = undefined
>         global str = undefined
>         msg = <distutils.errors.CompileError instance at 0x4625058>
>     167
>     168     return dist
>
> CompileError: error: Command "c++ -fno-strict-aliasing
> -Wno-long-double -no-cpp-precomp -mno-fused-madd -fPIC -fno-common
> -dynamic -DNDEBUG -g -O3 -Wstrict-prototypes
> -I/Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/scipy/weave
> -I/Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/scipy/weave/scxx
> -I/Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/scipy/base/include
> -I/Library/Frameworks/Python.framework/Versions/2.4/include/python2.4
> -c /Users/chris/.python24_compiled/sc_2ced629c1dae7b8a8d767dfb199392380.cpp
> -o /tmp/chris/python24_intermediate/compiler_d8b3562b82bb4cfa4fea7b37ec5ea6ce/Users/chris/.python24_compiled/sc_2ced629c1dae7b8a8d767dfb199392380.o"
> failed with exit status 1
>
>
> --
> Chris Fonnesbeck
> Atlanta, GA
>


--
Chris Fonnesbeck
Atlanta, GA




More information about the SciPy-User mailing list