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.0 interpreter on Cygwin ignores all arguments
Type: behavior Stage:
Components: Interpreter Core Versions: Python 3.0
process
Status: closed Resolution: fixed
Dependencies: Superseder:
Assigned To: Nosy List: amaury.forgeotdarc, christian.heimes, loewis, pitrou, yselkowitz
Priority: release blocker Keywords: patch

Created on 2008年08月21日 04:36 by yselkowitz, last changed 2022年04月11日 14:56 by admin. This issue is now closed.

Files
File name Uploaded Description Edit
cygwin-mbstowcs.patch amaury.forgeotdarc, 2008年08月21日 09:22
cygwin_badprintf.patch amaury.forgeotdarc, 2008年09月20日 21:21
cygwin_badprintf-2.patch amaury.forgeotdarc, 2008年10月17日 20:28
Messages (22)
msg71606 - (view) Author: Yaakov (Cygwin Ports) (yselkowitz) Date: 2008年08月21日 04:35
Attempting to build 3.0b3, the sharedmods make target results only in a
python command prompt. In fact, it seems that the interpreter doesn't
accept any arguments:
$ /usr/bin/python --version
Python 2.5.2
$ /usr/bin/python -c 'print "Hello, World!"'
Hello, World!
$ ./python.exe --version
Python 3.0b3 (r30b3:65927, Aug 20 2008, 22:34:44) 
[GCC 3.4.4 (cygming special, gdc 0.12, using dmd 0.125)] on cygwin
Type "help", "copyright", "credits" or "license" for more information.
>>> 
$ ./python.exe -c 'print "Hello, World!"'
Python 3.0b3 (r30b3:65927, Aug 20 2008, 22:34:44) 
[GCC 3.4.4 (cygming special, gdc 0.12, using dmd 0.125)] on cygwin
Type "help", "copyright", "credits" or "license" for more information.
>>> 
The same happened with 3.0b2 when I tried to determine if this was a
recent regression. I have successfully built 2.5 on a number of occasions.
msg71617 - (view) Author: Amaury Forgeot d'Arc (amaury.forgeotdarc) * (Python committer) Date: 2008年08月21日 09:22
Cygwin seems to have a broken implementation of mbstowcs.
See http://www.google.com/codesearch?q=cygwin+mbstowcs\(NULL
The attached patch corrects the problem.
msg71690 - (view) Author: Yaakov (Cygwin Ports) (yselkowitz) Date: 2008年08月21日 21:52
Thank you, that fixes that issue. But further along the build fails:
Traceback (most recent call last):
 File
"/usr/src/ports/python/python3.0/python3.0-3.0b3-1/src/Python-3.0b3/setup.py",
line 1569, in <module>
 class PyBuildInstallLib(install_lib):
 File
"/usr/src/ports/python/python3.0/python3.0-3.0b3-1/src/Python-3.0b3/setup.py",
line 1575, in PyBuildInstallLib
 so_ext = sysconfig.get_config_var("SO")
 File
"/usr/src/ports/python/python3.0/python3.0-3.0b3-1/src/Python-3.0b3/Lib/distutils/sysconfig.py",
line 552, in get_config_var
 return get_config_vars().get(name)
 File
"/usr/src/ports/python/python3.0/python3.0-3.0b3-1/src/Python-3.0b3/Lib/distutils/sysconfig.py",
line 491, in get_config_vars
 func()
 File
"/usr/src/ports/python/python3.0/python3.0-3.0b3-1/src/Python-3.0b3/Lib/distutils/sysconfig.py",
line 360, in _init_posix
 parse_makefile(filename, g)
 File
"/usr/src/ports/python/python3.0/python3.0-3.0b3-1/src/Python-3.0b3/Lib/distutils/sysconfig.py",
line 272, in parse_makefile
 line = fp.readline()
 File
"/usr/src/ports/python/python3.0/python3.0-3.0b3-1/src/Python-3.0b3/Lib/distutils/text_file.py",
line 173, in readline
 line = self.file.readline()
 File
