On 10/18/2018 04:04 AM, Michał Kępień wrote:
...
-L/usr/local/lib -latomic
Undefined first referenced
symbol in file
_TG_atomic_fetch_add ../dns/libdns.a(tsig.o)
_TG_atomic_fetch_sub ../dns/libdns.a(tsig.o)
_TG_atomic_load ../dns/libdns.a(tsig.o)
_TG_atomic_compare_exchange_strong ../isc/libisc.a(rwlock.o)
_TG_atomic_store ../isc/libisc.a(stats.o)
ld: fatal: symbol referencing errors. No output written to resolve
...
This looks like an Oracle Developer Studio glitch related to C11 atomic
operations. To fix it, try fiddling around with the -xatomic compiler
option [1] and/or the -std compiler option and/or the CC environment
variable. To work around the problem, build BIND with --disable-atomic.
Note that atomic operations support is mandatory as of BIND 9.13.3.
After talking with experts in the field I have learned that :
in Studio 12.6, stdatomic.h lives in
lib/compilers/include/cc/stdatomic.h and uses
those _TG_atomic_* intrinsics
Thus if one compiles a trivial test with -std=c11 we see :
#include <stdatomic.h>
int
main (void)
{
_Atomic int i;
atomic_store (&i, 0);
return 0;
}
No issues at all with -xatomic=studio -std=c11 however this is
impossible with c99.
So what is the minimum spec for ISC Bind? If the ISO/IEC 9899:2011
standard is minimum then perhaps there could be a notation somewhere
on the isc site for that.
Dennis Clarke
_______________________________________________
Please visit https://lists.isc.org/mailman/listinfo/bind-users to unsubscribe
from this list
bind-users mailing list
bind-users@lists.isc.org
https://lists.isc.org/mailman/listinfo/bind-users