bug-inetutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug-inetutils] Two AC-tests failing in BSD.


From: Mats Erik Andersson
Subject: [bug-inetutils] Two AC-tests failing in BSD.
Date: Thu, 9 Sep 2010 11:07:01 +0200
User-agent: Mutt/1.5.18 (2008-05-17)

Hello,

let me bring two tests from the configuration into focus.
These are plainly misconceived to properly examine BSD systems.

I do not understand how the C-code snippets used by "./configure"
are brought in, so I must refer to "./config.log" in explaining
the reasons of failure for OpenBSD or FreeBSD.

A general observation is that these two BSD versions do __not__
automatically include "<sys/types.h>", which GNU/Linux is very keen
in doing. This is the reason why both tests considered here are
misconceived, as they fail in the configuration stage for the
wrong reason.

If these problems should be regarded as bugs of the GNU Autotools,
then please help me by forwarding the following remarks to the
suitable authority!


1. OpenBSD and FreeBSD

   From config.log:

     configure:24416: checking wether getutent is declared
     configure:24416: gcc --std=gnu99 -c -g -O2 conftest.c >&5
     In file included from conftest.c:295:
     /usr/include/utmp.h:54: error: syntax error before "int32_t"
     /usr/include/utmp.h:63: error: syntax error before "int32_t"

   The file "conftest.c" __must__ be written with the inclusion

      #if HAVE_UTMP_H
      # include <sys/types.h>
      # include <utmp.h>
      #endif

   Presently <sys/types.h> is missing. Addition of this header file
   will prevent the syntax error to go away, thus rendering the test
   meaningful again. It will still fail though, since neither OpenBSD
   nor FreeBSD knows of getutent(), pututent(), but that is another
   story. However, the files "inetutils/src/utmp_*.c" will still fail
   at compile time since the are not written with this latter deficiency
   in mind.

2. FreeBSD

   This one is very important since it prevents the building of
   lib/libgnu.a properly.

   From config.log:

     configure:10925: checking whether forkpty is declared without a macro
     configure:10952: gcc --std=gnu99 -c -g -O2 conftest.c >&5
     In file included from conftest.c:135:
     /usr/include/libutil.h:69: error: syntax error before "void"
     /usr/include/libutil.h:83: error: syntax error before "size_t"
     /usr/include/libutil.h:85: error: syntax error before "int64_t"
       (further four similar statements)

   The file "conftest.c" __must__ be written with the inclusion

     #if HAVE_LIBUTIL_H
     # include <sys/types.h>
     # include <libutil.h>
     #endif

   The further tests

     configure:18419: checking whether forkpty is declared
     configure:10925: checking whether openpty is declared without a macro
     configure:23478: checking whether openpty is declared

   must be altered in an identical way. 

   According to the manual page pty(3) in FreeBSD, openpty(3) and
   forkpty(3) are in fact expecting

     #include <sys/types.h>
     #include <sys/ioctl.h>
     #include <termios.h>
     #include <libutil.h>

   but my quick tests indicate that <sys/types.h> and <libutil.h>
   together with the linker flag "-lutil" would be sufficient
   to conduct the tests used in the configuration step.


Regards,
Mats E A



reply via email to

[Prev in Thread] Current Thread [Next in Thread]