BUG #5960: No rule to make target 'libpq.a', needed by 'all-static-lib'
The following bug has been logged online:
Bug reference: 5960
Logged by: Julia Jacobson
Email address: julia.jacobson@arcor.de
PostgreSQL version: 8.4.6
Operating system: Windows 7 with Msys/MinGW
Description: No rule to make target 'libpq.a', needed by
'all-static-lib'
Details:
Dear PostgreSQL developers,
When trying to compile PostgreSQL 8.4.6 on Windows 7 using MSys (MinGW) in
order to build a static version of libpq by the commands
./configure --without-zlib --disable-shared
make
the compilation process ends with the error message
"No rule to make target 'libpq.a', needed by 'all-static-lib'".
This issue was already discussed here on the mailing list more than 6 years
ago and successfully fixed with a patch:
http://archives.postgresql.org/pgsql-hackers-win32/2004-10/msg00057.php
However, it seems to me like there is a similar problem in version 8.4.x.
Please corrected me if I'm wrong.
Regards,
Julia
On 30/03/11 09:54 AM, Julia Jacobson wrote:
The following bug has been logged online:
Bug reference: 5960
Logged by: Julia Jacobson
Email address: julia.jacobson@arcor.de
PostgreSQL version: 8.4.6
Operating system: Windows 7 with Msys/MinGW
Description: No rule to make target 'libpq.a', needed by
'all-static-lib'
Details:Dear PostgreSQL developers,
When trying to compile PostgreSQL 8.4.6 on Windows 7 using MSys (MinGW) in
order to build a static version of libpq by the commands
./configure --without-zlib --disable-shared
make
the compilation process ends with the error message
"No rule to make target 'libpq.a', needed by 'all-static-lib'".
This issue was already discussed here on the mailing list more than 6 years
ago and successfully fixed with a patch:
http://archives.postgresql.org/pgsql-hackers-win32/2004-10/msg00057.php
However, it seems to me like there is a similar problem in version 8.4.x.
Please corrected me if I'm wrong.Regards,
Julia
hm, out of the blue, i believe you may have hitten yourself in the foot
with the --disable-shared option. If that fails. then maybe you'll have
different
results with postgresql 8.4.7..
Cheers,
--
Etienne Robillard
Company: Green Tea Hackers Club
Occupation: Software Developer (and CEO)
E-mail: erob@gthcfoundation.org
Work phone: 450-936-2123
Website (Company): https://gthc.org/
Website (Blog): https://gthc.org/blog/
PGP public key fingerprint: F2A9 32EA 8E7C 460F 1728 A1A7 649C 7F17 A086 DDEC
During times of universal deceit, telling the truth becomes a revolutionary act. -- George Orwell
If a free society cannot help the many who are poor, it cannot save the few who are rich. -- John F. Kennedy
Hello Etienne,
Thanks for your answer.
What do you mean by "you may have hitten yourself in the foot with the --disable-shared option"?
When I don't use this option, everything works fine.
Compiling PostgreSQL 8.4.7 doesn't work either.
The problem is that I need a static libpq. Leaving out the --disable-shared option doesn't results in some pseudo-static libpq and my application still requires a dynamic libpq apart from the static one.
Regards,
Julia
----- Original Nachricht ----
Von: Etienne Robillard <erob@gthcfoundation.org>
An: Julia Jacobson <julia.jacobson@arcor.de>
Datum: 30.03.2011 17:14
Betreff: Re: [BUGS] BUG #5960: No rule to make target 'libpq.a',
needed by 'all-static-lib'
Show quoted text
On 30/03/11 09:54 AM, Julia Jacobson wrote:
The following bug has been logged online:
Bug reference: 5960
Logged by: Julia Jacobson
Email address: julia.jacobson@arcor.de
PostgreSQL version: 8.4.6
Operating system: Windows 7 with Msys/MinGW
Description: No rule to make target 'libpq.a', needed by
'all-static-lib'
Details:Dear PostgreSQL developers,
When trying to compile PostgreSQL 8.4.6 on Windows 7 using MSys (MinGW)
in
order to build a static version of libpq by the commands
./configure --without-zlib --disable-shared
make
the compilation process ends with the error message
"No rule to make target 'libpq.a', needed by 'all-static-lib'".
This issue was already discussed here on the mailing list more than 6years
ago and successfully fixed with a patch:
http://archives.postgresql.org/pgsql-hackers-win32/2004-10/msg00057.php
However, it seems to me like there is a similar problem in version 8.4.x.
Please corrected me if I'm wrong.Regards,
Juliahm, out of the blue, i believe you may have hitten yourself in the foot
with the --disable-shared option. If that fails. then maybe you'll have
different
results with postgresql 8.4.7..Cheers,
--
Etienne RobillardCompany: Green Tea Hackers Club
Occupation: Software Developer (and CEO)
E-mail: erob@gthcfoundation.org
Work phone: 450-936-2123
Website (Company): https://gthc.org/
Website (Blog): https://gthc.org/blog/
PGP public key fingerprint: F2A9 32EA 8E7C 460F 1728 A1A7 649C 7F17 A086
DDECDuring times of universal deceit, telling the truth becomes a revolutionary
act. -- George OrwellIf a free society cannot help the many who are poor, it cannot save the few
who are rich. -- John F. Kennedy
On 30/03/2011 19:49, Etienne Robillard wrote:
On 30/03/11 12:56 PM, julia.jacobson@arcor.de wrote:
Hello Etienne,
Thanks for your answer.
What do you mean by "you may have hitten yourself in the foot with the --disable-shared option"?
When I don't use this option, everything works fine.
Compiling PostgreSQL 8.4.7 doesn't work either.
The problem is that I need a static libpq. Leaving out the --disable-shared option doesn't results in some pseudo-static libpq and my application still requires a dynamic libpq apart from the static one.Regards,
Juliahave you tried with "--enable-static=libpq" ? I'm not sure but this
issue could also be related
to the Mingw environment.Cheers,
Etienne
Well, the "--enable-static=libpq" option isn't very effective, since it
results in the following message:
configure: WARNING: option ignored: --enable-static
Therefore, I would be happy about the compilation with the
--disable-shared option finishing without errors.
Import Notes
Reply to msg id not found: 4D936D0C.6010707@gthcfoundation.org
On Wed, Mar 30, 2011 at 9:54 AM, Julia Jacobson <julia.jacobson@arcor.de> wrote:
When trying to compile PostgreSQL 8.4.6 on Windows 7 using MSys (MinGW) in
order to build a static version of libpq by the commands
./configure --without-zlib --disable-shared
make
the compilation process ends with the error message
"No rule to make target 'libpq.a', needed by 'all-static-lib'".
This issue was already discussed here on the mailing list more than 6 years
ago and successfully fixed with a patch:
http://archives.postgresql.org/pgsql-hackers-win32/2004-10/msg00057.php
However, it seems to me like there is a similar problem in version 8.4.x.
Please corrected me if I'm wrong.
I tried this on MacOS X and got a different error:
make -C interfaces all
make -C libpq all
make[3]: *** No rule to make target `libpq.5.4.dylib', needed by
`all-shared-lib'. Stop.
make[2]: *** [all-libpq-recurse] Error 2
make[1]: *** [all-interfaces-recurse] Error 2
make: *** [all-src-recurse] Error 2
I also tried it on Linux (Fedora 12), where it completed successfully.
Unfortunately, I don't think we have any buildfarm coverage of
--disable-shared, so there is no automatic way for us to notice when
this has gotten broken.
The problem appears to be that the all-shared-lib target in
src/Makefile.shlib depends on $(shlib). The first two, generic
assignments to that variable are protected like this:
ifeq ($(enable_shared), yes)
shlib = $(NAME)$(DLSUFFIX)
endif
But the remaining, platform-specific ones are not. So my guess is
this will work on any platform that uses the default value for shlib,
and fail on any platform that has a platform-specific override,
namely: aix, darwin, freebsd, hpux, irix, cygwin, win32.
Can you see whether the following patch fixes it for you? It seems to
work on MacOS X, but I don't have a mingw environment handy.
--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company