Re: Cannot build debug version of mx-base

"M.-A. Lemburg" <[email protected]>
Newsgroups gmane.comp.python.egenix.user
Organization eGenix.com Software GmbH; http://www.egenix.com/
Message-ID <[email protected]>
Phil Rooke wrote:
> "M.-A. Lemburg" <[email protected]> writes:
> 
>> I guess something is broken in Apple's tar.
> 
> Thanks for the quick reply.  Taking your hint I tried again but starting
> with the .zip rather than the .tar.gz download and that has worked
> perfectly from what I can see - the install worked and running my script
> has produced 2 mx* log files.
> 
> For the record, on Mac OS X 10.5.8 with:
> 
> [egenix-mx-base-3.1.2] $ which tar
> /usr/bin/tar
> [egenix-mx-base-3.1.2] $ tar --version
> tar (GNU tar) 1.15.1
> 
> did not work.  The .zip archive seems fine.
> 
> Thanks again for your help.

Further investigation has revealed the real cause of the problem
(I think):

This is not related to tar or zip, it's related to running the
setup.py script twice within the same extracted source archive.

The first time runs through fine, the second time you get the
error. This appears to be related to the build pickle that we
use to save build information between runs:

First run (without error):

running mx_autoconf
checking for availability of strptime()
gcc -fno-strict-aliasing -g -O3 -Wall -Wstrict-prototypes -D_GNU_SOURCE=1
-I/usr/local/python-2.6-ucs2/include -c _configtest.c -o _configtest.o
gcc _configtest.o -L/usr/local/python-2.6-ucs2/lib -o _configtest
success!
removing: _configtest.c _configtest.o _configtest
checking compiler for bad static forward handling
gcc -fno-strict-aliasing -g -O3 -Wall -Wstrict-prototypes -D_GNU_SOURCE=1
-I/usr/local/python-2.6-ucs2/include/python2.6 -I/usr/local/python-2.6-ucs2/include -c _configtest.c
-o _configtest.o
success!
removing: _configtest.c _configtest.o
enabling mx debug support
macros to define: [('HAVE_STRPTIME', '1'), ('MAL_DEBUG', None)]
macros to undefine: []
no build data file 'build/build-py2.6_ucs2.pck' found

Second run (with error and using the build pickle created by the
first run):

running mx_autoconf
checking for availability of strptime()
gcc -fno-strict-aliasing -g -O3 -Wall -Wstrict-prototypes -D_GNU_SOURCE=1
-I/usr/local/python-2.6-ucs2/include -c _configtest.c -o _configtest.o
gcc _configtest.o -L/usr/local/python-2.6-ucs2/lib -o _configtest
success!
removing: _configtest.c _configtest.o _configtest
checking compiler for bad static forward handling
gcc -fno-strict-aliasing -g -O3 -Wall -Wstrict-prototypes -D_GNU_SOURCE=1
-I/usr/local/python-2.6-ucs2/include/python2.6 -I/usr/local/python-2.6-ucs2/include -c _configtest.c
-o _configtest.o
success!
removing: _configtest.c _configtest.o
enabling mx debug support
macros to define: [('HAVE_STRPTIME', '1'), ('MAL_DEBUG', None)]
macros to undefine: []
found usable build data file 'build/build-py2.6_ucs2.pck'
skipping the build process and reusing the existing build files and data
setting platform to 'macosx-10.5-i386'
restoring build data from a previous build run
Traceback (most recent call last):
  File "setup.py", line 16, in <module>
    mxSetup.run_setup(configurations)
  File "/Users/lemburg/tmp/egenix-mx-base-3.1.2/mxSetup.py", line 3505, in run_setup
    apply(setup, (), kws)
  File "/usr/local/python-2.6-ucs2/lib/python2.6/distutils/core.py", line 152, in setup
    dist.run_commands()
  File "/usr/local/python-2.6-ucs2/lib/python2.6/distutils/dist.py", line 975, in run_commands
    self.run_command(cmd)
  File "/usr/local/python-2.6-ucs2/lib/python2.6/distutils/dist.py", line 995, in run_command
    cmd_obj.run()
  File "/Users/lemburg/tmp/egenix-mx-base-3.1.2/mxSetup.py", line 937, in run
    build_ext.ensure_finalized()
  File "/usr/local/python-2.6-ucs2/lib/python2.6/distutils/cmd.py", line 117, in ensure_finalized
    self.finalize_options()
  File "/Users/lemburg/tmp/egenix-mx-base-3.1.2/mxSetup.py", line 1702, in finalize_options
    build_ext.finalize_options(self)
  File "/usr/local/python-2.6-ucs2/lib/python2.6/distutils/command/build_ext.py", line 254, in
finalize_options
    defines = self.define.split(',')
AttributeError: 'list' object has no attribute 'split'

FWIW, this appears to be fixed in a later version of mxSetup.py which is
included in the latest snapshot of egenix-mx-base:

http://downloads.egenix.com/python/egenix-mx-base-3.2.0_20091006.zip

-- 
Marc-Andre Lemburg
eGenix.com

Professional Python Services directly from the Source  (#1, Nov 30 2009)
>>> Python/Zope Consulting and Support ...        http://www.egenix.com/
>>> mxODBC.Zope.Database.Adapter ...             http://zope.egenix.com/
>>> mxODBC, mxDateTime, mxTextTools ...        http://python.egenix.com/
________________________________________________________________________

::: Try our new mxODBC.Connect Python Database Interface for free ! ::::


   eGenix.com Software, Skills and Services GmbH  Pastor-Loeh-Str.48
    D-40764 Langenfeld, Germany. CEO Dipl.-Math. Marc-Andre Lemburg
           Registered at Amtsgericht Duesseldorf: HRB 46611
               http://www.egenix.com/company/contact/


_______________________________________________________________________
eGenix.com User Mailing List                     http://www.egenix.com/
https://www.egenix.com/mailman/listinfo/egenix-users
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.