"/usr/src/ports/python/python3.0/python3.0-3.0b3-1/src/Python-3.0b3/Lib/io.py",
line 1751, in readline
 decoder = self._decoder or self._get_decoder()
 File
"/usr/src/ports/python/python3.0/python3.0-3.0b3-1/src/Python-3.0b3/Lib/io.py",
line 1501, in _get_decoder
 make_decoder = codecs.getincrementaldecoder(self._encoding)
 File
"/usr/src/ports/python/python3.0/python3.0-3.0b3-1/src/Python-3.0b3/Lib/codecs.py",
line 960, in getincrementaldecoder
 decoder = lookup(encoding).incrementaldecoder
LookupError: unknown encoding: U
make: *** [sharedmods] Error 1
msg72020 - (view) Author: Amaury Forgeot d'Arc (amaury.forgeotdarc) * (Python committer) Date: 2008年08月27日 11:58
See also issue3696, and the patch provided there.
Yaakov, you should remove the _locale.dll from your build directory: for
the compilation phase, better have no locale at all than a broken "U" as
default encoding ("U" is the initial of UTF8)
msg72029 - (view) Author: Amaury Forgeot d'Arc (amaury.forgeotdarc) * (Python committer) Date: 2008年08月27日 13:30
cygwin has also a nasty bug:
 printf("%ls", wide_string)
fails for strings of length 1. %S has the same problem.
$ ./python.exe ab
./python: can't open file 'ab': [Errno 2] No such file or directory
$ ./python.exe a
./python
The output stops at "./python", probably because stderr has an error
flag set.
Since %ls is only used in Modules/main.c, the best is probably to
replace it with something else. And since cygwin has no function of the
family of wprintf or fputws, PyUnicode is probably the way to go.
msg72042 - (view) Author: Yaakov (Cygwin Ports) (yselkowitz) Date: 2008年08月27日 21:33
Thanks for your persistence with this.
Corinna got _wcsrtombs_r fixed in newlib, so I imagine the next Cygwin
1.7 preview will have the fix. Unfortunately that won't help the
still-stable Cygwin 1.5. I'm not sure what you mean by PyUnicode being
a workaround; if you could propose a patch, I'll be happy to try it.
msg72044 - (view) Author: Yaakov (Cygwin Ports) (yselkowitz) Date: 2008年08月27日 21:39
Another thing: _bsddb does not compile with db4.7:
Modules/_bsddb.c: In function `DBSequence_get_cachesize':
Modules/_bsddb.c:5022: warning: passing arg 2 of pointer to function
from incompatible pointer type
Modules/_bsddb.c: In function `DBEnv_db_home_get':
Modules/_bsddb.c:5331: error: structure has no member named `db_home'
Modules/_bsddb.c:5334: error: structure has no member named `db_home'
Modules/_bsddb.c: In function `PyInit__bsddb':
Modules/_bsddb.c:5948: error: `DB_LOG_AUTOREMOVE' undeclared (first use
in this function)
Modules/_bsddb.c:5948: error: (Each undeclared identifier is reported
only once
Modules/_bsddb.c:5948: error: for each function it appears in.)
Modules/_bsddb.c:5949: error: `DB_DIRECT_LOG' undeclared (first use in
this function)
Modules/_bsddb.c:5957: error: `DB_LOG_INMEMORY' undeclared (first use in
this function)
4.5 and 4.6 both give the first warning, but no errors.
msg72413 - (view) Author: Antoine Pitrou (pitrou) * (Python committer) Date: 2008年09月03日 19:00
The mbstowcs problem should be fixed in r66187. What is the state of the
other problems? Is this issue still a release blocker?
msg72415 - (view) Author: Yaakov (Cygwin Ports) (yselkowitz) Date: 2008年09月03日 20:00
Thank you for the patch; that allows the build to finish. The remaining
issues are now:
msg72029: printf("%ls",...) bug
msg72044: does not build with db4.7
Finally proceeding to the install, now I get another error:
mkdir ./Lib/plat-cygwin
cp ./Lib/plat-generic/regen ./Lib/plat-cygwin/regen
export PATH; PATH="`pwd`:$PATH"; \
	export PYTHONPATH; PYTHONPATH="`pwd`/Lib"; \
	export DYLD_FRAMEWORK_PATH; DYLD_FRAMEWORK_PATH="`pwd`"; \
	export EXE; EXE=".exe"; \
	cd ./Lib/plat-cygwin; ./regen
