If you run the configure wrapper script in a context where the $PYTHON environment variable is unset, you get something like the following output: running ../configure.py --ignore-unknown-flags '--enable-shell' ../configure: line 46: : command not found This output is surprising, especially to a user who has successfully run the "../configure.py" script directly, and who does not notice that there are two (space separated) colons above, and thus does not understand why the script is having trouble. Inspection of lines 44-46 reveals the problem: echo "running $PYTHON $0.py --ignore-unknown-flags $args" eval "'$PYTHON' '$0.py' --ignore-unknown-flags $args" So, when $PYTHON is unset, the "running ..." output above makes it seem like the wrapper script will attempt to run configure.py directly, but instead it is attempting to run a command denoted by the empty string (which of course does not exist). The configure script should be updated to either, 1. first check if the PYTHON environment variable is set, and die loudly if it is not, or 2. run configure.py directly when the PYTHON environment variable is not set, or 3. infer that if the PYTHON environment variable is not set, then it should use the command "python" and let the system PATH variable determine where that is.
Assignee: nobody → jsudduth
Priority: -- → P4
Target Milestone: --- → flash10.2
adding email thread: From: James Sudduth Sent: Monday, April 19, 2010 8:05 PM To: Brent Baker; Trevor Baker; Christopher Peyer; Felix Klock II Subject: Fixing (or not) Bug 558771 Bug 558771: “configure (shell script) dies if $PYTHON unset”. Note this is NOT configure.py but a shell script that sits next to it and is set up to run configure.py with some default args. I was going to send out these questions to the whole group, but after looking through the comments attached to the configure shell script ( http://hg.mozilla.org/tamarin-redux/log/02532742ac3a/configure ) I thought I’d run them by you guys first. Please take a look at the history, not just the diffs. It appears that this script is used by the actionmonkey build but doesn’t actually relate to our builds(?) I have a fix for the bug and was testing it when I realized: 1. $PYTHON isn't a standard python variable according to my research. 2. Checking some (but not all) of our build machines, none of them had PYTHON set (I checked 3 win, 2 Mac and 2 Linux boxes). 3. Our docs say to run configure.py, not the shell script. Is there some reason we need to fix this even though we don’t appear to be using the shell script or the PYTHON environment variable? Felix: what context or workflow were you running this script in that prompted you to write the bug? Thanks, Jim From: Brent Baker Sent: Tuesday, April 20, 2010 6:35 AM To: James Sudduth; Trevor Baker; Christopher Peyer; Felix Klock II Subject: RE: Fixing (or not) Bug 558771 1) NONE of the build systems that we use ever call the configure shell script, they ALWAYS call the configure.py script. 2) I believe that the Mozilla build documentation also only discusses the configure.py script a. https://developer.mozilla.org/En/Tamarin/Tamarin_Build_Documentation 3) The build system does NOT use PYTHON env variable 4) I think that this file should be removed from the repo as it is not documented and not used by anybody and seems like a completely unnecessary file
> Felix: what context or workflow were you running this script in that prompted > you to write the bug? I was running the configure shell script directly; the presence of the file made me think it "would just work", in much the manner that one uses "configure; make" to build other software on UNIX systems. Not much of a workflow, but it is a common pattern that has been built into my fingers to some degree. I support Brent's suggestion (4) of just killing the file. It was the presence of the file that I found confusing; I do not actually need to have it at all. I suppose I could have made "delete the configure script" option (0) along with the other 3 suggestions I wrote on the end of the ticket.
Created attachment 440559 [details] [diff] [review] Remove the configure shell script. The configure shell script isn't used by the build system so the consensus of opinion is to remove it.
Attachment #440559 - Flags: review?(brbaker)
Pushed to redux: http://hg.mozilla.org/tamarin-redux/rev/f59f748dbab0
Status: NEW → RESOLVED
Last Resolved: 8 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.