Hi all, I am using scipy-0.5.1 and numpy-1.0 on Mac OS X 10.4.8 (MacBook Pro late 2006) built with fink. I have code (I'm developing for the PyDSTool project) which uses numpy.distutils to build a .so file which is then loaded into python. When only C compilers are needed, everything runs as I expect, but when I need to build with fortran compilers (g95 in this case; there is no g77 built for the Intel macs yet), I get sent to interactive mode:
======================================================================== Starting interactive session ------------------------------------------------------------------------ Tasks: i - Show python/platform/machine information ie - Show environment information c - Show C compilers information c<name> - Set C compiler (current:None) f - Show Fortran compilers information f<name> - Set Fortran compiler (current:None) e - Edit proposed sys.argv[1:]. Task aliases: 0 - Configure 1 - Build 2 - Install 2<prefix> - Install with prefix. 3 - Inplace build 4 - Source distribution 5 - Binary distribution Proposed sys.argv = ['SLIP_2D_pdc.py'] Choose a task (^D to quit, Enter to continue with setup): I can just hit enter and things run as I like them to, more or less: ------------------------------------------------------------------------ customize AbsoftFCompiler customize IbmFCompiler Could not locate executable g77 Could not locate executable f77 Could not locate executable gfortran Could not locate executable f95 customize GnuFCompiler customize Gnu95FCompiler customize G95FCompiler customize G95FCompiler customize G95FCompiler using build_clib building 'radau5' library compiling Fortran sources Fortran f77 compiler: g95 -ffixed-form -fno-second-underscore -O3 - funroll-loops Fortran f90 compiler: g95 -fno-second-underscore -O3 -funroll-loops Fortran fix compiler: g95 -ffixed-form -fno-second-underscore -O3 - funroll-loops creating /Users/sherwood/Apps/PyDSTool/tests/radau5_temp/Users creating /Users/sherwood/Apps/PyDSTool/tests/radau5_temp/Users/sherwood creating /Users/sherwood/Apps/PyDSTool/tests/radau5_temp/Users/ sherwood/Apps creating /Users/sherwood/Apps/PyDSTool/tests/radau5_temp/Users/ sherwood/Apps/PyDSTool creating /Users/sherwood/Apps/PyDSTool/tests/radau5_temp/Users/ sherwood/Apps/PyDSTool/integrator compile options: '-c' g95:f77: /Users/sherwood/Apps/PyDSTool/integrator/radau5.f .... The code that uses distutils looks like this (radau5 refers to the fortran code I'm compiling): if not (all([os.path.isfile(os.path.join(self._compilation_tempdir, sf)) for sf in ['radau5'+self._vf_filename_ext +'_wrap.o', 'lib_radau5'+self._vf_filename_ext +'.a', 'radau5'+self._vf_filename_ext +'.py', '_radau5'+self._vf_filename_ext +'.def']])): modfilelist = [swigfile] else: modfilelist = [] modfilelist.extend([radwrapfile, vffile, integfile, eventfile, interfacefile, memfile]) modfilelist.extend(libsources) fortfilelist=[radfile, lapackcfile, dc_lapackfile, lapackfile] # would like temp dir to be '/' but scipy_distutils cannot build the # radau library in that configuration (unlike Dopri's identical use of # regular python distutils, which cannot deal with Fortran sources). script_args = ['-q', 'build', '--build-lib='+os.getcwd(), '-t'+self._compilation_tempdir, '--build-base='+self._compilation_tempdir, '--build-platlib='+os.getcwd(), '--build- purelib='+os.getcwd()] if self._compiler != '': script_args.append('-c'+str(self._compiler)) # include directories for libraries narraydir = npy.get_numarray_include() npydir = npy.get_include() incdirs = [npydir, narraydir, os.getcwd(), self._compilation_tempdir, self._compilation_sourcedir] incdirs.extend(libdirs) radlibdirs = [self._compilation_sourcedir, self._compilation_tempdir, os.getcwd()] # Use distutils to perform the compilation of the selected files try: distobject = setup(name = "Radau5 integrator", author = "PyDSTool (automatically generated)", script_args = script_args, ext_modules = [Extension ("_radau5"+self._vf_filename_ext, sources=modfilelist, include_dirs=incdirs, library_dirs=radlibdirs+['./'], libraries=['radau5'], extra_compile_args=['-w', '- D__RADAU__'], extra_link_args=['-w'])], libraries=[('radau5',{'sources': fortfilelist, 'library_dirs': radlibdirs+['./']})]) I would like to be able to skip the interactive mode -- how should I invoke distutils to skip all of the interaction and go straight to compilation? Thanks, Erik Sherwood Center for Applied Mathematics | Phone: (607) 255-4195 657 Rhodes Hall | Fax: (607) 255-9860 Cornell University | Email: [EMAIL PROTECTED] Ithaca, NY 14853 | Web: http://www.cam.cornell.edu/~sherwood _______________________________________________ Numpy-discussion mailing list Numpy-discussion@scipy.org http://projects.scipy.org/mailman/listinfo/numpy-discussion