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.schizophreni...@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
_______________________________________________ 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