python$EXE ../../Tools/scripts/h2py.py -i '(u_long)'
/usr/include/netinet/in.h
Could not find platform independent libraries <prefix>
Could not find platform dependent libraries <exec_prefix>
Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>]
Fatal Python error: Py_Initialize: can't initialize sys standard streams
ImportError: No module named encodings.utf_8
./regen: line 3: 4164 Segmentation fault (core dumped) python$EXE
../../Tools/scripts/h2py.py -i '(u_long)' /usr/include/netinet/in.h
make: *** [Lib/plat-cygwin] Error 139
msg73474 - (view) Author: Amaury Forgeot d'Arc (amaury.forgeotdarc) * (Python committer) Date: 2008年09月20日 21:21
This patches corrects the bad printf, when the given filename is only
1-char long.
msg73475 - (view) Author: Amaury Forgeot d'Arc (amaury.forgeotdarc) * (Python committer) Date: 2008年09月20日 21:28
Since the bsddb module has been removed from py3k, the previous patch
addresses the last issue for this ticket.
msg73479 - (view) Author: Yaakov (Cygwin Ports) (yselkowitz) Date: 2008年09月21日 03:20
3.0rc1 together with the printf patch builds and installs. Some quick
testing seems ok, but idle isn't working:
$ idle3.0
Traceback (most recent call last):
 File "<string>", line 1, in <module>
 File "/usr/lib/python3.0/idlelib/run.py", line 76, in main
 sockthread.set_daemon(True)
