This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

classification
Title: build_clib --build-clib/--build-temp option bugs
Type: Stage: resolved
Components: Distutils, Distutils2 Versions: Python 3.1, Python 3.2, Python 2.7
process
Status: closed Resolution: fixed
Dependencies: Superseder:
Assigned To: tarek Nosy List: amaury.forgeotdarc, eric.araujo, pearu, tarek
Priority: normal Keywords: patch

Created on 2007-05-14 12:08 by pearu, last changed 2022-04-11 14:56 by admin. This issue is now closed.

Messages (7)
msg32004 - (view) Author: Pearu Peterson (pearu) Date: 2007-05-14 12:08
build_clib --build-clib and --build-temp options
do not take arguments in Python 2.5 (as well as in 
versions 2.4 and down (I guess)).

This bug has easy fix: in distutils/commands/build_clib.py
file add `=' to the definitions of the
corresponding options as follows:
...
    user_options = [
        ('build-clib=', 'b',
         "directory to build C/C++ libraries to"),
        ('build-temp=', 't',
...
msg81412 - (view) Author: Tarek Ziadé (tarek) * (Python committer) Date: 2009-02-08 19:41
can you provide an example and/or a traceback of the problem ?
msg81414 - (view) Author: Pearu Peterson (pearu) Date: 2009-02-08 20:05
Consider a trivial setup file:

from distutils.core import setup
setup()

Here is an example traceback (the second command
illustrates the bug):

$ python setup.py build --build-temp=/tmp
running build
$ python setup.py build_clib --build-temp=/tmp
usage: setup.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
   or: setup.py --help [cmd1 cmd2 ...]
   or: setup.py --help-commands
   or: setup.py cmd --help

error: option --build-temp must not have an argument
msg108691 - (view) Author: Pearu Peterson (pearu) Date: 2010-06-26 08:10
I wonder why this issue is not fixed already.
The fix would be trivial (add two `=`)
and the bug is due to a simple typo (the current
behavior is conflicting with the documentation
and options intentions, see `setup.py build_clib --help`).
msg111190 - (view) Author: Amaury Forgeot d'Arc (amaury.forgeotdarc) * (Python committer) Date: 2010-07-22 16:55
Confirmed here:
"python setup.py build_clib -b/some/dir" returns
"error: option -/ not recognized"

All other files (build_ext.py, clean.py) have a '=' after these options names. Patch is inlined:

Index: Lib/distutils/command/build_clib.py
===================================================================
--- Lib/distutils/command/build_clib.py (révision 82925)
+++ Lib/distutils/command/build_clib.py (copie de travail)
@@ -32,9 +32,9 @@
     description = "build C/C++ libraries used by Python extensions"

     user_options = [
-        ('build-clib', 'b',
+        ('build-clib=', 'b',
          "directory to build C/C++ libraries to"),
-        ('build-temp', 't',
+        ('build-temp=', 't',
          "directory to put temporary build by-products"),
         ('debug', 'g',
          "compile with debugging information"),
msg111191 - (view) Author: Éric Araujo (eric.araujo) * (Python committer) Date: 2010-07-22 17:05
Thanks for the report. It is indeed a stupid typo. Can someone produce a patch against current py3k?

Confirmed in distutils2 too, I can fix it there.
msg115813 - (view) Author: Éric Araujo (eric.araujo) * (Python committer) Date: 2010-09-07 22:28
The bug has been present since the addition of those options in 2000. It is now fixed in py3k (r84608), 3.1 (r84609), 2.7 (r84610) and distutils2 (374a277616d8). Thanks!
History
Date User Action Args
2022-04-11 14:56:24adminsetgithub: 44952
2010-09-07 22:28:25eric.araujosetstatus: open -> closed
versions: + Python 3.1, Python 3.2
messages: + msg115813

resolution: accepted -> fixed
stage: patch review -> resolved
2010-07-22 17:05:36eric.araujosetnosy: + eric.araujo
messages: + msg111191

components: + Distutils2
resolution: accepted
2010-07-22 16:55:55amaury.forgeotdarcsetnosy: + amaury.forgeotdarc
messages: + msg111190

keywords: + patch
stage: patch review
2010-06-26 08:10:34pearusetmessages: + msg108691
2010-06-26 00:26:08terry.reedysetversions: + Python 2.7, - Python 2.5
2009-02-08 20:05:55pearusetmessages: + msg81414
2009-02-08 19:41:05tareksetassignee: tarek
messages: + msg81412
2009-02-08 19:25:05akitadasetnosy: + tarek
2007-05-14 12:08:19pearucreate