Thread: Problematic dependency in plpython Makefile [Windows]
On Windows, src/pl/plpython/Makefile has a rule whose target line expands to something like "python33.def: C:/Windows/system32/python33.dll". When doing a MinGW build with Cygwin's make-3.81, that line elicits an error: Makefile:69: *** target pattern contains no `%'. Stop. Seeing a second colon, make treats the line as a static pattern rule. Perhaps the MinGW project ships a make patched to avoid this, or perhaps folks building PostgreSQL override WINDIR. In any event, that dependency is not useful: we can't build the named file if it's absent, and an error from pexports is a good as an error from make. Let's drop the dependency. Note that this affects --without-python builds during "make clean". Thanks, nm
Attachment
On 01/03/2013 11:13 AM, Noah Misch wrote: > On Windows, src/pl/plpython/Makefile has a rule whose target line expands to > something like "python33.def: C:/Windows/system32/python33.dll". When doing a > MinGW build with Cygwin's make-3.81, that line elicits an error: Shouldn't you generally be using msys make from mingw? I'm a bit puzzled as to why you'd be using cygwin make. -- Craig Ringer http://www.2ndQuadrant.com/PostgreSQL Development, 24x7 Support, Training & Services
On Thu, Jan 03, 2013 at 11:52:58AM +0800, Craig Ringer wrote: > On 01/03/2013 11:13 AM, Noah Misch wrote: > > On Windows, src/pl/plpython/Makefile has a rule whose target line expands to > > something like "python33.def: C:/Windows/system32/python33.dll". When doing a > > MinGW build with Cygwin's make-3.81, that line elicits an error: > Shouldn't you generally be using msys make from mingw? > > I'm a bit puzzled as to why you'd be using cygwin make. I don't normally use MSYS at all. I wouldn't furnish widespread Makefile changes to avoid doing so, but this is the only change I have needed.
On 01/02/2013 10:13 PM, Noah Misch wrote: > On Windows, src/pl/plpython/Makefile has a rule whose target line expands to > something like "python33.def: C:/Windows/system32/python33.dll". When doing a > MinGW build with Cygwin's make-3.81, that line elicits an error: > > Makefile:69: *** target pattern contains no `%'. Stop. > > Seeing a second colon, make treats the line as a static pattern rule. Perhaps > the MinGW project ships a make patched to avoid this, or perhaps folks > building PostgreSQL override WINDIR. In any event, that dependency is not > useful: we can't build the named file if it's absent, and an error from > pexports is a good as an error from make. Let's drop the dependency. > > Note that this affects --without-python builds during "make clean". > > > I suspect under Msys the path seen won't contain a colon - it will be an Msys virtualized path like /c/Windows/system32/.... Frankly, this is an unsupported toolchain. The supported toolchains under Windows are Msys/Mingw and the Microsoft toolsets. OTOH, I don't object to dropping a dependency that is truly useless. cheers andrew
On 01/02/2013 11:34 PM, Andrew Dunstan wrote: > > On 01/02/2013 10:13 PM, Noah Misch wrote: >> On Windows, src/pl/plpython/Makefile has a rule whose target line >> expands to >> something like "python33.def: C:/Windows/system32/python33.dll". >> When doing a >> MinGW build with Cygwin's make-3.81, that line elicits an error: >> >> Makefile:69: *** target pattern contains no `%'. Stop. >> >> Seeing a second colon, make treats the line as a static pattern >> rule. Perhaps >> the MinGW project ships a make patched to avoid this, or perhaps folks >> building PostgreSQL override WINDIR. In any event, that dependency >> is not >> useful: we can't build the named file if it's absent, and an error from >> pexports is a good as an error from make. Let's drop the dependency. >> >> Note that this affects --without-python builds during "make clean". >> >> >> > > I suspect under Msys the path seen won't contain a colon - it will be > an Msys virtualized path like /c/Windows/system32/.... Apparently not, from testing. Maybe the make is patched after all. cheers andrew