For the record, I would like to confess that I've now figured the problem out, and it was indeed a wonky environment variable: $PATH! Years ago when I started using sage, I just added the sage root directory to my path, and I've been doing it ever since. I now realize that is a bad idea.
The configure script for pycrypto was getting confused and calling the configure script in my sage root directory because it was findable from the $PATH. This caused all manner of misconfiguration. I'm a little shocked that somehow I've avoided a problem like this up until now. Anyway, I've learned a lesson and I'm posting this in case anyone else makes the same mistake. thanks, Niles p.s. If you'd like to know, future Googler, here are the details of what I learned, and what I think happened: 0. I tried downloading and building pycrypto separately, independently of sage, and had a similar problem during the configuration stage. So I dove into configure. 1. The configure script seems to execute itself several times, and so needs to know what command was used to run it. It does this early on, and stores this in the variable $as_myself. 2. If I'm understanding correctly, when configure is executed with a directory separator in the command name (as in ./configure), it uses that command ($0), but if not it tries to figure out what command to run by searching the $PATH: https://github.com/dlitz/pycrypto/blob/master/configure#L5470 So if there is some other configure script in $PATH, then it will find and execute that script! 3. pycrypto is configured and built from a python script, setup.py. Line 307 there sets the configure command as "sh configure": https://github.com/dlitz/pycrypto/blob/master/setup.py#L307 which causes $PATH to be searched. Only if no configure is found in the $PATH does configure give up and default back to $0 (and therefore finish configuring correctly). 4. Googling indicates that (1) and (2) are entirely standard parts of many many configure scripts (maybe all of them). On the other hand, line 307 of setup.py seems special to pycrypto. Maybe line 307 is part of the "Modifications" that they mention at the beginning of that file. Google didn't find other files containing the comment about mingw32 that appears on that line. -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/groups/opt_out.
