kicad-developers team mailing list archive
-
kicad-developers team
-
Mailing list archive
-
Message #09513
Re: Python scripting cmake build macros.
Miguel Angel Ajo
http://www.nbee.es
+34911407752
skype: ajoajoajo
On 31/01/2013, at 19:50, Dick Hollenbeck <dick@xxxxxxxxxxx> wrote:
> On 01/31/2013 11:36 AM, Brian Sidebotham wrote:
>>
>>
>>
>> On 24 January 2013 22:42, Brian Sidebotham <brian.sidebotham@xxxxxxxxx
>> <mailto:brian.sidebotham@xxxxxxxxx>> wrote:
>>
>> A quick test to build wxPython with a freshly compiled python-mingw with binascii
>> package results in the next problem. One that looks a bit more fundamental to sort out:
>>
>> This is what I get compiling the most basic of extension with this python-mingw, the
>> error is the same when trying to build wxPython too:
>>
>> KiCad-WinbuilderC:\kicad-winbuilder-dev\kicad-winbuilder\src\wx\testmodule>python
>> setup.py build -c mingw32
>> running build
>> running build_ext
>> Warning: Can't read registry to find the necessary compiler setting
>> Make sure that Python modules _winreg, win32api or win32con are installed.
>> building 'hello' extension
>> C:\kicad-winbuilder-dev\kicad-winbuilder\env\mingw\bin\gcc.exe -mno-cygwin -mdll
>> -O -Wall -IC:\kicad-winbuilder-dev\kicad-winbuilder\env\python\include -IC:\kic
>> ad-winbuilder-dev\kicad-winbuilder\env\python\PC -c testmodule.c -o build\temp.w
>> in32-2.7\Release\testmodule.o
>> Traceback (most recent call last):
>> File "setup.py", line 8, in <module>
>> ext_modules = [module1])
>> File "C:\kicad-winbuilder-dev\kicad-winbuilder\env\python\lib\python2.7\distut
>> ils\core.py", line 152, in setup
>> dist.run_commands()
>> File "C:\kicad-winbuilder-dev\kicad-winbuilder\env\python\lib\python2.7\distut
>> ils\dist.py", line 953, in run_commands
>> self.run_command(cmd)
>> File "C:\kicad-winbuilder-dev\kicad-winbuilder\env\python\lib\python2.7\distut
>> ils\dist.py", line 972, in run_command
>> cmd_obj.run()
>> File "C:\kicad-winbuilder-dev\kicad-winbuilder\env\python\lib\python2.7\distut
>> ils\command\build.py", line 127, in run
>> self.run_command(cmd_name)
>> File "C:\kicad-winbuilder-dev\kicad-winbuilder\env\python\lib\python2.7\distut
>> ils\cmd.py", line 326, in run_command
>> self.distribution.run_command(command)
>> File "C:\kicad-winbuilder-dev\kicad-winbuilder\env\python\lib\python2.7\distut
>> ils\dist.py", line 972, in run_command
>> cmd_obj.run()
>> File "C:\kicad-winbuilder-dev\kicad-winbuilder\env\python\lib\python2.7\distut
>> ils\command\build_ext.py", line 340, in run
>> self.build_extensions()
>> File "C:\kicad-winbuilder-dev\kicad-winbuilder\env\python\lib\python2.7\distut
>> ils\command\build_ext.py", line 449, in build_extensions
>> self.build_extension(ext)
>> File "C:\kicad-winbuilder-dev\kicad-winbuilder\env\python\lib\python2.7\distut
>> ils\command\build_ext.py", line 499, in build_extension
>> depends=ext.depends)
>> File "C:\kicad-winbuilder-dev\kicad-winbuilder\env\python\lib\python2.7\distut
>> ils\ccompiler.py", line 624, in compile
>> self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts)
>> File "C:\kicad-winbuilder-dev\kicad-winbuilder\env\python\lib\python2.7\distut
>> ils\cygwinccompiler.py", line 164, in _compile
>> extra_postargs)
>> File "C:\kicad-winbuilder-dev\kicad-winbuilder\env\python\lib\python2.7\distut
>> ils\ccompiler.py", line 925, in spawn
>> spawn(cmd, dry_run=self.dry_run)
>> File "C:\kicad-winbuilder-dev\kicad-winbuilder\env\python\lib\python2.7\distut
>> ils\spawn.py", line 36, in spawn
>> _spawn_nt(cmd, search_path, dry_run=dry_run)
>> File "C:\kicad-winbuilder-dev\kicad-winbuilder\env\python\lib\python2.7\distut
>> ils\spawn.py", line 69, in _spawn_nt
>> rc = os.spawnv(os.P_WAIT, executable, cmd)
>> AttributeError: 'module' object has no attribute 'spawnv'
>>
>> Basically it's down to not having pywin32 installed or any other win32api module.
>> The trouble is they all seem to require compiling with msvc.
>>
>> I've run out of time again.
>>
>> Best Regards, Brian.
>>
>>
>>
>> Hi Guys,
>>
>> Sorry I missed most of the discussion today, but appear to have dropped and bomb before
>> I stopped following!
>>
>> The mail I sent above details the tie-in with pywin32, although I notice now upon
>> re-reading that this may just be python's distutils trying to access the registry and
>> failing.
>>
>> I am assuming here that we need to execute this python build using the new python-mingw
>> executable on windows to compile wxPython? I don't see how that part can be done under
>> Linux?
>>
>> This is entirely where the link to pywin32 came from - which is essentially distutils
>> rather than wxPython.
>
>
> This sounds like just another windows specific sickness that needs to be rooted out of
> distutils with a patch during the python build. If linux python's distutils can work
> without a windows registry, why cannot windows?
>
> Admittedly my vision and goals are different than those who have worked on python in the
> past. But they are probably not that different than the guy who had a whack at
> python-mingw.
>
> Basically mine its this: 1) no Microsoft, 2) please bring in the next solution possibility
> please.
>
>
> =====================
>
> For reasons fully unknown to me I have spent some time on python 2.7.3 source. I suppose
> it is for my Windows KiCad friends, and a subconscious desire to extent my reputation as a
> world famous programmer, out beyond my household.
>
You're becoming more popular as I read :-)
> But in one day and one night I was able to create a big ass patch against 2.7.3 which adds
> *significantly* to the CMake-ability patch we found earlier for 2.7.1.
>
> I can now build windows-x86_64 and windows-x86_32 python-mingw, short a few extensions.
> Of course on linux. I have to bring in two more external packages, and am doing so with
> ExternalProject_Add() using CMake. That will enable the full set of stock python
> extensions for windows. One of these I have done before in my commercial products.
>
Wow, congratulations Dick, you're a really valuable programmer, in fact, most contributions on
this thread are quite top notch :)
> Some external projects use "configure", and although I hate it, I am only willing to use
> it on linux. This means the patch to python 2.7.3 will only work on linux, but builds
> windows binaries.
>
> I see that pywin32 has over 9,000 downloads per week. Maybe I will actually become world
> famous supplying python-mingw binaries for windows-32 and windows-64. If I succeed, I
> will put these binaries on the kicad-pcb.org site. If I do not, then you never read
> this. Or I say "enough" and pass the token.
>
If you have to, please pass it, I will try to revive myself on the thread ;)
> Success might entail creating a more generic python for windows, not one that needs to
> access the friggin registry. It's a 3 step dance, this would be only the first step, but
> during this step decisions can be made about how distutils works. Yes, done only on linux
> for windows. The build process can be fully controlled, if you are willing to replace it.
> It is just me walking the talk I said two weeks ago.
The one I tried to start, I'm sure you'll have greater success :-)
>
> But why so much talk?
Keeping us updated, thanks for the hard work Dick, you're taking out of my mind insane/stupid ideas that
most probably could end in segfaults, like trying to binary patch the files to re-link into the right dlls, etc… ;)
>
> Dick
>
>
> _______________________________________________
> Mailing list: https://launchpad.net/~kicad-developers
> Post to : kicad-developers@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~kicad-developers
> More help : https://help.launchpad.net/ListHelp
Follow ups
References
-
Python scripting cmake build macros.
From: Wayne Stambaugh, 2013-01-12
-
Re: Python scripting cmake build macros.
From: Wayne Stambaugh, 2013-01-15
-
Re: Python scripting cmake build macros.
From: Dick Hollenbeck, 2013-01-15
-
Re: Python scripting cmake build macros.
From: Dick Hollenbeck, 2013-01-15
-
Re: Python scripting cmake build macros.
From: Dick Hollenbeck, 2013-01-15
-
Re: Python scripting cmake build macros.
From: Wayne Stambaugh, 2013-01-15
-
Re: Python scripting cmake build macros.
From: Dick Hollenbeck, 2013-01-15
-
Re: Python scripting cmake build macros.
From: Wayne Stambaugh, 2013-01-15
-
Re: Python scripting cmake build macros.
From: Wayne Stambaugh, 2013-01-15
-
Re: Python scripting cmake build macros.
From: Dick Hollenbeck, 2013-01-15
-
Re: Python scripting cmake build macros.
From: Wayne Stambaugh, 2013-01-16
-
Re: Python scripting cmake build macros.
From: Miguel Angel Ajo Pelayo, 2013-01-16
-
Re: Python scripting cmake build macros.
From: Wayne Stambaugh, 2013-01-16
-
Re: Python scripting cmake build macros.
From: Wayne Stambaugh, 2013-01-20
-
Re: Python scripting cmake build macros.
From: Miguel Angel Ajo Pelayo, 2013-01-20
-
Re: Python scripting cmake build macros.
From: Wayne Stambaugh, 2013-01-20
-
Re: Python scripting cmake build macros.
From: Brian Sidebotham, 2013-01-21
-
Re: Python scripting cmake build macros.
From: Miguel Angel Ajo Pelayo, 2013-01-21
-
Re: Python scripting cmake build macros.
From: Brian Sidebotham, 2013-01-24
-
Re: Python scripting cmake build macros.
From: Brian Sidebotham, 2013-01-24
-
Re: Python scripting cmake build macros.
From: Brian Sidebotham, 2013-01-31
-
Re: Python scripting cmake build macros.
From: Dick Hollenbeck, 2013-01-31