stdint.h, machine/types.h and config.site (+ net/net-snmp fix)

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

stdint.h, machine/types.h and config.site (+ net/net-snmp fix)

Moritz Grimm
Hi,


currently, /usr/ports/infrastructure/db/config.site has HAVE_STDINT_H
disabled ... with the recent changes, this is probably not what we want.
Same with <machine/types.h>, which does not exist anymore and causes
trouble for misc/rpm, for example... it needs to be disabled.

I already built a couple ports with the attached config.site-patch, and
so far, most ports are looking pretty good. Some GNU ports' glob.h files
occasionally redefine __size_t, causing a warning.

The first one I saw break was net/net-snmp. It does not find
<sys/disklabel.h> anymore -- its test for it is broken (they insist on
including <machine/types.h> instead of including it conditionally.)
Trivial patch that is good enough for the ports tree is attached as
well... more as I run into further issues, if and when I do.

All of this happened on i386.


Moritz

Index: config.site
===================================================================
RCS file: /cvs/ports/infrastructure/db/config.site,v
retrieving revision 1.8
diff -p -u -r1.8 config.site
--- config.site 20 Apr 2005 22:18:04 -0000 1.8
+++ config.site 7 Jan 2006 15:01:04 -0000
@@ -670,7 +670,7 @@ ac_cv_header_locale_h=${ac_cv_header_loc
 ac_cv_header_machine_endian_h=${ac_cv_header_machine_endian_h=yes}
 ac_cv_header_machine_limits_h=${ac_cv_header_machine_limits_h=yes}
 ac_cv_header_machine_param_h=${ac_cv_header_machine_param_h=yes}
-ac_cv_header_machine_types_h=${ac_cv_header_machine_types_h=yes}
+ac_cv_header_machine_types_h=${ac_cv_header_machine_types_h=no}
 ac_cv_header_malloc_h=${ac_cv_header_malloc_h=no}
 ac_cv_header_malloc_h=${ac_cv_header_malloc_h=yes}
 ac_cv_header_math_h=${ac_cv_header_math_h=yes}
@@ -740,7 +740,7 @@ ac_cv_header_signal_h=${ac_cv_header_sig
 ac_cv_header_stat_h=${ac_cv_header_stat_h=no}
 ac_cv_header_stdarg_h=${ac_cv_header_stdarg_h=yes}
 ac_cv_header_stdc=${ac_cv_header_stdc=yes}
-ac_cv_header_stdint_h=${ac_cv_header_stdint_h=no}
+ac_cv_header_stdint_h=${ac_cv_header_stdint_h=yes}
 ac_cv_header_stdio_h=${ac_cv_header_stdio_h=yes}
 ac_cv_header_stddef_h=${ac_cv_header_stddef_h=yes}
 ac_cv_header_stdlib_h=${ac_cv_header_stdlib_h=yes}

Index: patches/patch-configure
===================================================================
RCS file: /cvs/ports/net/net-snmp/patches/patch-configure,v
retrieving revision 1.3
diff -p -u -r1.3 patch-configure
--- patches/patch-configure 5 Nov 2005 19:09:38 -0000 1.3
+++ patches/patch-configure 7 Jan 2006 15:36:17 -0000
@@ -1,6 +1,6 @@
 $OpenBSD: patch-configure,v 1.3 2005/11/05 19:09:38 bernd Exp $
 --- configure.orig Thu Jun 30 04:45:09 2005
-+++ configure Thu Nov  3 23:55:00 2005
++++ configure Sat Jan  7 16:28:11 2006
 @@ -7452,6 +7452,7 @@ openbsd*)
    need_lib_prefix=no
    need_version=no
@@ -78,3 +78,11 @@ $OpenBSD: patch-configure,v 1.3 2005/11/
  do
  as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
  echo "$as_me:$LINENO: checking for $ac_header" >&5
+@@ -20777,7 +20752,6 @@ cat confdefs.h >>conftest.$ac_ext
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h.  */
+
+-#include <machine/types.h>
+ #include <sys/disklabel.h>
+
+ _ACEOF
Reply | Threaded
Open this post in threaded view
|

Re: stdint.h, machine/types.h and config.site (devel/jdk/1.5 breakage,

Moritz Grimm
Moritz Grimm wrote:
> currently, /usr/ports/infrastructure/db/config.site has HAVE_STDINT_H
> disabled ... with the recent changes, this is probably not what we want.
> Same with <machine/types.h>, which does not exist anymore and causes
> trouble for misc/rpm, for example... it needs to be disabled.
>
> I already built a couple ports with the attached config.site-patch, and
> so far, most ports are looking pretty good. Some GNU ports' glob.h files
> occasionally redefine __size_t, causing a warning.

Around 300 packages later, I found another breakage: devel/jdk/1.5 won't
compile due to the missing <machine/types.h>. No patch this time; I
simply don't understand how JDK builds. Jdk-1.4 built and installed
fine, obviously.

This was the only other breakage I saw with the fixed up config.site ...
I built only around 10% of the ports, but I have to say, it's all nice
'n dandy -- no widespread fallout.

Another thing ... net/net-snmp's MAINTAINER (opti@) is not reachable,
the mail bounced. Also, building the net-snmp package screws with
ldconfig (during `make fake'.) It adds
/usr/ports/net/net-snmp/w-net-snmp-5.1.3p1/fake-i386/usr/local/lib to
the library search paths.


Moritz

Reply | Threaded
Open this post in threaded view
|

Re: stdint.h, machine/types.h and config.site (+ net/net-snmp fix)

Marc Espie-2
In reply to this post by Moritz Grimm
On Sat, Jan 07, 2006 at 04:53:58PM +0100, Moritz Grimm wrote:
> Hi,
>
>
> currently, /usr/ports/infrastructure/db/config.site has HAVE_STDINT_H
> disabled ... with the recent changes, this is probably not what we want.
> Same with <machine/types.h>, which does not exist anymore and causes
> trouble for misc/rpm, for example... it needs to be disabled.
>

I would very much prefer to have no entries in config.site for these things
until things settle a little bit more. It's much simpler to remove these cache
entries for now, until we have stable headers again.