On 8/28/19 18:49, Yuri via Unbound-users wrote:
28.08.2019 18:23, Wouter Wijngaards via Unbound-users пишет:
Hi Yuri,
On 27/08/2019 19:45, Yuri via Unbound-users wrote:
27.08.2019 21:22, Yuri пишет:
27.08.2019 21:17, Wouter Wijngaards via Unbound-users пишет:
Hi Yuri,
If that is any similar to yours, the ./configure --disable-shared flag
could fix it.
Tried with same error:
It looks like the flag makes the library build pass, but this link fails
because of (what may also be the first error) unrecognised options.
Can you give the full commandline that failed, and also a couple before
it (the libtool invocation, and then the compiler and linker lines).
The flags on it, we can try to change them to see which one is the
problem. Something that looks like -...h... is what I guess from the
link you sent.
Failed all object and binaries link call. Which one?
You could edit the CFLAGS, CPPFLAGS in the Makefile to try different
options, or enter the commandline by hand ('#' makes comments in the
Makefile, or copy to a backup file so you can try different changes).
Try to remove the '-pthread', because there is an 'h' in that and
solaris has a different threading model (the '-mt' option enables the
solaris threading I believe). Maybe the '/usr/local/lib/libevent.so'
Let's take a look on configure options:
./configure --prefix=/usr/local
--with-conf-file=/usr/local/etc/unbound/unbound.conf
--with-username=unbound --with-ssl=/opt/csw --with-libevent=/usr/local
--with-libexpat=/opt/csw --without-pthreads --with-solaris-threads
--enable-tfo-client --with-pidfile=/tmp/unbound.pid 'CFLAGS=-xO4 -m64
-xlinkopt=2' 'CPPFLAGS=-I/opt/csw/include' 'LDFLAGS=-m64
-L/opt/csw/lib/64 -xlinkopt=2'
Solaris support POSIX threads since at least Developer Studio 12.4, If I
remember correct. I've specified explicity use native, however, for
Unbound since 2014.
needs to change into '-levent' because citing the .so directly is a gcc
feature (I thought). Maybe there are other options that cause issues,
like warning options or the '-flto' option (disabled with --disable-flto
for configure).
LTO does not supported by SunPro, only -xlinkopt.
Best regards, Wouter
nsport.o outside_network.o ub_event.o keyraw.o sbuffer.o wire2str.o
parse.o parseutil.o rrdef.o str2wire.o explicit_bzero.o reallocarray.o
arc4random.o arc4random_uniform.o arc4_lock.o getentropy_solaris.o
strsep.o -L/opt/csw/lib/64 -L/opt/csw/lib -L/usr/local/lib -lssl
/usr/local/lib/libevent.so -lsendfile -lrt -lsocket -lnsl -lcrypto -lmd
-pthreads -mt -Wl,-rpath -Wl,/usr/local/lib -Wl,-rpath
-Wl,/usr/local/lib -Wl,-rpath -Wl,/opt/csw/lib
cc: postopt failed for unbound-checkconf
gmake: *** [Makefile:335: unbound-control] Error 2
gmake: *** [Makefile:332: unbound-checkconf] Error 2
ld: fatal: soname option (-h, --soname) is incompatible with building a
dynamic executable
ld: fatal: flags processing errors
postopt: error: ld failed to link the binary
cc: postopt failed for unbound
gmake: *** [Makefile:329: unbound] Error 2
Static library built, but no one executable linked.
Yuri
From my side I was able to successfully compile Unbound 1.9.3 on
Solaris 11.4 SPARC with Studio 12.6, linked to libev 4.24. The output
from './unbound -V':
--------------------------------------------------------------------------------------
Version 1.9.3
Configure line: --prefix=/opt/local --libdir=/opt/local/lib/sparcv9
--sysconfdir=/etc --with-username=dnsadmin --with-libevent=/opt/local
--disable-gost --disable-ecdsa
Linked libs: libev 4.24 (it uses not obtainable), OpenSSL 1.0.2q 20 Nov 2018
Linked modules: dns64 respip validator iterator
BSD licensed, see LICENSE in source package for details.
Report bugs to [email protected] or
https://github.com/NLnetLabs/unbound/issues
--------------------------------------------------------------------------------------
And I compiled it with the following settings:
--------------------------------------------------------------------------------------
CC="/opt/SunStudio/OracleDeveloperStudio12.6-solaris-sparc-bin/developerstudio12.6/bin/cc"
CFLAGS="-m64 -xO4 -Qoption cg -xregs=no%appl -W2,-xwrap_int -xmemalign=16s"
CPPFLAGS="-I/opt/local/include"
LDFLAGS="-L/opt/local/lib/64"
./configure --prefix=/opt/local \
--libdir=/opt/local/lib/sparcv9 \
--sysconfdir=/etc \
--with-username=dnsadmin \
--with-libevent=/opt/local \
--disable-gost --disable-ecdsa
--------------------------------------------------------------------------------------
According the Studio manpage on cc, the "-mt" is used by default for
multithreaded code and the binary then links to '/lib/64/libpthread.so.1'.
Hope this helps you with your problem.
Regards
--
---
Jaco Lesch
SAIX HLS
Email: [email protected]