Re: [GENERAL] Compatibility of libpg

Поиск
Список
Период
Сортировка
От Igor Korot
Тема Re: [GENERAL] Compatibility of libpg
Дата
Msg-id CA+FnnTzhWpVvCk7GZJ9fSFb7co4ftCf=PjWk0yA62cHxhoP5eg@mail.gmail.com
обсуждение исходный текст
Ответ на Re: [GENERAL] Compatibility of libpg  (Magnus Hagander <magnus@hagander.net>)
Ответы Re: [GENERAL] Compatibility of libpg
Список pgsql-general
Hi, Magnus,

On Wed, May 3, 2017 at 5:20 PM, Magnus Hagander <magnus@hagander.net> wrote:
> On Tue, May 2, 2017 at 4:49 AM, Igor Korot <ikorot01@gmail.com> wrote:
>>
>> John,
>>
>> On Mon, May 1, 2017 at 9:38 PM, John R Pierce <pierce@hogranch.com> wrote:
>> > On 5/1/2017 5:44 PM, Igor Korot wrote:
>> >>
>> >>
>> >> But I want to build from MSVC. I already have a solution for it. All I
>> >> need is to create a project inside that solution which will build the
>> >> dll
>> >> and lib files for me.
>> >>
>> >> Or I have to use nmake?
>> >
>> >
>> > pretty sure you need to run the top level config script to generate all
>> > the
>> > right stuff, then you probably can have MSVC run the makefile in the
>> > libpq
>> > directory.   I find it easier to just build the whole server, then just
>> > use
>> > the libpq.dll rather than trying to build pieces seperately, as it
>> > really
>> > doesn't take very long.   i believe there are notes on building with
>> > MSVC on
>> > Windows,
>> > https://www.postgresql.org/docs/current/static/install-windows-full.html
>> > ...
>> > I see there are instructions for building libpq only,
>> >
>> > https://www.postgresql.org/docs/current/static/install-windows-libpq.html
>> > but I believe you still need most of the prerequisites as outlined in
>> > 17.1.1
>> > ...   17.1.3 discusses a mkvcbuild.pl which makes a pgsql.sln project(?)
>> > for
>> > Visual Studio
>>
>> Ok, I tried to build with nmake as suggested by the official
>> documentation.
>>
>> Two issues:
>> 1. On the build window I got:
>>
>> [quote]
>>         link.exe -lib @C:\Users\Igor\AppData\Local\Temp\nm4696.tmp
>>         rc.exe /l 0x409 /fo".\Release\libpq.res" libpq-dist.rc
>> Microsoft (R) Windows (R) Resource Compiler Version 6.1.7600.16385
>> Copyright (C) Microsoft Corporation.  All rights reserved.
>>
>>         link.exe @C:\Users\Igor\AppData\Local\Temp\nm48F9.tmp
>>    Creating library .\Release\libpqdll.lib and object
>> .\Release\libpqdll.exp
>>         mt -manifest .\Release\libpq.dll.manifest
>> -outputresource:.\Release\libp
>> q.dll;2
>> Microsoft (R) Manifest Tool version 5.2.3790.2076
>> Copyright (c) Microsoft Corporation 2005.
>> All rights reserved.
>>
>> .\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)\Microsoft
>> SDKs\Windows\v7.0A
>> \bin\mt.EXE"' : return code '0x1f'
>> Stop.
>> NMAKE : fatal error U1077: '"c:\Program Files (x86)\Microsoft Visual
>> Studio 10.0
>> \VC\BIN\nmake.EXE"' : return code '0x2'
>> Stop.
>> [/quote]
>>
>> 2. Nevertheless, I did get the libpg.{dll,lib} files.
>> However, it looks like they are Release mode.
>
>
> Yes, this is a known issue.

Does this mean it will be fixed in the next release?

>
> Please note that this method of building libpq has been removed from
> Postgres 10, so it's considered to be deprecated for quite some time.
>
>
>>
>> Is there a way to build a Debug version of the libraries?
>> I'm building my app in Debug mode right now and prefer not to mix the
>> libraries.
>> Especially since I know Debug and Release version with MSVC link to a
>> different run-time.
>
>
> Yes, using the MSVC build system in src/tools/msvc. See section 17.1.3 on
> https://www.postgresql.org/docs/current/static/install-windows-full.html
>
> (You should be able to build "libpq" as the project - I haven't tested it,
> but I'm pretty sure that should work)

I will need to install ActivePerl? ;-)
Why not generate the solution and supply them with the source?

No, for now I will live with the one I built without manifest file and
supplying DEBUG=1.

Thank you.

>
> --
>  Magnus Hagander
>  Me: https://www.hagander.net/
>  Work: https://www.redpill-linpro.com/


В списке pgsql-general по дате отправления:

Предыдущее
От: John R Pierce
Дата:
Сообщение: Re: [GENERAL] Compatibility of libpg
Следующее
От: Igor Korot
Дата:
Сообщение: [GENERAL] PQerrorMessage documentation