Re: [HACKERS] Off-topic: autoconf guru

Поиск
Список
Период
Сортировка
От Dmitry Samersoff
Тема Re: [HACKERS] Off-topic: autoconf guru
Дата
Msg-id XFMail.990729180236.dms@wplus.net
обсуждение исходный текст
Ответ на Re: [HACKERS] Off-topic: autoconf guru  (The Hermit Hacker <scrappy@hub.org>)
Ответы Re: [HACKERS] Off-topic: autoconf guru  (Tom Lane <tgl@sss.pgh.pa.us>)
Список 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@wplus.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@hub.org           secondary:
> scrappy@{freebsd|postgresql}.org 

---
Dmitry Samersoff, dms@wplus.net, ICQ:3161705
http://devnull.wplus.net
* There will come soft rains ...


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

Предыдущее
От: Bruce Momjian
Дата:
Сообщение: Re: Selectivity of "=" (Re: [HACKERS] Index not used on simple se lect)
Следующее
От: Bruce Momjian
Дата:
Сообщение: Re: [BUGS] [Keystone Slip # 14] Building pristine source on RedHat Alpha6.0