<div dir="ltr">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.<br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, Apr 27, 2019 at 3:55 PM paranoid sysadmin <<a href="mailto:paranoid.schizophrenic.2@gmail.com">paranoid.schizophrenic.2@gmail.com</a>> 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 "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.<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 "out of the box" 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 'isc__rwlock_lock':<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 'isc_rwlock_lock':<br>rwlock.c:342: warning: implicit declaration of function '_mm_pause'<br>rwlock.c: In function 'isc_rwlock_trylock':<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 'isc_rwlock_tryupgrade':<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 'rwlock.o')<br>*** Error 1 in lib (Makefile:89 'subdirs')<br>*** Error 1 in /opt/src/bind-9.14.1 (Makefile:96 'subdirs')<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'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. <br><br>--- snip from rwlock.c ---<br>#if defined(_MSC_VER)<br># include <intrin.h><br># define isc_rwlock_pause() YieldProcessor()<br>#elif defined(__x86_64__)<br># include <immintrin.h><br># define isc_rwlock_pause() _mm_pause()<br>#elif defined(__i386__)<br>--- snip ---<br><br>Since I know you are going to ask, I'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>