Обсуждение: compile problem in libpq

Поиск
Список
Период
Сортировка

compile problem in libpq

От
Michael Meskes
Дата:
I had t add a #include <sys/time.h> to get fe-misc.c to compile on my Debian
GNU/Linux 2.0 machine.

Michael
--
Dr. Michael Meskes, Project-Manager    | topsystem Systemhaus GmbH
meskes@topsystem.de                    | Europark A2, Adenauerstr. 20
meskes@debian.org                      | 52146 Wuerselen
Go SF49ers! Go Rhein Fire!             | Tel: (+49) 2405/4670-44
Use Debian GNU/Linux!                  | Fax: (+49) 2405/4670-10

Re: [HACKERS] compile problem in libpq

От
Bruce Momjian
Дата:
>
> I had t add a #include <sys/time.h> to get fe-misc.c to compile on my Debian
> GNU/Linux 2.0 machine.
>

Do you have the #include <time.h> line, and you need sys/time.h too?

--
Bruce Momjian                          |  830 Blythe Avenue
maillist@candle.pha.pa.us              |  Drexel Hill, Pennsylvania 19026
  +  If your life is a hard drive,     |  (610) 353-9879(w)
  +  Christ can be your backup.        |  (610) 853-3000(h)

Re: [HACKERS] compile problem in libpq

От
Tom Lane
Дата:
>> I had t add a #include <sys/time.h> to get fe-misc.c to compile on my Debian
>> GNU/Linux 2.0 machine.

> Do you have the #include <time.h> line, and you need sys/time.h too?

Now that he mentions it, I've seen the same thing on Linux boxen:
you need to include both <time.h> and <sys/time.h>.  (I think the
latter pulls in some definitions needed to use select() on that OS.)
Sorry for not remembering about it.  On my OS <time.h> just includes
<sys/time.h> ...


The Autoconf manual says:

 - Macro: AC_HEADER_TIME
     If a program may include both `time.h' and `sys/time.h', define
     `TIME_WITH_SYS_TIME'.  On some older systems, `sys/time.h'
     includes `time.h', but `time.h' is not protected against multiple
     inclusion, so programs should not explicitly include both files.
     This macro is useful in programs that use, for example, `struct
     timeval' or `struct timezone' as well as `struct tm'.  It is best
     used in conjunction with `HAVE_SYS_TIME_H', which can be checked
     for using `AC_CHECK_HEADERS(sys/time.h)'.

          #if TIME_WITH_SYS_TIME
          # include <sys/time.h>
          # include <time.h>
          #else
          # if HAVE_SYS_TIME_H
          #  include <sys/time.h>
          # else
          #  include <time.h>
          # endif
          #endif

I notice that configure.in invokes AC_HEADER_TIME, but does not check
for existence of <sys/time.h> ... and neither of these symbols are
getting exported into config.h anyway.  But that's probably the most
robust advice you're going to find.

            regards, tom lane

Re: [HACKERS] compile problem in libpq

От
Bruce Momjian
Дата:
>
> >> I had t add a #include <sys/time.h> to get fe-misc.c to compile on my Debian
> >> GNU/Linux 2.0 machine.
>
> > Do you have the #include <time.h> line, and you need sys/time.h too?
>
> Now that he mentions it, I've seen the same thing on Linux boxen:
> you need to include both <time.h> and <sys/time.h>.  (I think the
> latter pulls in some definitions needed to use select() on that OS.)
> Sorry for not remembering about it.  On my OS <time.h> just includes
> <sys/time.h> ...

OK, I added sys/time.h to fe-misc.c  postmaster.c has time.h and
sys/time.h, so why not here too?

--
Bruce Momjian                          |  830 Blythe Avenue
maillist@candle.pha.pa.us              |  Drexel Hill, Pennsylvania 19026
  +  If your life is a hard drive,     |  (610) 353-9879(w)
  +  Christ can be your backup.        |  (610) 853-3000(h)