[bind10-dev] nsas build issues

Jeremy C. Reed jreed at isc.org
Tue Dec 14 20:58:06 UTC 2010


The merge of NSAS caused various build failures. All of our automated 
builders failed for different reasons. We cleaned up some of it. But I 
still have a few issues. Feel free to jump in and fix.

1) On NetBSD:

Making all in nsas
Making all in .
Making all in tests
Making all in .
g++ -DHAVE_CONFIG_H -I. -I../../../..  -I../../../../src/lib -I../../../../src/lib  -I/usr/pkg/include -I../../../../src/lib/dns  -I../../../../src/lib/dns -I../../../../src/lib/nsas  -I../../../../src/lib/nsas -I/usr/pkg/include -I../../../../ext/asio -DASIO_DISABLE_THREADS=1 -DASIO_DISABLE_KQUEUE=1 -Wall -Wextra -Wwrite-strings -Woverloaded-virtual -Wno-sign-compare -Werror -fPIC -Wno-missing-field-initializers  -g -O2 -MT run_unittests-random_number_generator_unittest.o -MD -MP -MF .deps/run_unittests-random_number_generator_unittest.Tpo -c -o run_unittests-random_number_generator_unittest.o `test -f 'random_number_generator_unittest.cc' || echo './'`random_number_generator_unittest.cc
random_number_generator_unittest.cc: In member function 'virtual void isc::nsas::UniformRandomIntegerGeneratorTest_Constructor_Test::TestBody()':
random_number_generator_unittest.cc:64: error: 'ASSERT_DEATH' was not declared in this scope
random_number_generator_unittest.cc: In member function 'virtual void isc::nsas::WeightedRandomIntegerGeneratorTest_Constructor_Test::TestBody()':
random_number_generator_unittest.cc:116: error: expected primary-expression before 'gen2'
random_number_generator_unittest.cc:116: error: 'ASSERT_DEATH' was not declared in this scope
random_number_generator_unittest.cc:122: error: expected primary-expression before 'gen3'
random_number_generator_unittest.cc:128: error: expected primary-expression before 'gen4'
random_number_generator_unittest.cc:135: error: expected primary-expression before 'gen5'
*** Error code 1

Stop.
make: stopped in /backup/isc-work-svn/svn/trunk-clean/src/lib/nsas/tests
*** Error code 1


2) On Solaris using Sunstudio:

libtool: compile:  /usr/bin/CC -DHAVE_CONFIG_H -I. -I../../.. 
-I../../../src/lib -I../../../src/lib -I/udir/jreed/pkg/include 
-I../../../src/lib/dns -I../../../src/lib/dns -I../../../src/lib/nsas 
-I../../../src/lib/nsas -I/udir/jreed/pkg/include -D_XPG4_2 
-D__EXTENSIONS__ -I../../../ext/asio -DASIO_DISABLE_THREADS=1 -g 
-library=stlport4 -features=tmplife -features=tmplrefstatic -c 
nameserver_address_store.cc  -KPIC -DPIC -o 
.libs/nameserver_address_store.o
"/udir/jreed/pkg/include/boost/config/requires_threads.hpp", line 67: 
Error: #error "Compiler threading support is not turned on. Please set 
the correct command line options for threading: -mt".
*** Error code 1
make: Fatal error: Command failed for target 
`nameserver_address_store.lo'

So I added -mt to AM_CXXFLAGS and then get:

3)

making all in .
source='nameserver_address_store.cc' 
object='nameserver_address_store.lo' libtool=yes \
DEPDIR=.deps depmode=none /bin/bash ../../../depcomp \
/bin/bash ../../../libtool --tag=CXX    --mode=compile /usr/bin/CC 
-DHAVE_CONFIG_H -I. -I../../..   -I../../../src/lib -I../../../src/lib  
-I/udir/jreed/pkg/include -I../../../src/lib/dns  -I../../../src/lib/dns 
-I../../../src/lib/nsas  -I../../../src/lib/nsas 
-I/udir/jreed/pkg/include -D_XPG4_2 -D__EXTENSIONS__ -I../../../ext/asio 
-DASIO_DISABLE_THREADS=1   -mt   -g -library=stlport4 -features=tmplife 
-features=tmplrefstatic -c -o nameserver_address_store.lo 
nameserver_address_store.cc
libtool: compile:  /usr/bin/CC -DHAVE_CONFIG_H -I. -I../../.. 
-I../../../src/lib -I../../../src/lib -I/udir/jreed/pkg/include 
-I../../../src/lib/dns -I../../../src/lib/dns -I../../../src/lib/nsas 
-I../../../src/lib/nsas -I/udir/jreed/pkg/include -D_XPG4_2 
-D__EXTENSIONS__ -I../../../ext/asio -DASIO_DISABLE_THREADS=1 -mt -g 
-library=stlport4 -features=tmplife -features=tmplrefstatic -c 
nameserver_address_store.cc  -KPIC -DPIC -o 
.libs/nameserver_address_store.o
"/udir/jreed/pkg/include/boost/thread/future.hpp", line 422: Error: 
boost::unique_lock<boost::mutex>::operator=(boost::unique_lock<boost::mutex>&) 
is not accessible from 
boost::detail::future_waiter::all_futures_lock::all_futures_lock(std::vector<boost::detail::future_waiter::registered_waiter>&).
"/export/home/opt/sunstudio12.1/prod/include/CC/stlport4/stl/_alloc.h", 
line 89: Error: Type name expected instead of "os".
"/export/home/opt/sunstudio12.1/prod/include/CC/stlport4/stl/_alloc.h", 
line 343:     Where: While specializing 
"std::allocator<double>::rebind<std::allocator<double>::_Tp1>".
"/export/home/opt/sunstudio12.1/prod/include/CC/stlport4/stl/_alloc.h", 
line 343:     Where: Specialized in std::allocator<double>.
"/export/home/opt/sunstudio12.1/prod/include/CC/stlport4/stl/_alloc.h", 
line 416:     Where: Specialized in std::_Alloc_traits<double, 
std::allocator<double>>.
"/export/home/opt/sunstudio12.1/prod/include/CC/stlport4/stl/_vector.h", 
line 69:     Where: Specialized in std::_Vector_base<double, 
std::allocator<double>>.
"/export/home/opt/sunstudio12.1/prod/include/CC/stlport4/stl/_vector.h", 
line 96:     Where: Specialized in std::vector<double>.
"random_number_generator.h", line 148:     Where: Specialized in 
non-template code.
"/export/home/opt/sunstudio12.1/prod/include/CC/stlport4/stl/_alloc.h", 
line 89: Error: Type name expected instead of "os".
"/export/home/opt/sunstudio12.1/prod/include/CC/stlport4/stl/_alloc.h", 
line 417:     Where: While specializing 
"std::allocator<double>::rebind<double>".
"/export/home/opt/sunstudio12.1/prod/include/CC/stlport4/stl/_alloc.h", 
line 417:     Where: Specialized in std::_Alloc_traits<double, 
std::allocator<double>>.

...

"random_number_generator.h", line 148:     Where: Specialized in 
non-template code.
"random_number_generator.h", line 142: Error: The function "fabs" must 
have a prototype.
7 Error(s) detected.
*** Error code 1
make: Fatal error: Command failed for target 
`nameserver_address_store.lo'
current working directory 
/export/home/users/jreed/builder/work/BIND10/20101214172000-Solaris10-sparc-Sunstudio/build/src/lib/nsas


