[Python-bugs-list] [ python-Bugs-481969 ] Doesn't build with OOTB Cygwin
noreply@sourceforge.net
noreply@sourceforge.net
Thu, 15 Nov 2001 08:56:05 -0800
Bugs item #481969, was opened at 2001-11-14 21:17
You can respond by visiting:
http://sourceforge.net/tracker/?func=detail&atid=105470&aid=481969&group_id=5470
Category: Build
Group: Python 2.2
Status: Open
Resolution: None
Priority: 5
Submitted By: David Abrahams (david_abrahams)
Assigned to: Nobody/Anonymous (nobody)
Summary: Doesn't build with OOTB Cygwin
Initial Comment:
It looks like it is getting confused because
SIZEOF_LONG doesn't ever get #defined. I made the
following patch to pyconfig.h which helped in my case:
--- c:/tools/python2.2/include/pyconfig.h Thu
Sep 06 01:32:16 2001
+++ c:/tools/Python-2.2b1/Include/pyconfig.h Thu
Nov 15 01:25:00 2001
@@ -193,7 +193,7 @@
#endif /* BORLANDC */
/* egcs/gnu-win32 defines __GNUC__ and _WIN32 */
-#if defined(__GNUC__) && defined(_WIN32)
+#if defined(__GNUC__) && (defined(_WIN32) || defined
(__CYGWIN__))
/* XXX These defines are likely incomplete, but
should be easy to fix.
They should be complete enough to build extension
modules. */
/* Suggested by Rene Liebscher <R.Liebscher@gmx.de>
to avoid a GCC 2.91.*
@@ -240,7 +240,7 @@
#endif
#define HAVE_LONG_LONG 1
-#define LONG_LONG long long
+#define LONG_LONG long long
#endif /* GNUC */
/* lcc-win32 defines __LCC__ */
----------------------------------------------------------------------
>Comment By: David Abrahams (david_abrahams)
Date: 2001-11-15 08:56
Message:
Logged In: YES
user_id=52572
Sorry, I just assumed you wouldn't be notified that I still
had a question if the bug stayed unassigned. I don't know
much about how this tracker is set up.
I guess when I tried the technique you propose, the
directory was already polluted from the Win32 build.
Thanks for all your help,
Dave
----------------------------------------------------------------------
Comment By: Michael Hudson (mwh)
Date: 2001-11-15 08:50
Message:
Logged In: YES
user_id=6656
Right, OK.
By the time-honoured
mkdir build && cd build && ../configure && make
trick. By unix-like, I mean unix or cygwin. It seems that
doing a VC++ build does something to the tree that prevents
such builds working, but as I don't have VC++, I can't say
what or what to do about it -- so why did you reassign the
bug to me?
----------------------------------------------------------------------
Comment By: David Abrahams (david_abrahams)
Date: 2001-11-15 08:29
Message:
Logged In: YES
user_id=52572
"Didn't work" means that this #error in PyPort.h fired:
#error "LONG_BIT definition appears wrong for platform (bad
gcc/glibc config?)."
How do you do unix-style builds without polluting the
source tree?
----------------------------------------------------------------------
Comment By: Michael Hudson (mwh)
Date: 2001-11-15 07:25
Message:
Logged In: YES
user_id=6656
What does "didn't work" mean?
I suspect you've hit the nail on the head as to the cause of
your problems, but I know diddly-squat about the VC++ build,
so I'm unassigning this from me. I doubt it will be a
priority for anyone else, sorry.
Note you can do unix-style builds without polluting the
source tree (much -- .pycs tend to get left lying around).
----------------------------------------------------------------------
Comment By: David Abrahams (david_abrahams)
Date: 2001-11-15 06:30
Message:
Logged In: YES
user_id=52572
I have Cygwin 1.3.3-2. The latest appears to be 1.3.5-3,
but I got mine just last week. They seem to release
something new every few days. I'm using Windows 2000. I've
also built and installed gcc-3.0.2 on my Cygwin
installation.
Oh, maybe this has something to do with it: I previously
built a regular Win32 version of Python using MSVC from the
same Python source tree.
When I first tried to install Python for Cygwin, I made a
separate build directory as they recommend for gcc, then
did a "../Python-2.2b1/configure ; make" but it didn't
work. If indeed the two builds are conflicting, you might
consider making this approach possible. The idea is that no
configuration-specific cruft gets left in the source tree.
This has two advantages:
1. Rebuilds with the same source for different platforms
becomes possible
2. You can build from a read-only copy of the sources.
-Dave
----------------------------------------------------------------------
Comment By: Michael Hudson (mwh)
Date: 2001-11-15 05:10
Message:
Logged In: YES
user_id=6656
You seem to be editing PC/pyconfig.h, but I don't understand
how this file is getting involved in a cygwin build.
How are you building Python? It works just fine for me
(except for curses, that's a cygwin bug).
Also, have you got the latest version of cygwin? What
version of windows, etc.
----------------------------------------------------------------------
You can respond by visiting:
http://sourceforge.net/tracker/?func=detail&atid=105470&aid=481969&group_id=5470