[AstroPy] pywcs 1.10-4.7 install failure on Microsoft Windows
Michael Droettboom
mdroe at stsci.edu
Thu Jan 5 13:06:18 EST 2012
Ok. I've made a new pywcs release with these changes (among many
others). You may want to update to it if possible.
Mike
On 01/04/2012 08:20 PM, Rahul Patel wrote:
> So, I added the last two "oldnames" lines to the defsetup.py module,
> just as you said Mike. There is a "win32" check for sys so I added
> that under there. After it finished, I was able to import pywcs
> without any errors. I haven't tested it or anything as I'm still
> learning all this, but I imagine a successful import into Ipython
> indicates that it installed correctly.
>
> -----------------------------------------------------------------
> Rahul I. Patel
>
> Rahul.Patel.1 at StonyBrook.edu <mailto:Rahul.Patel.1 at stonybrook.edu>
> Department of Physics and Astronomy
> State University of New York at Stony Brook
> -----------------------------------------------------------------
>
>
>
> On Tue, Jan 3, 2012 at 2:15 PM, Michael Droettboom <mdroe at stsci.edu
> <mailto:mdroe at stsci.edu>> wrote:
>
> Ok. I'm in the process of getting a Visual Studio environment set up
> here and will let you know what I discover.
>
> Mike
>
> On 01/03/2012 12:54 PM, Jim Vickroy wrote:
> > On 1/3/2012 10:22 AM, Michael Droettboom wrote:
> >> Hmm... Do you have any luck if you remove this from defsetup.py?
> >>
> >> if sys.platform in ('win32', 'cygwin'):
> >> h_file.write("""
> >> #define wcsset wcsset_
> >> """)
> >>
> >> Mike
> > Unfortunately, the same error trace occurs if the above line is
> > removed. -- jv
> >
> >
> >> On 01/03/2012 11:32 AM, Jim Vickroy wrote:
> >>> On 1/3/2012 8:30 AM, Michael Droettboom wrote:
> >>>> On 01/03/2012 09:21 AM, Jim Vickroy wrote:
> >>>>> On 1/3/2012 6:33 AM, Michael Droettboom wrote:
> >>>>>> My apologies that this isn't working for you -- I don't
> have access to
> >>>>>> Visual Studio 9.0 to test with, so these sorts of things
> can fall
> >>>>>> through the cracks.
> >>>>>>
> >>>>>> Mark is right that the old solution involved patching
> wcslib before
> >>>>>> shipping it with pywcs.
> >>>>>>
> >>>>>> However, as of version 1.10 (which you are using), the
> solution was to add:
> >>>>>>
> >>>>>> #define wcsset wcsset_
> >>>>>>
> >>>>>> on Windows. This works with the mingw32/cygwin compiler,
> but apparently
> >>>>>> failing on the Microsoft compiler.
> >>>>>>
> >>>>>> There is an even newer solution in pywcs SVN which defines
> the following
> >>>>>> on Windows. This I believe to work on the Microsoft
> compilers based on
> >>>>>> the report of another user:
> >>>>>>
> >>>>>> if sys.platform == 'win32':
> >>>>>> define_macros.append(('YY_NO_UNISTD_H', None))
> >>>>>> define_macros.append(('_CRT_SECURE_NO_WARNINGS',
> None))
> >>>>>> define_macros.append(('_NO_OLDNAMES', None)) #
> for mingw32
> >>>>>> define_macros.append(('NO_OLDNAMES', None)) #
> for mingw64
> >>>>>>
> >>>>>> You can either splice this into your current copy of
> setup.py, or build
> >>>>>> from SVN. Note that building from SVN currently requires
> having parts
> >>>>>> of stsci_python installed (notable
> stsci.tools.stsci_distutils_hack).
> >>>>>>
> >>>>>> Mike
> >>>>> Thanks, Mike.
> >>>>>
> >>>>> Could you elaborate on the above patch? Do I need to import
> something
> >>>>> other than sys? Where is define_macros defined?
> >>>> Of course -- first day back and I'm whipping through e-mail
> too quickly ;)
> >>>>
> >>>> This goes in defsetup.py -- there is already an "if
> sys.platform ==
> >>>> 'win32'" clause -- you would just need to add the "OLDNAMES"
> lines to it.
> >>>>
> >>>> Mike
> >>>> _______________________________________________
> >>>> AstroPy mailing list
> >>>> AstroPy at scipy.org <mailto:AstroPy at scipy.org>
> >>>> http://mail.scipy.org/mailman/listinfo/astropy
> >>> I added the OLDNAMES lines as above and here is the result:
> >>>
> >>> C:\Projects\pywcs-1.10-4.7>setup.py install
> >>> running install
> >>> running build
> >>> running build_py
> >>> copying lib\svn_version.py -> build\lib.win32-2.6\pywcs
> >>> running build_ext
> >>> building 'pywcs._pywcs' extension
> >>> c:\Program Files\Microsoft Visual Studio 9.0\VC\BIN\cl.exe /c
> /nologo
> >>> /Ox /MD /W3 /GS- /DNDEBUG -DECHO -DWCSTRIG_MACRO -DPYWCS_BUILD
> >>> -D_GNU_SOURCE -DNDEBUG -DYY_NO_UNISTD_H -D_CRT_SECURE_NO_WARNINGS
> >>> -D_NO_OLDNAMES -DNO_OLDNAMES -U
> >>> DEBUG -IC:\Python26\lib\site-packages\numpy\core\include
> -I.\wcslib\C
> >>> -Iwcslib\C -I.\src -IC:\Python26\include -IC:\Python26\PC
> >>> /Tcwcslib\C\flexed/wcsbth.c
> >>> /Fobuild\temp.win32-2.6\Release\wcslib\C\flexed/wcsbth.obj
> >>> wcsbth.c
> >>> .\wcslib\C\wcs.h(1396) : warning C4030: first formal parameter
> list
> >>> longer than the second list
> >>> .\wcslib\C\wcs.h(1396) : warning C4028: formal parameter 1
> different
> >>> from declaration
> >>> .\wcslib\C\wcs.h(1396) : error C2040: 'wcsset' : 'int (wcsprm *)'
> >>> differs in levels of indirection from 'int (wcsprm *)'
> >>> error: command '"c:\Program Files\Microsoft Visual Studio
> >>> 9.0\VC\BIN\cl.exe"' failed with exit status 2
> >>>
> >>> C:\Projects\pywcs-1.10-4.7>
> >>>
> >>>
> >>>
> >>> _______________________________________________
> >>> AstroPy mailing list
> >>> AstroPy at scipy.org <mailto:AstroPy at scipy.org>
> >>> http://mail.scipy.org/mailman/listinfo/astropy
> >> _______________________________________________
> >> AstroPy mailing list
> >> AstroPy at scipy.org <mailto:AstroPy at scipy.org>
> >> http://mail.scipy.org/mailman/listinfo/astropy
> > _______________________________________________
> > AstroPy mailing list
> > AstroPy at scipy.org <mailto:AstroPy at scipy.org>
> > http://mail.scipy.org/mailman/listinfo/astropy
>
> _______________________________________________
> AstroPy mailing list
> AstroPy at scipy.org <mailto:AstroPy at scipy.org>
> http://mail.scipy.org/mailman/listinfo/astropy
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/astropy/attachments/20120105/a7956c01/attachment.html>
More information about the AstroPy
mailing list