Bind 9.14.1 will not build on OpenBSD 6.5 (amd64)

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

Bind 9.14.1 will not build on OpenBSD 6.5 (amd64)

paranoid sysadmin
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

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

bind-users mailing list
[hidden email]
https://lists.isc.org/mailman/listinfo/bind-users
Reply | Threaded
Open this post in threaded view
|

Re: Bind 9.14.1 will not build on OpenBSD 6.5 (amd64)

Bind-Users forum mailing list
Hello,

I'm also an Openbsd user
I see you used CC can you try with GCC ?

I hope that will help
Le samedi 27 avril 2019 à 22:56:25 UTC+2, paranoid sysadmin <[hidden email]> a écrit :


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
_______________________________________________
Please visit https://lists.isc.org/mailman/listinfo/bind-users to unsubscribe from this list

bind-users mailing list
[hidden email]
https://lists.isc.org/mailman/listinfo/bind-users

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

bind-users mailing list
[hidden email]
https://lists.isc.org/mailman/listinfo/bind-users
Reply | Threaded
Open this post in threaded view
|

Re: Bind 9.14.1 will not build on OpenBSD 6.5 (amd64)

paranoid sysadmin
In reply to this post by paranoid sysadmin
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 <[hidden email]> 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
[hidden email]
https://lists.isc.org/mailman/listinfo/bind-users
Reply | Threaded
Open this post in threaded view
|

Fwd: Bind 9.14.1 will not build on OpenBSD 6.5 (amd64)

paranoid sysadmin
Whoops, Send my reply privately.

---------- Forwarded message ---------
From: paranoid sysadmin <[hidden email]>
Date: Sat, Apr 27, 2019 at 5:57 PM
Subject: Re: Bind 9.14.1 will not build on OpenBSD 6.5 (amd64)
To: [hidden email] <[hidden email]>


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 <[hidden email]> 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


--
 
 
paranoid sysadmin

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

bind-users mailing list
[hidden email]
https://lists.isc.org/mailman/listinfo/bind-users