Re: make error - libpqdll.def No such file or directory - Mailing list pgsql-hackers

From Andrew Dunstan
Subject Re: make error - libpqdll.def No such file or directory
Date
Msg-id 569E8569.6080900@dunslane.net
Whole thread Raw
In response to Re: make error - libpqdll.def No such file or directory  ("Igal @ Lucee.org" <igal@lucee.org>)
Responses Re: make error - libpqdll.def No such file or directory  (Alvaro Herrera <alvherre@2ndquadrant.com>)
List pgsql-hackers

On 01/19/2016 01:08 PM, Igal @ Lucee.org wrote:
> 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 )
>


jacana does VPATH builds with pretty much this setup all the time. See 
for example 
<http://www.pgbuildfarm.org/cgi-bin/show_log.pl?nm=jacana&dt=2016-01-19%2013%3A00%3A09>

cheers

andrew







pgsql-hackers by date:

Previous
From: Robert Haas
Date:
Subject: Re: Odd behavior in foreign table modification (Was: Re: Optimization for updating foreign tables in Postgres FDW)
Next
From: Alvaro Herrera
Date:
Subject: Re: make error - libpqdll.def No such file or directory