homepage

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: Python3.2.2 make fail on cygwin
Type: compile error Stage: resolved
Components: Build Versions: Python 3.7
process
Status: closed Resolution: fixed
Dependencies: Superseder:
Assigned To: Nosy List: Lohoris, Luis.Marsano, eric.araujo, erik.bray, ezio.melotti, holgerd00d, jlt63, loewis, masamoto, mhammond, python-dev, rpetrov, yselkowitz, zach.ware
Priority: normal Keywords: needs review, patch

Created on 2012年01月10日 12:44 by holgerd00d, last changed 2022年04月11日 14:57 by admin. This issue is now closed.

Files
File name Uploaded Description Edit
patch.xz Luis.Marsano, 2012年02月02日 08:32 Patch file (xz compressed)
patch eric.araujo, 2012年02月27日 11:58
3.2.3-libpython-abi.patch jlt63, 2012年06月11日 14:22
0001-CYGWIN-issue13756-Python-make-fail-on-cygwin.patch rpetrov, 2013年02月02日 15:45 review
Pull Requests
URL Status Linked Edit
PR 552 closed dstufft, 2017年03月31日 16:36
Messages (19)
msg151014 - (view) Author: Holger (holgerd00d) Date: 2012年01月10日 12:44
Downloaded Python-3.2.2.tar
cd Python-3.2.2
./configure
make
....
Fail on:
--------------------
.....
ranlib libpython3.2m.a
make: *** No rule to make target `libpython3.2m.dll.a', needed by `python.exe'. Stop.
--------------------
libpython3.2m.a was built successfully:
--------------------
$ ls -l libpython3.2m.a
-rw-r--r--+ 1 hbille Domain Users 7182050 Jan 10 13:31 libpython3.2m.a
--------------------
I am not sure which part is incorrect. The name with or without "dll"
msg151217 - (view) Author: Éric Araujo (eric.araujo) * (Python committer) Date: 2012年01月14日 03:46
I am not sure building CPython with Cygwin is supported.
msg151346 - (view) Author: Luis Marsano (Luis.Marsano) Date: 2012年01月16日 10:12
The README file implies support:
[⋮]
Build Instructions
------------------
On Unix, Linux, BSD, OSX, and Cygwin:
[⋮]
msg152455 - (view) Author: Luis Marsano (Luis.Marsano) Date: 2012年02月02日 08:32
Got it to build. Unpack the Python (3.2.2) source package and apply this patch to get a package that builds on Cygwin (1.7.9), eg:
xz -d patch.xz && tar -xJf Python-3.2.2.tar.xz && patch -p0 -i patch
Changes:
(1) The Makefile, makesetup, and distutils.UnixCCompiler and distutils.command.build_ext modules set values for locating cygwin's python library that didn't agree or make sense during buildtime, so I revised them to agree and use build options that work.
(2) configuration and setup.py couldn't locate cygwin's ncurses headers, so I revised them to do that. I don't think I made that change as portable friendly as possible, so someone please check that and find a better way.
Your input is welcome.
msg154466 - (view) Author: Éric Araujo (eric.araujo) * (Python committer) Date: 2012年02月27日 11:58
Martin, any input?
Uncompressed patch attached. Plain text files are easier to review and devoid of security issues (unlike executables on Windows, PDFs if you’re using Adobe Reader, etc.).
msg154490 - (view) Author: Martin v. Löwis (loewis) * (Python committer) Date: 2012年02月27日 16:54
The removal of testing for ncurses.h is incorrect: this should break the Linux build, where ncurses.h is indeed commonly located in /usr/include.
Not sure how to proceed here: if somebody would try to reproduce the problem, they would likely come up with a patch which is fairly different from the one you are proposing. 
So, Luis: are you interested in working out a complete and correct patch? If so, please start with generating one that is against the hg 3.2 branch (or perhaps even against the default branch). It's ok if you are not interested, in that case we'll need to wait for some other volunteer.
msg162619 - (view) Author: Jason Tishler (jlt63) * (Python triager) Date: 2012年06月11日 14:22
I offer the attached patch for consideration. AFAICT, only the Makefile.pre.in and build_ext.py changes are required. I included the makesetup change for completeness and to be consistent with the other changes.
msg162641 - (view) Author: Roumen Petrov (rpetrov) * Date: 2012年06月11日 19:56
Hi Jason,
if you look in default rule you will see the same, so this relict specific "else case" could be removed. Also in Lib/packaging/command/build_ext.py.
msg181069 - (view) Author: Ezio Melotti (ezio.melotti) * (Python committer) Date: 2013年02月01日 05:09
Is this still an issue on 3.3/3.4? Does the patch still work?
msg181092 - (view) Author: Jason Tishler (jlt63) * (Python triager) Date: 2013年02月01日 18:53
> Is this still an issue on 3.3/3.4?
I presume so.
> Does the patch still work?
I haven't tried it on 3.3 yet, so I don't know if it will apply cleanly.
msg181170 - (view) Author: Roumen Petrov (rpetrov) * Date: 2013年02月02日 15:45
Jason Tishler wrote:
> Jason Tishler added the comment:
>
>> Is this still an issue on 3.3/3.4?
> I presume so.
This build is broken since SOABI implementation.
>
>> Does the patch still work?
> I haven't tried it on 3.3 yet, so I don't know if it will apply cleanly.
Attached "0001-CYGWIN-issue13756-Python-make-fail-on-cygwin.patch" for head.
This patch is part of split issue3871 into small independent changes.
Roumen
msg181334 - (view) Author: Éric Araujo (eric.araujo) * (Python committer) Date: 2013年02月04日 15:30
I have no objection to the patch. I can’t test it on cygwin (unless snakebite provides it, I’ll ask) but I can check that a linux build still works.
msg273435 - (view) Author: Erik Bray (erik.bray) * (Python triager) Date: 2016年08月23日 12:10
I can confirm that the last attached patch on this issue fixes this particular issue with building on Cygwin. There are other issues but this is definitely one of them.
msg277832 - (view) Author: Roundup Robot (python-dev) (Python triager) Date: 2016年10月01日 21:15
New changeset 5b4c21436036 by Zachary Ware in branch 'default':
Issue #13756: Fix building extensions modules on Cygwin
https://hg.python.org/cpython/rev/5b4c21436036 
msg277833 - (view) Author: Zachary Ware (zach.ware) * (Python committer) Date: 2016年10月01日 21:26
Fixed on 3.7, we can evaluate backporting later. With this committed, a build on Cygwin can succeed if you configure with --without-threads.
Thanks for the patch!
msg278029 - (view) Author: Erik Bray (erik.bray) * (Python triager) Date: 2016年10月04日 11:36
FWIW, even with this patch and --without-threads Python does *not* build successfully on Cygwin64 (which is all I'm really interested in personally), though it does succeed on 32-bit Cygwin. This has two related reasons:
1) The build of Python's bundled libffi does not work on 64-bit Cygwin for at least a few reasons that I won't go into here. There doesn't seem to be a ticket yet for that so I'll open one.
2) Using --with-system-ffi doesn't work for reasons I talked about in #2445, and also discussed a bit in #1706863 
msg278039 - (view) Author: Zachary Ware (zach.ware) * (Python committer) Date: 2016年10月04日 13:56
Hmm, Cygwin64 is what I built on (successfully). _ctypes does not build, but that's due to not having any libffi available at all: the bundled copy is no longer included in 3.7, and I didn't install a system copy. I view ctypes support as a fairly low-priority item; we have much bigger issues to worry about first :). If trying to build _ctypes actually crashes your build, I think '--without-system-ffi' might be enough to get it to error out cleanly.
msg278046 - (view) Author: Erik Bray (erik.bray) * (Python triager) Date: 2016年10月04日 14:59
Okay, that would explain it then. I was building from an older branch (pre-3.7) that still has the bundled libffi.
FWIW with the fix from #2445, --with-system-ffi works (as does some trivial use of _ctypes though I haven't run all the tests). So if the bundled libffi is gone then I guess that's a moot point.
Thanks for getting a bunch of these fixes merged.
msg278057 - (view) Author: Zachary Ware (zach.ware) * (Python committer) Date: 2016年10月04日 16:17
No problem. Feel free to nosy me on any Cygwin issues that you feel have consensus on the solution and a commit-ready patch implementing it. I can't guarantee when I'll have time to look at them, but I have finally gotten around to installing Cygwin and will get to them eventually :)
History
Date User Action Args
2022年04月11日 14:57:25adminsetgithub: 57965
2017年03月31日 16:36:18dstufftsetpull_requests: + pull_request919
2016年10月04日 16:17:54zach.waresetmessages: + msg278057
2016年10月04日 14:59:35erik.braysetmessages: + msg278046
2016年10月04日 13:56:16zach.waresetmessages: + msg278039
versions: + Python 3.7, - Python 3.2, Python 3.3, Python 3.4
2016年10月04日 11:36:05erik.braysetmessages: + msg278029
2016年10月01日 21:26:41zach.waresetstatus: open -> closed