AttributeError: 'Thread' object has no attribute 'set_daemon'
IDLE appears briefly with a message:
Subprocess Startup Error
IDLE's subprocess didn't make connection. Either IDLE can't start a
subprocess or personal firewall software is blocking the connection.
[OK]
Pushing OK causes idle3.0 to quit. idle 2.5 works fine.
msg73519 - (view) Author: Amaury Forgeot d'Arc (amaury.forgeotdarc) * (Python committer) Date: 2008年09月21日 19:19
The IDLE problem is already corrected: see issue3628.
msg73520 - (view) Author: Yaakov (Cygwin Ports) (yselkowitz) Date: 2008年09月21日 19:27
> The IDLE problem is already corrected: see issue3628.
In that case, then I think this can be closed; if I encounter any
further issues after rc2, I'll open a new bug.
Thank you for all your help.
msg73522 - (view) Author: Amaury Forgeot d'Arc (amaury.forgeotdarc) * (Python committer) Date: 2008年09月21日 19:33
> I think this can be closed
Well, after the proposed patch "cygwin_badprintf.patch" is reviewed and 
applied...
msg74905 - (view) Author: Martin v. Löwis (loewis) * (Python committer) Date: 2008年10月17日 12:48
I think cygwin_badprintf.patch needs to consider the case r==PATH_MAX;
this happens when the conversion would need more than PATH_MAX bytes for
the target buffer. In that case, I think it would be good enough to
write "<file name too long>" into cfilename (using cfilename as is will
crash because it's not null-terminated; forcefully null-terminating it
might break the shift state)
msg74937 - (view) Author: Amaury Forgeot d'Arc (amaury.forgeotdarc) * (Python committer) Date: 2008年10月17日 20:28
Updated patch, which checks the return value of wcstombs.
msg74942 - (view) Author: Martin v. Löwis (loewis) * (Python committer) Date: 2008年10月17日 22:31
IIUC, another error return value (besides -1) is PATH_MAX, meaning that
the buffer would overrun; correct me if I'm wrong. If I'm not, I propose
that they get handles similarly.
In addition, it might be safer to compare to (size_t)-1 (I keep
forgetting whether this is the default when comparing signed and
unsigned - some compilers warn about comparisong with mixed signs).
msg74960 - (view) Author: Antoine Pitrou (pitrou) * (Python committer) Date: 2008年10月18日 21:03
The patch looks sound to me. Someone should probably test it under
Cygwin.
msg74993 - (view) Author: Yaakov (Cygwin Ports) (yselkowitz) Date: 2008年10月20日 10:18
3.0rc1 builds and installs fine with the latest patch. Thanks!
msg75280 - (view) Author: Christian Heimes (christian.heimes) * (Python committer) Date: 2008年10月28日 12:57
I can't reproduce the problem with my installation of Cygwin on Windows
XP. However the patch doesn't cause problems so you might apply it.
msg75398 - (view) Author: Amaury Forgeot d'Arc (amaury.forgeotdarc) * (Python committer) Date: 2008年10月30日 23:03
Committed the "%ls" fix with r67064.
History
Date User Action Args
2022年04月11日 14:56:37adminsetgithub: 47876
2008年10月30日 23:03:58amaury.forgeotdarcsetstatus: open -> closed
resolution: fixed
messages: + msg75398
keywords: - needs review
2008年10月28日 12:57:04christian.heimessetnosy: + christian.heimes
messages: + msg75280
2008年10月20日 10:18:55yselkowitzsetmessages: + msg74993
2008年10月18日 21:03:23pitrousetmessages: + msg74960
2008年10月17日 22:31:56loewissetmessages: + msg74942
2008年10月17日 20:28:12amaury.forgeotdarcsetfiles: + cygwin_badprintf-2.patch
messages: + msg74937
2008年10月17日 12:48:20loewissetnosy: + loewis
messages: + msg74905
2008年10月02日 12:54:52barrysetpriority: deferred blocker -> release blocker
2008年09月26日 22:19:53barrysetpriority: release blocker -> deferred blocker
2008年09月21日 19:33:01amaury.forgeotdarcsetmessages: + msg73522
2008年09月21日 19:27:26yselkowitzsetmessages: + msg73520
2008年09月21日 19:19:13amaury.forgeotdarcsetmessages: + msg73519
2008年09月21日 03:20:19yselkowitzsetmessages: + msg73479
2008年09月20日 21:28:20amaury.forgeotdarcsetmessages: + msg73475
2008年09月20日 21:21:48amaury.forgeotdarcsetkeywords: + needs review
files: + cygwin_badprintf.patch
messages: + msg73474
2008年09月18日 05:42:05barrysetpriority: deferred blocker -> release blocker
2008年09月04日 01:19:19benjamin.petersonsetpriority: release blocker -> deferred blocker
2008年09月03日 20:00:08yselkowitzsetmessages: + msg72415
2008年09月03日 19:00:54pitrousetnosy: + pitrou
messages: + msg72413
2008年08月27日 21:39:59yselkowitzsetmessages: + msg72044
2008年08月27日 21:33:45yselkowitzsetmessages: + msg72042
2008年08月27日 13:30:18amaury.forgeotdarcsetpriority: release blocker
messages: + msg72029
2008年08月27日 11:58:51amaury.forgeotdarcsetmessages: + msg72020
2008年08月27日 11:56:32amaury.forgeotdarcsetmessages: - msg72013
2008年08月27日 07:53:54amaury.forgeotdarcsetmessages: + msg72013
2008年08月21日 21:52:45yselkowitzsetmessages: + msg71690
2008年08月21日 09:22:30amaury.forgeotdarcsetfiles: + cygwin-mbstowcs.patch
keywords: + patch
messages: + msg71617
nosy: + amaury.forgeotdarc
2008年08月21日 04:36:00yselkowitzcreate

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