Hi Larry,

unfortunately, that’s a bug in a compiler as the atomic_load() is defined as

C atomic_load( const volatile A* obj );

See:
* https://en.cppreference.com/w/c/atomic/atomic_load
* https://lists.llvm.org/pipermail/llvm-bugs/2015-May/040025.html
* http://www.open-std.org/jtc1/sc22/wg14/www/docs/dr_459.htm

(e.g. this was fixed in 2014 in the C standard)

Ondrej
--
Ondřej Surý (He/Him)
ond...@isc.org

My working hours and your working hours may be different. Please do not feel 
obligated to reply outside your normal working hours.

> On 22. 2. 2022, at 5:26, Larry Stone <lston...@stonejongleux.com> wrote:
> 
> Thanks. That gave me a good configure and make on the 10.15.7 system. Have 
> not installed or tried to run it yet.
> 
> Unfortunately, on the 10.13.6 system, with OpenSSL 1.1.1m now installed as 
> well as nghttp2, while it configures OK, make throws an error with references 
> to Xcode (MacOS proprietary subsystem). The 10.13.6 system has Xcode version 
> 10 on it while the 10.15.7 system has Xcode version 11. Unfortunately, Xcode 
> 11 requires MacOS 10.14 so upgrading the 10.13.6 system does not appear to be 
> an option. The 10.13.6 system (a mid-2010 iMac) is also due for replacement 
> so it may just have to live with Bind 9.16.x until it is replaced.
> 
> But in case anyone has any ideas, the error make throws is:
> 
> Making all in isc
>   CC       netmgr/libisc_la-netmgr.lo
> netmgr/netmgr.c:3536:10: error: address argument to atomic operation must be a
>       pointer to non-const _Atomic type ('const isc_refcount_t *' (aka 'const
>       _Atomic(uint_fast32_t) *') invalid)
>         REQUIRE(VALID_NMHANDLE(handle));
>         ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
> netmgr/netmgr-int.h:236:3: note: expanded from macro 'VALID_NMHANDLE'
>          atomic_load(&(t)->references) > 0)
>          ^
> /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/10.0.0/include/stdatomic.h:134:29:
>  note: 
>       expanded from macro 'atomic_load'
> #define atomic_load(object) __c11_atomic_load(object, __ATOMIC_SEQ_CST)
>                             ^
> ./include/isc/util.h:279:34: note: expanded from macro 'REQUIRE'
> #define REQUIRE(e)   ISC_REQUIRE(e)
>                      ~~~~~~~~~~~~^~
> ./include/isc/assertions.h:46:11: note: expanded from macro 'ISC_REQUIRE'
>         ((void)((cond) ||                                                  \
>                  ^~~~
> netmgr/netmgr.c:3544:10: error: address argument to atomic operation must be a
>       pointer to non-const _Atomic type ('const isc_refcount_t *' (aka 'const
>       _Atomic(uint_fast32_t) *') invalid)
>         REQUIRE(VALID_NMHANDLE(handle));
>         ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
> netmgr/netmgr-int.h:236:3: note: expanded from macro 'VALID_NMHANDLE'
>          atomic_load(&(t)->references) > 0)
>          ^
> /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/10.0.0/include/stdatomic.h:134:29:
>  note: 
>       expanded from macro 'atomic_load'
> #define atomic_load(object) __c11_atomic_load(object, __ATOMIC_SEQ_CST)
>                             ^
> ./include/isc/util.h:279:34: note: expanded from macro 'REQUIRE'
> #define REQUIRE(e)   ISC_REQUIRE(e)
>                      ~~~~~~~~~~~~^~
> ./include/isc/assertions.h:46:11: note: expanded from macro 'ISC_REQUIRE'
>         ((void)((cond) ||                                                  \
>                  ^~~~
> 2 errors generated.
> make[4]: *** [netmgr/libisc_la-netmgr.lo] Error 1
> make[3]: *** [all-recursive] Error 1
> make[2]: *** [all-recursive] Error 1
> make[1]: *** [all-recursive] Error 1
> make: *** [all] Error 2
> 
> -- 
> Larry Stone
> lston...@stonejongleux.com
> 
> 
> 
> 
> 
>> On Feb 21, 2022, at 4:19 PM, Mark Andrews <ma...@isc.org> wrote:
>> 
>> When building with OpenSSL in non system locations ensure that the 
>> PKG_CONFIG_PATH is properly set.
>> 
>> e.g.
>> 
>> OPENSSL=/opt/local
>> PKG_CONFIG_PATH=$OPENSSL/lib/pkgconfig
>> 
>> Mark
>> 
>>> On 22 Feb 2022, at 12:29, Larry Stone <lston...@stonejongleux.com> wrote:
>>> 
>>> So, just for fun, I decided to see if I could build 9.18.0 on my current 
>>> MacBookPro (where I already run 9.16.26). It’s on MacOS Catalina 10.15.7 
>>> (cannot go higher - new MacBookPro coming soon!).
>>> 
>>> First attempt to configure told me I either needed libnghttp2 or to 
>>> configure with --disable-doh. I downloaded nghttp2 (v1.46.0) from 
>>> nghttp2.org per the link in the release notes, built and installed it. 
>>> Attempted to configure bind 9.18.0 and this time configure aborted with:
>>> configure: error: in `[redacted dirpath]/bind-9.18.0':
>>> configure: error: EVP_DigestSignInit/EVP_DigestVerifyInit support in 
>>> OpenSSL is mandatory.
>>> 
>>> Tried configuring with --disable-doh and received the same error. Googling 
>>> that message and variations of it have turned up nothing useful (at least 
>>> to me).
>>> 
>>> OpenSSL version was 1.1.1a, I subsequently upgraded to 1.1.1m but same 
>>> error. OpenSSL is installed in /usr/local/ssl and built with the standard 
>>> ./configure; make.
>>> 
>>> From config.log, the relevant part appears to be:
>>> configure:17852: checking for EVP_DigestSignInit
>>> configure:17852: gcc -o conftest -g -O2 -pthread -I/usr/local/ssl/include   
>>> conftest.c -lpthread  -lssl -lcrypto >&5
>>> ld: library not found for -lssl
>>> clang: error: linker command failed with exit code 1 (use -v to see 
>>> invocation)
>>> configure:17852: $? = 1
>>> 
>>> (I then tried to build 9.18.0 on an older system I have running macOS 
>>> 10.13.6. I did not try to install nghttp2 on it and configure worked fine 
>>> with --disable-doh. But it then errored with some SSL issues 
>>> (./openssl_shim.h:99:1: error: conflicting types for ‘OPENSSL_init_crypto’ 
>>> was the first) but I have not started to dig into that (this system still 
>>> has OpenSSL 1.1.1a)).
>>> 
>>> Anyway, I’m stuck on the "configure: error: 
>>> EVP_DigestSignInit/EVP_DigestVerifyInit support in OpenSSL is mandatory” 
>>> error and not sure what direction to go. I think it’s an issue with OpenSSL 
>>> but I can’t see what it is (and Bind 9.16.x builds fine). Probably 
>>> something simple but I need a nudge in the right direction. Thanks.
>>> 
>>> -- 
>>> Larry Stone
>>> lston...@stonejongleux.com
>>> 
>>> 
>>> 
>>> 
>>> 
>>> -- 
>>> Visit https://lists.isc.org/mailman/listinfo/bind-users to unsubscribe from 
>>> this list
>>> 
>>> ISC funds the development of this software with paid support subscriptions. 
>>> Contact us at https://www.isc.org/contact/ for more information.
>>> 
>>> 
>>> bind-users mailing list
>>> bind-users@lists.isc.org
>>> https://lists.isc.org/mailman/listinfo/bind-users
>> 
>> -- 
>> Mark Andrews, ISC
>> 1 Seymour St., Dundas Valley, NSW 2117, Australia
>> PHONE: +61 2 9871 4742              INTERNET: ma...@isc.org
>> 
> 
> -- 
> Visit https://lists.isc.org/mailman/listinfo/bind-users to unsubscribe from 
> this list
> 
> ISC funds the development of this software with paid support subscriptions. 
> Contact us at https://www.isc.org/contact/ for more information.
> 
> 
> bind-users mailing list
> bind-users@lists.isc.org
> https://lists.isc.org/mailman/listinfo/bind-users

-- 
Visit https://lists.isc.org/mailman/listinfo/bind-users to unsubscribe from 
this list

ISC funds the development of this software with paid support subscriptions. 
Contact us at https://www.isc.org/contact/ for more information.


bind-users mailing list
bind-users@lists.isc.org
https://lists.isc.org/mailman/listinfo/bind-users

Reply via email to