nosy: + zach.ware
messages: + msg277833

resolution: fixed
stage: patch review -> resolved
2016年10月01日 21:15:22python-devsetnosy: + python-dev
messages: + msg277832
2016年08月23日 12:10:39erik.braysetnosy: + erik.bray
messages: + msg273435
2015年04月18日 07:01:22masamotosetnosy: + masamoto
2013年02月04日 15:30:46eric.araujosetkeywords: + needs review

stage: patch review
messages: + msg181334
versions: + Python 3.3, Python 3.4
2013年02月02日 15:45:23rpetrovsetfiles: + 0001-CYGWIN-issue13756-Python-make-fail-on-cygwin.patch

messages: + msg181170
2013年02月01日 18:53:00jlt63setmessages: + msg181092
2013年02月01日 05:09:46ezio.melottisetnosy: + ezio.melotti
messages: + msg181069
2012年06月11日 19:56:09rpetrovsetnosy: + rpetrov
messages: + msg162641
2012年06月11日 14:22:09jlt63setfiles: + 3.2.3-libpython-abi.patch

nosy: + jlt63, yselkowitz
messages: + msg162619

keywords: + patch
2012年04月24日 14:49:40Lohorissetnosy: + Lohoris
type: compile error
2012年02月27日 16:54:21loewissetmessages: + msg154490
2012年02月27日 11:58:05eric.araujosetfiles: + patch

messages: + msg154466
2012年02月02日 08:32:54Luis.Marsanosetfiles: + patch.xz

messages: + msg152455
2012年01月16日 10:12:01Luis.Marsanosetnosy: + Luis.Marsano
messages: + msg151346
components: + Build, - Installation
2012年01月14日 03:46:01eric.araujosetnosy: + loewis, eric.araujo, mhammond
messages: + msg151217
2012年01月10日 12:44:18holgerd00dcreate

AltStyle によって変換されたページ (->オリジナル) /