4) cc1plus: error: unrecognized command line option 
"-Wno-missing-field-initializers"

Ooops! I intgroduced that myself to fix problem seen on other platform. 
I need to check if gcc has that or don't use on older gcc or don't fail 
on errors at all here.

So I comment that out:

5) 
...

c/lib -I../../../src/lib -I/udir/jreed/pkg/include 
-I../../../src/lib/dns -I../../../src/lib/dns -I../../../src/lib/nsas 
-I../../../src/lib/nsas -I/udir/jreed/pkg/include -D_XPG4_2 
-D__EXTENSIONS__ -I../../../ext/asio -DASIO_DISABLE_THREADS=1 
-DASIO_DISABLE_DEV_POLL=1 -Wall -Wextra -Wwrite-strings 
-Woverloaded-virtual -Wno-sign-compare -Werror -fPIC -g -O2 -MT 
nameserver_address_store.lo -MD -MP -MF 
.deps/nameserver_address_store.Tpo -c nameserver_address_store.cc  -fPIC 
-DPIC -o .libs/nameserver_address_store.o
In file included from 
/udir/jreed/pkg/include/boost/thread/detail/platform.hpp:17,
                 from 
/udir/jreed/pkg/include/boost/thread/thread.hpp:12,
                 from /udir/jreed/pkg/include/boost/thread.hpp:13,
                 from nameserver_address_store.cc:17:
/udir/jreed/pkg/include/boost/config/requires_threads.hpp:47:5: #error 
"Compiler threading support is not turned on. Please set the correct 
command line options for threading: -pthread (Linux), -pthreads 
(Solaris) or -mthreads (Mingw32)"
In file included from 
/udir/jreed/pkg/include/boost/thread/thread.hpp:12,
                 from /udir/jreed/pkg/include/boost/thread.hpp:13,
                 from nameserver_address_store.cc:17:
/udir/jreed/pkg/include/boost/thread/detail/platform.hpp:67:9: #error 
"Sorry, no boost threads are available for this platform."
In file included from /udir/jreed/pkg/include/boost/thread.hpp:13,
                 from nameserver_address_store.cc:17:
/udir/jreed/pkg/include/boost/thread/thread.hpp:19:2: #error "Boost 
threads unavailable on this platform"


So I manually added -pthreads and then commented out that -Wno... flag 
... and it completes and "make check" does work in nsas/tests for 
Solaris10-sparc-GCC.


6) Problem with libboost_thread now on Debian. (See other email.)



More information about the bind10-dev mailing list