Re: make error - libpqdll.def No such file or directory

From: "Igal (at) Lucee(dot)org" <igal(at)lucee(dot)org>
To: pgsql-hackers(at)postgresql(dot)org
Cc: "Igal (at) Lucee(dot)org" <igal(at)lucee(dot)org>
Subject: Re: make error - libpqdll.def No such file or directory
Date: 2016-01-19 18:08:13
Message-ID: 569E7B8D.2070908@lucee.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 1/17/2016 8:17 PM, Igal @ Lucee.org wrote:
> On 1/17/2016 3:24 PM, Igal @ Lucee.org wrote:
>> When running make I encounter the following error:
>>
>> gcc.exe: error: libpqdll.def: No such file or directory
>> /home/Admin/sources/postgresql-9.5.0/src/Makefile.shlib:393: recipe
>> for target 'libpq.dll' failed
>> make[3]: *** [libpq.dll] Error 1
>> make[3]: Leaving directory
>> '/home/Admin/builds/postgresql-9.5.0/src/interfaces/libpq'
>> Makefile:17: recipe for target 'all-libpq-recurse' failed
>> make[2]: *** [all-libpq-recurse] Error 2
>> make[2]: Leaving directory
>> '/home/Admin/builds/postgresql-9.5.0/src/interfaces'
>> Makefile:34: recipe for target 'all-interfaces-recurse' failed
>> make[1]: *** [all-interfaces-recurse] Error 2
>> make[1]: Leaving directory '/home/Admin/builds/postgresql-9.5.0/src'
>> GNUmakefile:11: recipe for target 'all-src-recurse' failed
>> make: *** [all-src-recurse] Error 2
>>
>> But /home/Admin/builds/postgresql-9.5.0/src/interfaces/libpq does
>> contain the file libpqdll.def
>
> The file /home/Admin/sources/postgresql-9.5.0/src/Makefile.shlib
> exists as well.
>
> It's hard for me to decipher which file is reporting the error and
> which file is not found.
>
> Any feedback would be greatly appreciated, thanks!
So when I try to run `make` I still get that error. Please note that I
am doing a VPATH build (the build in a separate directory from the
downloaded sources), which might play a role here:

x86_64-w64-mingw32-gcc.exe: error: libpqdll.def: No such file or directory
make[3]: *** [libpq.dll] Error 1
make[2]: *** [all-libpq-recurse] Error 2
make[1]: *** [all-interfaces-recurse] Error 2
make: *** [all-src-recurse] Error 2

I found a script that builds postgresql via MinGW-w64, and in it the
author specifically creates symlinks to libpqdll.def
https://github.com/Alexpux/MINGW-packages/blob/master/mingw-w64-postgresql/PKGBUILD#L72
-- excerpt below:

# Make DLL definition file visible during each arch build
ln -s
"${srcdir}/postgresql-$pkgver/src/interfaces/libpq/libpqdll.def"
src/interfaces/libpq/
ln -s
"${srcdir}/postgresql-$pkgver/src/interfaces/ecpg/ecpglib/libecpgdll.def" src/interfaces/ecpg/ecpglib/
ln -s
"${srcdir}/postgresql-$pkgver/src/interfaces/ecpg/pgtypeslib/libpgtypesdll.def"
src/interfaces/ecpg/pgtypeslib/
ln -s
"${srcdir}/postgresql-$pkgver/src/interfaces/ecpg/compatlib/libecpg_compatdll.def"
src/interfaces/ecpg/compatlib/

Why are the symlinks needed to make the definition files visible?

Is this an issue with VPATH builds? It is not mentioned in the docs
where VPATH builds are discussed (section 15.4
http://www.postgresql.org/docs/9.5/static/install-procedure.html )

What is my best solutions?

Thanks!

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Shulgin, Oleksandr 2016-01-19 18:09:53 Re: Stream consistent snapshot via a logical decoding plugin as a series of INSERTs
Previous Message Robert Haas 2016-01-19 18:01:47 Re: Re: [JDBC] 9.4-1207 behaves differently with server side prepared statements compared to 9.2-1102