Bugs item #928297, was opened at 2004-04-02 16:55 Message generated for change (Comment added) made by lemburg You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=105470&aid=928297&group_id=5470
Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: Python Library Group: Python 2.4 >Status: Closed >Resolution: Wont Fix Priority: 5 Private: No Submitted By: George Yoshida (quiver) Assigned to: M.-A. Lemburg (lemburg) Summary: platform.libc_ver() fails on Cygwin Initial Comment: >>> import platform >>> platform.libc_ver() Traceback (most recent call last): File "<stdin>", line 1, in ? File "/usr/lib/python2.3/platform.py", line 134, in libc_ver f = open(executable,'rb') IOError: [Errno 2] No such file or directory: '/usr/bin/python' The problem is that on Cygwin sys.executable returns /path/to/python, but since Cygwin is running on Windows, sys.executable is a symbolic link to /path/to/python.exe. >>> import os, sys >>> os.path.exists(sys.executable) True >>> os.path.isfile(sys.executable) True >>> file(sys.executable) Traceback (most recent call last): File "<stdin>", line 1, in ? IOError: [Errno 2] No such file or directory: '/usr/bin/python' >>> os.path.islink(sys.executable) True >>> os.path.realpath(sys.executable) '/usr/bin/python2.3.exe' >>> file(sys.executable + '.exe') <open file '/usr/bin/python.exe', mode 'r' at 0xa100ca0> Following is the info about the machine I tested: >>> from platform import * >>> platform() 'CYGWIN_NT-5.0-1.5.7-0.109-3-2-i686-32bit' >>> python_compiler() 'GCC 3.3.1 (cygming special)' >>> python_build() (1, 'Dec 30 2003 08:29:25') >>> python_version() '2.3.3' >>> uname() ('CYGWIN_NT-5.0', 'my_user_name', '1.5.7 (0.109/3/2)', '2004-01-30 19:32', 'i686', '') ---------------------------------------------------------------------- >Comment By: M.-A. Lemburg (lemburg) Date: 2007-01-13 20:29 Message: Logged In: YES user_id=38388 Originator: NO Since Cygwin doesn't appear to use the GLibC, there's no surprise in libc_ver() not returning any useful information. ---------------------------------------------------------------------- Comment By: George Yoshida (quiver) Date: 2004-07-30 01:29 Message: Logged In: YES user_id=671362 Sorry for my late response, Marc. > Would applying os.path.realpath() to sys.executable before > trying to open that file fix the problem on Cygwin ? That change fixes the IO problem. After this, it doesn't raise IOError. The result of platform.libc_ver() is as follows: >>> import platform >>> platform.libc_ver() ('', '') > Another question: does using libc_ver() even make sense on > cygwin ? As far as I have checked, it doesn't look like so. According to the Cygwin FAQ[*], Cygwin doesn't use glibc, although it says that there's a counterpart(called ``newlib'') in Cygwin. C runtime embedded into cygwin1.dll uses newlib. Experienced C & Cygwin programmers might anser this question more precisely. [*] Where is glibc? : http://rustam.uwp.edu/support/faq.html#SEC88 ---------------------------------------------------------------------- Comment By: M.-A. Lemburg (lemburg) Date: 2004-07-23 12:34 Message: Logged In: YES user_id=38388 Would applying os.path.realpath() to sys.executable before trying to open that file fix the problem on Cygwin ? Another question: does using libc_ver() even make sense on cygwin ? libc_ver() was never intended to be used on non-*nix platforms. I don't even know whether it works on other platforms than Linux. ---------------------------------------------------------------------- Comment By: George Yoshida (quiver) Date: 2004-04-03 06:20 Message: Logged In: YES user_id=671362 First, I need to correct my previous post. 'symbolic' was unrelated. Python on Cygwin does't like exe files that doesn't end with '.exe'. I think changing fileobject.c to support I/O exe files on Cygwin whether it ends with '.exe' or not is the way to go. Is there anyone who can do that? It's beyoond my skill level. $ ls -l /usr/bin/python* lrwxrwxrwx 1 abel Users 24 Jan 1 01:34 /usr/bin/python - > python2.3.exe lrwxrwxrwx 1 abel Users 24 Jan 1 01:34 /usr/bin/python.exe -> python2.3.exe -rwxrwxrwx 1 abel Users 4608 Dec 30 22:32 /usr/bin/python2.3.exe >>> file('/usr/bin/python') Traceback (most recent call last): File "<stdin>", line 1, in ? IOError: [Errno 2] No such file or directory: '/usr/bin/python' >>> file('/usr/bin/python.exe') <open file '/usr/bin/python.exe', mode 'r' at 0xa069320> >>> file('/usr/bin/python2.3') Traceback (most recent call last): File "<stdin>", line 1, in ? IOError: [Errno 2] No such file or directory: '/usr/bin/python2.3' >>> file('/usr/bin/python2.3.exe') <open file '/usr/bin/python2.3.exe', mode 'r' at 0xa0c8de0> ---------------------------------------------------------------------- Comment By: M.-A. Lemburg (lemburg) Date: 2004-04-02 17:59 Message: Logged In: YES user_id=38388 Patches are welcome :-) I don't have cygwin installed, so there's nothing much I can do about this. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=105470&aid=928297&group_id=5470 _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com