<div dir="ltr">BTW, I compiled gcc 4.9.4 but it got the same error as gcc 5.4.0.<div><br></div><div>So now I'm take a look at files generated for assembler.</div><div>This is the command which generates file from ws-recursor.cc for as:</div><div> /opt/gcc-5.4.0/libexec/gcc/sparc-sun-solaris2.11/5.4.0/cc1plus -quiet -I . -I ./ext/yahttp -I /opt/boost_1_63_0 -I ./ext/json11 -I ./ext/rapidjson/include -I ./ext/yahttp -I /opt/boost_1_63_0 -I /opt/boost_1_63_0 -MD ws-recursor.d -MF .deps/ws-recursor.Tpo -MP -MT ws-recursor.o -D__sparcv8 -D_REENTRANT -D_PTHREADS -D HAVE_CONFIG_H -D SYSCONFDIR="/opt/pdns-recursor-4.0.4/etc" -D SYSCONFDIR="/opt/pdns-recursor-4.0.4/etc" -D PKGLIBDIR="/opt/pdns-recursor-4.0.4/lib/pdns-recursor" -D LOCALSTATEDIR="/var/run" -D PIE -U _FORTIFY_SOURCE -D _FORTIFY_SOURCE=2 -D _REENTRANT ws-recursor.cc -quiet -dumpbase ws-recursor.cc -mcpu=v9 -auxbase-strip ws-recursor.o -O3 -Wall -std=gnu++14 -fPIE -fstack-protector --param ssp-buffer-size=4 -o /var/tmp//ccZ0n0Ad.s</div><div><br></div><div>This are first lines of the file in /var/tmp:</div><div><div>        .file   "ws-recursor.cc"</div><div>        .section .rodata</div><div>.global gLICENSEData</div><div>.type gLICENSEData, @object</div><div>.balign 4</div><div>gLICENSEData:</div><div>.incbin "html/LICENSE"</div><div>.global gLICENSEEnd</div></div><div><br></div><div>So to fix errors I make some changes:</div><div><span style="font-size:12.8px">ERROR: </span><span style="font-size:12.8px">line 2: error: quoted-string operand required. Thats the line 2:</span></div><div>.section .rodata </div><div>I changed it to:</div><div>.section ".rodata"<br></div><div><br></div><div><span style="font-size:12.8px">ERROR: line 4: error: invalid character (0x40). </span><span style="font-size:12.8px">Thats the line 4:</span></div><div>.type gLICENSEData, @object<br></div><div>I changed it to:<br></div><div>.type gLICENSEData, #object<br></div><div><br></div><div>ERROR: <span style="font-size:12.8px"> </span><span style="font-size:12.8px">line 5: error: unknown opcode ".balign", </span><span style="font-size:12.8px">line 5: error: statement syntax. </span><span style="font-size:12.8px">Thats the line 5:</span></div><div>.balign 4<span style="font-size:12.8px"><br></span></div><div>I changed it to:<br></div><div>.align 4<br></div><div><br></div><div>This changes fix above errors. The last error is:</div><div><span style="font-size:12.8px">line 7: error: unknown opcode ".incbin"</span><br></div><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">But .incbin is gnu assembler directive. I cant find its alternative in Solaris assembler. </span></div><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">And if we take look at code generated for assembler from another file "resolver.cc":</span></div><div><div><span style="font-size:12.8px">        .file   "resolver.cc"</span></div><div><span style="font-size:12.8px">        .section        ".text"</span></div><div><span style="font-size:12.8px">        .align 4</span></div><div><span style="font-size:12.8px">        .type   _ZL17__gthread_triggerv, #function</span></div><div><span style="font-size:12.8px">        .proc   020</span></div><div style="font-size:12.8px">We can see that it hasnt got errors with quotes, unknown symbols and alignment. And thats why this file is assembling well.</div></div><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">I completely cant understand why </span>cc1plus generates those wrong code for<span style="font-size:12.8px"> </span>ws-recursor.</div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">2017-04-13 12:39 GMT+03:00 Дмитрий Клим <span dir="ltr"><<a href="mailto:dklimentiev@gmail.com" target="_blank">dklimentiev@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Thaigo,<div>gcc 4.8.2 uses libstdc++.so.6.0.18, gcc 5.4.0 - libstdc++.so.6.0.21</div></div><div class="gmail_extra"><div><div class="h5"><br><div class="gmail_quote">2017-04-13 0:08 GMT+03:00 Thiago Farina <span dir="ltr"><<a href="mailto:tfransosi@gmail.com" target="_blank">tfransosi@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote"><div><div class="m_2851011375910376432h5">On Tue, Apr 11, 2017 at 2:31 PM, Дмитрий Клим <span dir="ltr"><<a href="mailto:dklimentiev@gmail.com" target="_blank">dklimentiev@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>Hello guys,</div><div>I'm using pdns recursor 3.7.3 now (Solaris 11 sparc) which was compiled from sources.</div><div>And I have an issue with pdns recursor upgrade to version 4.0.4.</div><div><br></div><div>I'm using the latest Solaris 11.3 release <br></div><div>root@rep11:/users/admin/pdns-r<wbr>ecursor-4.0.4.1# pkg list entire</div><div>NAME (PUBLISHER)                                  VERSION                    IFO</div><div>entire                                            0.5.11-0.175.3.17.0.5.0    i--</div><div><br></div><div>So when I tried to build pdns with default Solaris gcc 4.8.2 I passed the configure:</div><div>configure: Configuration summary</div><div>configure: =====================</div><div>configure:</div><div>configure: PowerDNS Recursor configured with:  '--with-boost=/opt/boost_1_63<wbr>_0' '--prefix=/opt/pdns-recursor-4<wbr>.0.4'</div><div>configure:</div><div>configure: CC: gcc</div><div>configure: CXX: g++</div><div>configure: LD: /usr/bin/ld</div><div>configure: CFLAGS: -fPIE -DPIE -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 --param ssp-buffer-size=4 -fstack-protector -Wall -g -O2</div><div>configure: CPPFLAGS:  -I/opt/boost_1_63_0 -pthreads</div><div>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</div><div>configure: LDFLAGS:</div><div>configure: LIBS: -lsocket -lnsl -lresolv -lposix4 -lpthread    -pthreads</div><div>configure: BOOST_CPPFLAGS: -I/opt/boost_1_63_0 -pthreads</div><div>configure:</div><div>configure: Features enabled</div><div>configure: ----------------</div><div>configure: Lua: lua</div><div>configure: OpenSSL ECDSA: no</div><div>configure: Protobuf: no</div><div>configure: systemd: no</div><div>configure: Context library: System V ucontexts</div><div><br></div><div>But than I got an error while gmake:</div><div><br></div><div>gmake[2]: Entering directory `/users/admin/pdns-recursor-4.<wbr>0.4.1'</div><div>  CXX      arguments.o</div><div>In file included from logger.hh:33:0,</div><div>                 from arguments.cc:31:</div><div>iputils.hh: In member function ‘std::string ComboAddress::toStringWithPort<wbr>() const’:</div><div>iputils.hh:274:33: error: ‘to_string’ is not a member of ‘std’</div><div>       return toString() + ":" + std::to_string(ntohs(sin4.sin_<wbr>port));</div><div>                                 ^</div></div></blockquote></div></div><div>What is the version of your libstd++?</div><span class="m_2851011375910376432HOEnZb"><font color="#888888"><div><br></div></font></span></div><span class="m_2851011375910376432HOEnZb"><font color="#888888">-- <br><div class="m_2851011375910376432m_5463177121152420929gmail_signature" data-smartmail="gmail_signature">Thiago Farina</div>
</font></span></div></div>
</blockquote></div><br><br clear="all"><div><br></div></div></div><span class="">-- <br><div class="m_2851011375910376432gmail_signature" data-smartmail="gmail_signature">С уважением,<br>Климентьев Дмитрий</div>
</span></div>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature" data-smartmail="gmail_signature">С уважением,<br>Климентьев Дмитрий</div>
</div>