[Pdns-users] Problem compiling pdns-recursor on Solaris 10

Robert Mavrinac mavrinac at uwindsor.ca
Thu May 6 19:55:00 UTC 2010


Can't compile pdns-recursor in pdns-2.9.22 because there is no epoll.h 
in Solaris 10, only poll.h and devpoll.h. Any ideas?

Operating system:

uname -a

   SunOS charlie 5.10 Generic_142901-08 i86pc i386 i86pc


cat /etc/release

                          Solaris 10 10/09 s10x_u8wos_08a X86
              Copyright 2009 Sun Microsystems, Inc.  All Rights Reserved.
                           Use is subject to license terms.
                              Assembled 16 September 2009


Environment (OpenCSW packages are installed):

   export
   
PATH=/opt/csw/gcc4/bin:/opt/csw/bin:/usr/ccs/bin:/usr/bin:/bin:/usr/openwin/bin:/usr/dt/bin 

   export LDFLAGS='-R/opt/csw/gcc4/lib -L/opt/csw/gcc4/lib
   -R/opt/csw/lib -L/opt/csw/lib -lsocket -lnsl'
   export CXXFLAGS='-I/opt/csw/include -DSOLARIS'
   export MAKE=gmake
   ./configure --prefix=/opt/csw --with-pic --enable-shared
   --with-modules="" --with-dynmodules="ldap"  --enable-recursor


if g++ -DHAVE_CONFIG_H -I. -I. -I..  -Ibackends/bind   
-DSYSCONFDIR=\"/opt/csw/etc\" -DLIBDIR=\"/opt/csw/lib\" 
-DLOCALSTATEDIR=\"/var/run\" -Ibackends/bind   -D_REENTRANT 
-I/opt/csw/include -DSOLARIS -Wall -O2 -MT epollmplexer.o -MD -MP -MF 
".deps/epollmplexer.Tpo" -c -o epollmplexer.o epollmplexer.cc; \
   then mv -f ".deps/epollmplexer.Tpo" ".deps/epollmplexer.Po"; else rm 
-f ".deps/epollmplexer.Tpo"; exit 1; fi
epollmplexer.cc:34: error: 'epoll_event' was not declared in this scope
epollmplexer.cc:34: error: template argument 1 is invalid
epollmplexer.cc: In constructor 'EpollFDMultiplexer::EpollFDMultiplexer()':
epollmplexer.cc:53: error: expected type-specifier before 'epoll_event'
epollmplexer.cc:53: error: expected `)' before 'epoll_event'
epollmplexer.cc:53: error: invalid conversion from 'int*' to 'int'
epollmplexer.cc:55: error: 'epoll_create' was not declared in this scope
epollmplexer.cc: In member function 'virtual void 
EpollFDMultiplexer::addFD(std::map<int, FDMultiplexer::Callback, 
std::less<int>, std::allocator<std::pair<const int, 
FDMultiplexer::Callback> > >&, int, boost::function<void ()(int, 
boost::any&), std::allocator<void> >, const boost::any&)':
epollmplexer.cc:79: error: aggregate 'epoll_event eevent' has incomplete 
type and cannot be defined
epollmplexer.cc:81: error: 'EPOLLIN' was not declared in this scope
epollmplexer.cc:81: error: 'EPOLLOUT' was not declared in this scope
epollmplexer.cc:86: error: 'EPOLL_CTL_ADD' was not declared in this scope
epollmplexer.cc:86: error: 'epoll_ctl' was not declared in this scope
epollmplexer.cc: In member function 'virtual void 
EpollFDMultiplexer::removeFD(std::map<int, FDMultiplexer::Callback, 
std::less<int>, std::allocator<std::pair<const int, 
FDMultiplexer::Callback> > >&, int)':
epollmplexer.cc:97: error: aggregate 'epoll_event dummy' has incomplete 
type and cannot be defined
epollmplexer.cc:101: error: 'EPOLL_CTL_DEL' was not declared in this scope
epollmplexer.cc:101: error: 'epoll_ctl' was not declared in this scope
epollmplexer.cc: In member function 'virtual int 
EpollFDMultiplexer::run(timeval*)':
epollmplexer.cc:111: error: request for member 'get' in 
'((EpollFDMultiplexer*)this)->EpollFDMultiplexer::d_eevents', which is 
of non-class type 'int'
epollmplexer.cc:111: error: 'epoll_wait' was not declared in this scope
epollmplexer.cc:122: error: invalid types 'int[int]' for array subscript
epollmplexer.cc:128: error: invalid types 'int[int]' for array subscript




More information about the Pdns-users mailing list