[SciPy-user] Problems building SciPy-0.3 on OS X

Robert Kern rkern at ucsd.edu
Tue Aug 10 15:03:51 CDT 2004


Tom Loredo wrote:
> Hi Pearu-
> 
> Thanks for the help.
> 
> 
>>Hmm, the segfault appears while executing pure Python code. 
> 
> 
> Yes.  By the admittedly crude approach of inserting lots of print
> statements, I've determined that it happens in "all_subroutines" in
> Lib/linalg/interface_gen.py:
> 
> 	def all_subroutines(interface_in):
> 		# remove comments
> 		comment_block_exp = re.compile(r'/\*(?:\s|.)*?\*/')
> 		subroutine_exp = re.compile(r'subroutine (?:\s|.)*?end subroutine.*')
> 		function_exp = re.compile(r'function (?:\s|.)*?end function.*')
> 		print '***** Compiled regexps...'
> 		
> 		print '***** stripping comments...'
> 		interface = comment_block_exp.sub('',interface_in)
> 		print '***** finding subrs...'
> 		print interface
> 		subroutine_list = subroutine_exp.findall(interface)
> 		print '***** finding functions...'
> 		function_list = function_exp.findall(interface)
> 		print '***** concatenating...'
> 		subroutine_list = subroutine_list + function_list 
> 		print '***** stripping...'
> 		subroutine_list = map(lambda x: string.strip(x),subroutine_list)
> 		return subroutine_list
> 
> The fault occurs while finding the subroutines via "subroutine_exp.findall(interface)".
> I've printed out "interface" (too long to post here) and there is nothing obvious
> wrong with it, but I don't really know what to expect.  In years of using Python,
> this is the first segfault I've seen running a builtin or library module!

If it's the regexp segfaulting, then it may just be an issue with 
MacPython 2.3.3 on Jaguar. I've never seen this problem with Apple's 
Python 2.3 on Panther.

If you are using the same version of ATLAS on your Linux installations 
as your Macs? In that case, the *.pyf files in build/src/scipy/linalg 
ought to be the same, and you can just copy them over to the same location.

Alternately, fink's python may work if you don't need to talk to the 
window server. Or upgrade to Panther. Or downgrade MacPython.

>>Also, I'd suggest using CVS version of scipy 
> 
> 
> Yes, I was afraid you'd suggest this.  I'm developing a public package, and
> a frequent comment from potential users is that they don't want to have to
> deal with CVS---they would ideally just want an RPM, though I think they'll
> live with a setup.py.  The CVS barrier is admittedly small in scipy's case,
> but every barrier cuts off another layer of possible users.  The latest
> "official" build really should build on all the major platforms.

Yeah, Mac support is marginal. I'm the only person at Enthought who 
develops on a Mac, and I'm only here for the summer. However, I will 
commit to making a SciPy.pkg sometime in the future. I will not commit 
myself to a timeframe right now, but I will do it unless someone beats 
me. I probably won't support Jaguar, however.

[snip]

> Is the earlier error (AttributeError: 'NoneType' object has no attribute 'rfind')
> perhaps a clue I'm overlooking (i.e., something is not getting set up on that
> first build attempt, and is getting overlooked on the 2nd attempt)?

I doubt it.

> Help!
> 
> -Tom

-- 
Robert Kern
rkern at ucsd.edu

"In the fields of hell where the grass grows high
  Are the graves of dreams allowed to die."
   -- Richard Harter



More information about the SciPy-user mailing list