From: | Dmitry Samersoff <dms(at)wplus(dot)net> |
---|---|
To: | The Hermit Hacker <scrappy(at)HUB(dot)ORG> |
Cc: | pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: [HACKERS] Off-topic: autoconf guru |
Date: | 1999-07-29 14:02:36 |
Message-ID: | XFMail.990729180236.dms@wplus.net |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On 29-Jul-99 The Hermit Hacker wrote:
>
> If you check configure.in with PostgreSQL, we use the --with-libs call in
> order to tell it where to look for 'libraries outside the system
> norm'...check the code for that, as I believe its what you are looking
> for, since, in general, the libpq would be outside that 'norm'..
Thanks, but I mention some other problem -
sequence
CC=g++
AC_CHECK_LIB(pq, PQexec)
is espanded by autoconf into
... main(){ PQexec(); } ...
that can't be compiled by g++,
instead
... main(){ PGconn *conn; const char *query; PQexec(conn,query); }
is there a way to correct this problem or I need to rewrite
autoconf macros?
configure:2672: checking for PQexec in -lpq
configure:2691: g++ -o conftest -g -O2 conftest.c -lpq
-L/usr/local/pgsql/lib 1>&5
configure:2688: Undefined symbol `PQexec(void)' referenced from text segment
collect2: ld returned 1 exit status
configure: failed program was:
#line 2680 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
builtin and then its argument prototype would still apply. */
char PQexec();
int main() {
PQexec()
; return 0; }
>
>
> On Thu, 29 Jul 1999, Dmitry Samersoff wrote:
>
>> Is there any autoconf guru?
>>
>> I have lots problems Autoconf + C++ library.
>>
>> if I make CC=CXX, configure can't find libpq,
>> AC_CHECK_LIB(pq, PQexec)
>>
>> because it try link PQexec() - and it is missing
>>
>> if I keep CC as cc
>> AC_TRY_COMPILE([#include <stdlib.h>
>> #include <sys/types.h>
>> #include <sys/socket.h>
>> ],
>> [int a = accept(1, (struct sockaddr *) 0, (int *) 0);],
>> [AC_DEFINE(SOCKET_SIZE_TYPE, int) AC_MSG_RESULT(int)],
>> [AC_DEFINE(SOCKET_SIZE_TYPE, size_t) AC_MSG_RESULT(size_t)])
>>
>> return wrong result because int always aceptable for C but
>> can cause error for CXX
>>
>> Is there autoconf version modified for work with C++ or
>> I have to patch it's macros by my self ?
>>
>>
>> ---
>> Dmitry Samersoff, dms(at)wplus(dot)net, ICQ:3161705
>> http://devnull.wplus.net
>> * There will come soft rains ...
>>
>
> Marc G. Fournier ICQ#7615664 IRC Nick:
> Scrappy
> Systems Administrator @ hub.org
> primary: scrappy(at)hub(dot)org secondary:
> scrappy(at){freebsd|postgresql}.org
---
Dmitry Samersoff, dms(at)wplus(dot)net, ICQ:3161705
http://devnull.wplus.net
* There will come soft rains ...
From | Date | Subject | |
---|---|---|---|
Next Message | Ryan Kirkpatrick | 1999-07-29 14:33:02 | Re: [PORTS] RedHat6.0 & Alpha |
Previous Message | Timothy Potier | 1999-07-29 13:57:57 | Unusual Problem? |