[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