[Pdns-users] Solaris 11 SPARC pdns recursor compilation
Дмитрий Клим
dklimentiev at gmail.com
Tue Apr 11 17:31:22 UTC 2017
Hello guys,
I'm using pdns recursor 3.7.3 now (Solaris 11 sparc) which was compiled
from sources.
And I have an issue with pdns recursor upgrade to version 4.0.4.
I'm using the latest Solaris 11.3 release
root at rep11:/users/admin/pdns-recursor-4.0.4.1# pkg list entire
NAME (PUBLISHER) VERSION
IFO
entire 0.5.11-0.175.3.17.0.5.0
i--
So when I tried to build pdns with default Solaris gcc 4.8.2 I passed the
configure:
configure: Configuration summary
configure: =====================
configure:
configure: PowerDNS Recursor configured with:
'--with-boost=/opt/boost_1_63_0' '--prefix=/opt/pdns-recursor-4.0.4'
configure:
configure: CC: gcc
configure: CXX: g++
configure: LD: /usr/bin/ld
configure: CFLAGS: -fPIE -DPIE -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2
--param ssp-buffer-size=4 -fstack-protector -Wall -g -O2
configure: CPPFLAGS: -I/opt/boost_1_63_0 -pthreads
configure: CXXFLAGS: -fPIE -DPIE -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2
--param ssp-buffer-size=4 -fstack-protector -D_REENTRANT -Wall -g -O2
-std=gnu++11
configure: LDFLAGS:
configure: LIBS: -lsocket -lnsl -lresolv -lposix4 -lpthread -pthreads
configure: BOOST_CPPFLAGS: -I/opt/boost_1_63_0 -pthreads
configure:
configure: Features enabled
configure: ----------------
configure: Lua: lua
configure: OpenSSL ECDSA: no
configure: Protobuf: no
configure: systemd: no
configure: Context library: System V ucontexts
But than I got an error while gmake:
gmake[2]: Entering directory `/users/admin/pdns-recursor-4.0.4.1'
CXX arguments.o
In file included from logger.hh:33:0,
from arguments.cc:31:
iputils.hh: In member function ‘std::string
ComboAddress::toStringWithPort() const’:
iputils.hh:274:33: error: ‘to_string’ is not a member of ‘std’
return toString() + ":" + std::to_string(ntohs(sin4.sin_port));
^
iputils.hh:276:38: error: ‘to_string’ is not a member of ‘std’
return "["+toString() + "]:" + std::to_string(ntohs(sin4.sin_port));
^
iputils.hh: In member function ‘std::string Netmask::toString() const’:
iputils.hh:399:37: error: ‘to_string’ is not a member of ‘std’
return d_network.toString()+"/"+std::to_string((unsigned int)d_bits);
^
gmake[2]: *** [arguments.o] Error 1
gmake[2]: Leaving directory `/users/admin/pdns-recursor-4.0.4.1'
gmake[1]: *** [all-recursive] Error 1
gmake[1]: Leaving directory `/users/admin/pdns-recursor-4.0.4.1'
gmake: *** [all] Error 2
I'm not a C programmer but it looks for me like gcc issue so I built from
sources new gcc 5.4.0
Configure with new gcc also successfully passed:
root at rep11:/users/admin/pdns-recursor-4.0.4# CPPFLAGS=" -I/opt/boost_1_63_0
-pthreads" CXXFLAGS=" -std=gnu++14" CXX=/opt/gcc-5.4.0/bin/g++
CC=/opt/gcc-5.4.0/bin/gcc
PATH=/opt/gcc-5.4.0/bin:/usr/gnu/bin:/usr/bin:/usr/sbin
LD_LIBRARY_PATH=/opt/gcc-5.4.0/lib:/lib:/usr/lib:/lib/secure:/usr/lib/secure
./configure --with-boost=/opt/boost_1_63_0 --prefix=/opt/pdns-recursor-4.0.4
configure: Configuration summary
configure: =====================
configure:
configure: PowerDNS Recursor configured with:
'--with-boost=/opt/boost_1_63_0' '--prefix=/opt/pdns-recursor-4.0.4'
'CC=/opt/gcc-5.4.0/bin/gcc' 'CPPFLAGS= -I/opt/boost_1_63_0 -pthreads'
'CXX=/opt/gcc-5.4.0/bin/g++' 'CXXFLAGS= -std=gnu++14'
configure:
configure: CC: /opt/gcc-5.4.0/bin/gcc
configure: CXX: /opt/gcc-5.4.0/bin/g++
configure: LD: /usr/ccs/bin/ld
configure: CFLAGS: -fPIE -DPIE -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2
--param ssp-buffer-size=4 -fstack-protector -Wall -g -O2
configure: CPPFLAGS: -I/opt/boost_1_63_0 -pthreads -I/opt/boost_1_63_0
configure: CXXFLAGS: -fPIE -DPIE -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2
--param ssp-buffer-size=4 -fstack-protector -D_REENTRANT -std=gnu++14
configure: LDFLAGS:
configure: LIBS: -lsocket -lnsl -lresolv -lposix4 -lpthread
configure: BOOST_CPPFLAGS: -I/opt/boost_1_63_0
configure:
configure: Features enabled
configure: ----------------
configure: Lua: lua
configure: OpenSSL ECDSA: no
configure: Protobuf: no
configure: systemd: no
configure: Context library: System V ucontexts
Than I ran gmake
root at rep11:/users/admin/pdns-recursor-4.0.4# CPPFLAGS=" -I/opt/boost_1_63_0
-pthreads" CXXFLAGS=" -std=gnu++14" CXX=/opt/gcc-5.4.0/bin/g++
CC=/opt/gcc-5.4.0/bin/gcc
PATH=/opt/gcc-5.4.0/bin:/usr/gnu/bin:/usr/bin:/usr/sbin
LD_LIBRARY_PATH=/opt/gcc-5.4.0/lib:/lib:/usr/lib:/lib/secure:/usr/lib/secure
gmake
It passed much more but falied on ws-recursor:
CXX ws-recursor.o
/usr/ccs/bin/as: "/var/tmp//ccval4va.s", line 2: error: quoted-string
operand required
/usr/ccs/bin/as: "/var/tmp//ccval4va.s", line 4: error: invalid character
(0x40)
/usr/ccs/bin/as: "/var/tmp//ccval4va.s", line 5: error: unknown opcode
".balign"
/usr/ccs/bin/as: "/var/tmp//ccval4va.s", line 5: error: statement syntax
/usr/ccs/bin/as: "/var/tmp//ccval4va.s", line 7: error: unknown opcode
".incbin"
/usr/ccs/bin/as: "/var/tmp//ccval4va.s", line 7: error: statement syntax
/usr/ccs/bin/as: "/var/tmp//ccval4va.s", line 9: error: invalid character
(0x40)
/usr/ccs/bin/as: "/var/tmp//ccval4va.s", line 10: error: unknown opcode
".balign"
<...>
and so on till line 323
<...>
gmake[2]: *** [ws-recursor.o] Error 1
gmake[2]: Leaving directory `/users/admin/pdns-recursor-4.0.4'
gmake[1]: *** [all-recursive] Error 1
gmake[1]: Leaving directory `/users/admin/pdns-recursor-4.0.4'
gmake: *** [all] Error 2
It was assembler issue so I tried to change Solaris assembler
(/usr/ccs/bin/as) to GNU assembler (/usr/gnu/bin/as). But it didnt help.
So can anybody give me advice? I have no ideas any more.
--
С уважением,
Климентьев Дмитрий
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.powerdns.com/pipermail/pdns-users/attachments/20170411/d96be441/attachment.html>
More information about the Pdns-users
mailing list