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

Reply via email to