Re: src/interfaces/libpq shipping nmake-related Makefiles

From: Heikki Linnakangas <hlinnaka(at)iki(dot)fi>
To: Magnus Hagander <magnus(at)hagander(dot)net>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Andres Freund <andres(at)anarazel(dot)de>, Michael Paquier <michael(dot)paquier(at)gmail(dot)com>, PostgreSQL mailing lists <pgsql-hackers(at)postgresql(dot)org>, wim(at)emweb(dot)de
Subject: Re: src/interfaces/libpq shipping nmake-related Makefiles
Date: 2017-04-07 13:28:13
Message-ID: 71c234d0-d96d-bf60-f5eb-ce71c499ef06@iki.fi
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 04/07/2017 02:00 PM, Magnus Hagander wrote:
> On Fri, Apr 7, 2017 at 6:29 AM, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
>
>> Yeah. For win32.mak, the key question is whether there is still anybody
>> who'd have an insurmountable problem with building the whole distro via
>> src/tools/msvc/ rather than just building libpq with win32.mak. Given our
>> lack of infrastructure for testing win32.mak, continuing support for it
>> seems like quite an expensive proposition from the developer-time
>> standpoint. I don't really want to do that if it's only going to save
>> somebody an occasional few minutes of build time.
>
> Insurmountable, probably not. The big difference is that you don't need
> *any* dependencies to build a libpq using win32.mak, but you need many of
> them (to start with, perl...) to build using the built-in one. For people
> who want to build it, it certainly save a lot more than "a few minutes".
> For somebody who doesn't have ready scripts it takes a *long* time to set
> up a build environment to do our regular msvc builds.
>
> I think the question is more, is there any need for people to do that at
> all, or are those people just going to be using the pre-built binaries
> anyway? That question I can't say I know the answer to.

It does seem handy, if all you want is libpq. Clearly not many people
use it, though.

I just tested it. After adding all the missing files to the makefile,
I'm getting an error:

> .\Release\libpq.dll.manifest : general error c1010070: Failed to load and parse
> the manifest. The system cannot find the file specified.
> NMAKE : fatal error U1077: '"C:\Program Files (x86)\Windows Kits\10\bin\x86\mt.
> XE"' : return code '0x1f'
> Stop.
> NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 14.
> \VC\BIN\nmake.EXE"' : return code '0x2'
> Stop.

This seems be the same as the 2nd error that was reported back in 2013:
https://www.postgresql.org/message-id/CAJ2%3DPVQcW8UGNnSy%3DOw%3DvUK2zpjowTkzUS1B864REa7LOT140Q%40mail.gmail.com.

Despite the failure, it built a libpq.dll file, and it seems to work. I
have no idea what the manifest file is.

I could easily add the missing files to win32.mak, but unless someone
else steps up to the plate and fixes the manifest issue, I don't think
we have much choice but remove the it.

- Heikki

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Arthur Zakirov 2017-04-07 13:54:17 Re: postgres_fdw: support parameterized foreign joins
Previous Message Yorick Peterse 2017-04-07 13:18:14 Re: [PATCH] Document the order of changing certain settings when using hot-standby servers