[prev in list] [next in list] [prev in thread] [next in thread] 

List:       bind-users
Subject:    Re: Bind 9.14.1 will not build on OpenBSD 6.5 (amd64)
From:       paranoid sysadmin <paranoid.schizophrenic.2 () gmail ! com>
Date:       2019-04-27 22:57:19
Message-ID: CAAKJrYDx3y=cXgFifavvTnsrVWo=GuwxDr+VGfsGvBuOKvA6AQ () mail ! gmail ! com
[Download RAW message or body]

[Attachment #2 (multipart/alternative)]


I've tried gcc (a really old 4.2.1) first, then cc (clang 7.0.1) , and
finally egcc (gcc 8.3.0 package) . All fail on the same module/includes.
This does not appear to be a "compiler-ism" but rather an environmental
issue.

On Sat, Apr 27, 2019 at 3:55 PM paranoid sysadmin <
paranoid.schizophrenic.2@gmail.com> wrote:

> I have begun work on upgrading a group of OpenBSD boxes that are used at a
> bunch of small sites as a "network services" processor and gateway.. The
> existing boxes are mostly running some version of 9.12, though one is
> running a 9.11.Aside from the usual "version-ites" problems, this has been
> a largely mechanical "turn the crank and let the scripts run" process.
>
> EXCEPT for Bind. The biuld process keeps failing when it gets down far
> enough to trying to compile isc/lib/rwlock.c which fails miserably.. Using
> the "out of the box" gcc compiler generates the following:
>
> --- snip ---
> gcc -std=gnu99  -I/opt/src/bind-9.14.1 -I../.. -I./unix/include
> -I./pthreads/include  -I./include  -I./include
> -I/opt/src/bind-9.14.1/lib/dns/include  -I../../lib/dns/include
> -I/usr/include      -g -O2 -pthread -I /usr/local/include
> -I/usr/local/include/libxml2 -I/usr/local/include -I /usr/local/include
> -W -Wall -Wmissing-prototypes -Wcast-qual -Wwrite-strings -Wformat
> -Wpointer-arith -fno-strict-aliasing -fno-delete-null-pointer-checks  -c
> rwlock.c
> rwlock.c:51:24: error: immintrin.h: No such file or directory
> rwlock.c: In function 'isc__rwlock_lock':
> rwlock.c:302: warning: cast to pointer from integer of different size
> rwlock.c:302: warning: cast to pointer from integer of different size
> rwlock.c:302: warning: assignment makes integer from pointer without a cast
> rwlock.c: In function 'isc_rwlock_lock':
> rwlock.c:342: warning: implicit declaration of function '_mm_pause'
> rwlock.c: In function 'isc_rwlock_trylock':
> rwlock.c:395: warning: cast to pointer from integer of different size
> rwlock.c:395: warning: cast to pointer from integer of different size
> rwlock.c:395: warning: assignment makes integer from pointer without a cast
> rwlock.c: In function 'isc_rwlock_tryupgrade':
> rwlock.c:427: warning: cast to pointer from integer of different size
> rwlock.c:427: warning: cast to pointer from integer of different size
> rwlock.c:427: warning: assignment makes integer from pointer without a cast
> *** Error 1 in lib/isc (Makefile:273 'rwlock.o')
> *** Error 1 in lib (Makefile:89 'subdirs')
> *** Error 1 in /opt/src/bind-9.14.1 (Makefile:96 'subdirs')
> --- snip ---
>
> After looking, I found that the ./configure had selected the default gcc (
> 4.2.1 ) which is old. I have since retried this with both clang (7.0.1) and
> egcc (8.3.0) with similar, but slightly more illuminating results.
>
> While I'm not much of a C programmer, the problem appears to be in the
> "new code" that was added between 9.12.4-P1 (which  builds fine on this
> same platform) and the 9.14 version.
>
> --- snip from rwlock.c ---
> #if defined(_MSC_VER)
> # include <intrin.h>
> # define isc_rwlock_pause() YieldProcessor()
> #elif defined(__x86_64__)
> # include <immintrin.h>
> # define isc_rwlock_pause() _mm_pause()
> #elif defined(__i386__)
> --- snip ---
>
> Since I know you are going to ask, I'm trying to use the following
> configure:
>
> CC=/usr/bin/cc ./configure --prefix=/usr/local \
> --sbindir=/usr/local/sbin \
> --bindir=/usr/local/sbin \
> --libdir=/usr/local/lib \
> --includedir=/usr/local/include \
> --mandir=/usr/local/share/man \
> --sysconfdir=/etc \
> --enable-shared \
> --enable-static  \
> --with-openssl=/usr \
> --with-python=/usr/local/bin/python \
> --with-libxml2 \
> --with-libjson \
> --without-readline \
> --without-protobuf-c \
> --without-libfstrm \
> --with-lmdb \
> --disable-dnstap \
> --with-dlopen=no
>
> I have tried this with variations on this theme ( with libtool, etc.).
>
> Your thoughts will be appreciated.
>
> Attachments area
>
>
>
>
>
> --
>
>
> paranoid sysadmin
>


-- 


paranoid sysadmin

[Attachment #5 (text/html)]

<div dir="ltr">I&#39;ve tried gcc (a really old 4.2.1) first, then 
cc (clang 7.0.1) , and finally egcc (gcc 8.3.0 package) . All fail on the same \
module/includes. This does not appear to be a &quot;compiler-ism&quot; but rather an \
environmental issue.<br></div><br><div class="gmail_quote"><div dir="ltr" \
class="gmail_attr">On Sat, Apr 27, 2019 at 3:55 PM paranoid sysadmin &lt;<a \
href="mailto:paranoid.schizophrenic.2@gmail.com">paranoid.schizophrenic.2@gmail.com</a>&gt; \
wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px \
0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div \
dir="ltr">I have begun work on upgrading a group of OpenBSD boxes that are used at a \
bunch of small sites as a &quot;network services&quot; processor and gateway.. The \
existing boxes are mostly running some version of 9.12, though one is running a \
9.11.Aside from the usual &quot;version-ites&quot; problems, this has been a largely \
mechanical &quot;turn the crank and let the scripts run&quot; process.<br><br>EXCEPT \
for Bind. The biuld process keeps failing when it gets down far enough to trying to \
compile isc/lib/rwlock.c which fails miserably.. Using the &quot;out of the box&quot; \
gcc compiler generates the following:<br><br>--- snip ---<br>gcc -std=gnu99   \
-I/opt/src/bind-9.14.1 -I../.. -I./unix/include   -I./pthreads/include   -I./include  \
-I./include -I/opt/src/bind-9.14.1/lib/dns/include   -I../../lib/dns/include \
-I/usr/include           -g -O2 -pthread -I /usr/local/include \
-I/usr/local/include/libxml2 -I/usr/local/include -I /usr/local/include         -W \
-Wall -Wmissing-prototypes -Wcast-qual -Wwrite-strings -Wformat -Wpointer-arith \
-fno-strict-aliasing -fno-delete-null-pointer-checks   -c rwlock.c<br>rwlock.c:51:24: \
error: immintrin.h: No such file or directory<br>rwlock.c: In function \
&#39;isc__rwlock_lock&#39;:<br>rwlock.c:302: warning: cast to pointer from integer of \
different size<br>rwlock.c:302: warning: cast to pointer from integer of different \
size<br>rwlock.c:302: warning: assignment makes integer from pointer without a \
cast<br>rwlock.c: In function &#39;isc_rwlock_lock&#39;:<br>rwlock.c:342: warning: \
implicit declaration of function &#39;_mm_pause&#39;<br>rwlock.c: In function \
&#39;isc_rwlock_trylock&#39;:<br>rwlock.c:395: warning: cast to pointer from integer \
of different size<br>rwlock.c:395: warning: cast to pointer from integer of different \
size<br>rwlock.c:395: warning: assignment makes integer from pointer without a \
cast<br>rwlock.c: In function &#39;isc_rwlock_tryupgrade&#39;:<br>rwlock.c:427: \
warning: cast to pointer from integer of different size<br>rwlock.c:427: warning: \
cast to pointer from integer of different size<br>rwlock.c:427: warning: assignment \
makes integer from pointer without a cast<br>*** Error 1 in lib/isc (Makefile:273 \
&#39;rwlock.o&#39;)<br>*** Error 1 in lib (Makefile:89 &#39;subdirs&#39;)<br>*** \
Error 1 in /opt/src/bind-9.14.1 (Makefile:96 &#39;subdirs&#39;)<br>--- snip \
---<br><br>After looking, I found that the ./configure had selected the default gcc ( \
4.2.1 ) which is old. I have since retried this with both clang (7.0.1) and egcc \
(8.3.0) with similar, but slightly more illuminating results.<br><br>While I&#39;m \
not much of a C programmer, the problem appears to be in the &quot;new code&quot; \
that was added between 9.12.4-P1 (which   builds fine on this same platform) and the \
9.14 version. <br><br>--- snip from rwlock.c ---<br>#if defined(_MSC_VER)<br># \
include &lt;intrin.h&gt;<br># define isc_rwlock_pause() YieldProcessor()<br>#elif \
defined(__x86_64__)<br># include &lt;immintrin.h&gt;<br># define isc_rwlock_pause() \
_mm_pause()<br>#elif defined(__i386__)<br>--- snip ---<br><br>Since I know you are \
going to ask, I&#39;m trying to use the following configure:<br><br>CC=/usr/bin/cc \
./configure --prefix=/usr/local \<br>--sbindir=/usr/local/sbin \
\<br>--bindir=/usr/local/sbin \<br>--libdir=/usr/local/lib \
\<br>--includedir=/usr/local/include \<br>--mandir=/usr/local/share/man \
\<br>--sysconfdir=/etc \<br>--enable-shared \<br>--enable-static   \
\<br>--with-openssl=/usr \<br>--with-python=/usr/local/bin/python \<br>--with-libxml2 \
\<br>--with-libjson \<br>--without-readline \<br>--without-protobuf-c \
\<br>--without-libfstrm \<br>--with-lmdb \<br>--disable-dnstap \
\<br>--with-dlopen=no<br><br>I have tried this with variations on this theme ( with \
libtool, etc.).<br><br>Your thoughts will be appreciated.<br><br>Attachments area<br> \
<br>       <br>       <br><br clear="all"><br>-- <br><div dir="ltr" \
class="gmail-m_-2542039103670037012gmail_signature"><div>  </div><div>  \
</div><div>paranoid sysadmin</div></div></div></div> </blockquote></div><br \
clear="all"><br>-- <br><div dir="ltr" class="gmail_signature"><div>  </div><div>  \
</div><div>paranoid sysadmin</div></div>



_______________________________________________
Please visit https://lists.isc.org/mailman/listinfo/bind-users to unsubscribe from this list

bind-users mailing list
bind-users@lists.isc.org
https://lists.isc.org/mailman/listinfo/bind-users


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic