BIND 9.18.0 and Mac OS X 10.15.7 - cannot build

Ondřej Surý ondrej at isc.org
Tue Feb 22 08:58:20 UTC 2022


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)
ondrej at 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 <lstone19 at 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
> lstone19 at stonejongleux.com
> 
> 
> 
> 
> 
>> On Feb 21, 2022, at 4:19 PM, Mark Andrews <marka at 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 <lstone19 at 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
>>> lstone19 at 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 at 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: marka at 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 at lists.isc.org
> https://lists.isc.org/mailman/listinfo/bind-users



More information about the bind-users mailing list