Re: BIND 9.16.13 and Mac OS X 10.13.6 - problems with ./configure
I do not use either of them because I cannot trust them. I build all dependencies from scratch so I do not have to depend on others- breaking things from one version to the next. Also I do not like to use the old libs shipped with the OS or install 3rd party into the OS directories. Cheers, Eddy > On Mar 25, 2021, at 8:59 PM, Larry Stone wrote: > > I’ve been building BIND on MacOS for years (currently on Catalina but has > worked on almost the entire Mac OS X series. > >> >> On Mar 25, 2021, at 7:50 PM, Paul Cizmas wrote: >> >> I am new to BIND and I am trying to install version 9.16.13 on a Mac OS X >> 10.13.6. >> >> I downloaded version 9.16.13 and, following the suggestions from >> https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fkrypted.com%2Fmac-os-x%2Fdns-install-bind-macos%2F&data=04%7C01%7C%7C531de9ed26704038675308d8f00b8f48%7C84df9e7fe9f640afb435%7C1%7C0%7C637523279725421196%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=wN7nldydRlRxmZrp8rWOtLQQN21cSXnc5x5Ym6oZ5Hs%3D&reserved=0, >> I am trying to configure using >> >> ./configure --enable-symtable=none --infodir="/usr/share/info" >> --sysconfdir="/etc" --localstatedir="/var" --enable-atomic="no" >> --with-gssapi=yes --with-libxml2=no >> > > I don’t know that site and I don’t know what most of the those options do. A > simple ./configure has almost always worked for me. > >> This fails because of libuv >> >> checking for pthread_set_name_np... no >> checking for pthread_np.h... no >> checking for libuv... checking for libuv >= 1.0.0... no >> configure: error: libuv not found >> >> I have libuv installed, however. It is version 1.41.0. >> > > Is libuv where the BIND configure is looking for it? My libuv files are in > /usr/local/lib. I have libuv 1.35 (doubt the version is making a difference) > and it looks like I installed it a year ago. > > Are you using something like homebrew or macports? I don’t as I was already > too established doing everything from scratch when I learned about them. But > I believe at least one of them if not both use their own set of directories > so something built with one of them will not be found by something coming > from the other or done from scratch. Those instructions from krypted.com > appear to be doing a “from scratch” version so if you installed libuv with > homebrew or macports, I doubt the krypted.com instructions will find it. > > > -- > Larry Stone > lston...@stonejongleux.com > ___ > Please visit > https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.isc.org%2Fmailman%2Flistinfo%2Fbind-users&data=04%7C01%7C%7C531de9ed26704038675308d8f00b8f48%7C84df9e7fe9f640afb435%7C1%7C0%7C637523279725421196%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=PGVNS%2BEb%2B7YohVLKtzRz30%2F6ls1kvh8ilPQ3Cv57k9Q%3D&reserved=0 > to unsubscribe from this list > > ISC funds the development of this software with paid support subscriptions. > Contact us at > https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.isc.org%2Fcontact%2F&data=04%7C01%7C%7C531de9ed26704038675308d8f00b8f48%7C84df9e7fe9f640afb435%7C1%7C0%7C637523279725421196%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=jv%2FCZcukHxDGGXORN3OYGMYp6Utpk%2F%2BYK4ka0sTuHqI%3D&reserved=0 > for more information. > > > bind-users mailing list > bind-users@lists.isc.org > https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.isc.org%2Fmailman%2Flistinfo%2Fbind-users&data=04%7C01%7C%7C531de9ed26704038675308d8f00b8f48%7C84df9e7fe9f640afb435%7C1%7C0%7C637523279725421196%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=PGVNS%2BEb%2B7YohVLKtzRz30%2F6ls1kvh8ilPQ3Cv57k9Q%3D&reserved=0 ___ Please 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
Re: Cannot build on macOS 10.15 (Catalina)
OK. Before I did not give you the full picture because I did not want to be to verbose :-) It should have been export SERVERPLUS_DIR="/opt/serverplus” git clone https://gitlab.isc.org/isc-projects/bind9.git cd bind9 autoreconf -if LIBUV_LIBS="-L$SERVERPLUS_DIR/dependencies/libuv/lib" LIBUV_CFLAGS=" -I$SERVERPLUS_DIR/dependencies/libuv/include" CPPFLAGS=" -I$SERVERPLUS_DIR/dependencies/libuv/include" LDFLAGS='-flat_namespace -force_flat_namespace' ./configure --prefix="$SERVERPLUS_DIR" --with-openssl="$SERVERPLUS_DIR/dependencies/openssl" --disable-pthread-rwlock --with-libxml2=no --enable-full-report After Ondrej suggestion I have removed all the LIBUV_XXX env variables and change to PGK_CONFIG_PATH="/opt/build/tools/pkg-config" PKG_CONFIG_PATH="$SERVERPLUS_DIR/dependencies/libuv/lib/pkgconfig" ./configure --prefix="$SERVERPLUS_DIR" --with-openssl="$SERVERPLUS_DIR/dependencies/openssl" --disable-pthread-rwlock --with-libxml2=no --enable-full-report I did not had to change the source code :-) and after deploying no more complaints from dylib! named is running fine! All worked! Thank you very much for the help! Thanks again, Eddy > On Apr 28, 2020, at 12:22 PM, Ondřej Surý wrote: > > LIBUV_LIBS="-L$/dependencies/libuv/lib“ > > JFTR this part of the line is wrong as it actually doesn’t contain the > library itself (just LDFLAGS). > You should really use the pkgconfig. > > Ondrej > -- > Ondřej Surý > ond...@isc.org > >> On 28 Apr 2020, at 19:36, Eddy Hahn wrote: >> >> LIBUV_LIBS="-L$/dependencies/libuv/lib" > ___ 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
Cannot build on macOS 10.15 (Catalina)
Hi, I got the latest source and build tools. 1) autorecon -If. WORKED! 2) configure WORKED! LIBUV_LIBS="-L$/dependencies/libuv/lib" LIBUV_CFLAGS="-I$/dependencies/libuv/include" CPPFLAGS=“-I$/dependencies/libuv/include" LDFLAGS='-flat_namespace -force_flat_namespace' ./configure --prefix=“/opt/target" --with-openssl="/dependencies/openssl" --disable-pthread-rwlock --with-libxml2=no --enable-full-report There are two issues 1) make - FAILS it fails because the declaration of the uv_handle_get_data and uv_handle_set_data does not match the declaration between uv-compat.h and uv.h In file included from netmgr/netmgr.c:33: In file included from netmgr/netmgr-int.h:34: netmgr/uv-compat.h:24:1: error: static declaration of 'uv_handle_get_data' follows non-static declaration uv_handle_get_data(const uv_handle_t *handle) { ^ /opt/serverplus/dependencies/libuv/include/uv.h:448:17: note: previous declaration is here UV_EXTERN void* uv_handle_get_data(const uv_handle_t* handle); ^ In file included from netmgr/netmgr.c:33: In file included from netmgr/netmgr-int.h:34: netmgr/uv-compat.h:31:1: error: static declaration of 'uv_handle_set_data' follows non-static declaration uv_handle_set_data(uv_handle_t *handle, void *data) { ^ /opt/serverplus/dependencies/libuv/include/uv.h:450:16: note: previous declaration is here UV_EXTERN void uv_handle_set_data(uv_handle_t* handle, void* data); ^ 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 If I move the declaration from uv-compat.h to uv-compat.c then it compile and we removed the inlining. Comment out these: #ifndef HAVE_UV_HANDLE_GET_DATA static inline void * uv_handle_get_data(const uv_handle_t *handle) { return (handle->data); } #endif /* ifndef HAVE_UV_HANDLE_GET_DATA */ #ifndef HAVE_UV_HANDLE_SET_DATA static inline void uv_handle_set_data(uv_handle_t *handle, void *data) { handle->data = data; } #endif /* ifndef HAVE_UV_HANDLE_SET_DATA */ Add to uv-compat.c #ifndef HAVE_UV_HANDLE_GET_DATA UV_EXTERN void * uv_handle_get_data(const uv_handle_t *handle) { return (handle->data); } #endif /* ifndef HAVE_UV_HANDLE_GET_DATA */ #ifndef HAVE_UV_HANDLE_SET_DATA UV_EXTERN void uv_handle_set_data(uv_handle_t *handle, void *data) { handle->data = data; } #endif /* ifndef HAVE_UV_HANDLE_SET_DATA */ 2) deployed executable fails to load lib (deployed using make install) Once the binaries are built and try to start the named up receive the following error ./named -c /named.conf -f -d4 dyld: lazy symbol binding failed: Symbol not found: _uv_loop_init Referenced from: lib/libisc.1701.dylib Expected in: flat namespace dyld: Symbol not found: _uv_loop_init Referenced from: lib/libisc.1701.dylib Expected in: flat namespace So, it has something to do with flat namespaces vs. two level namespaces. I have tried to add the linker option per macOS documentation as LDFLAGS='-flat_namespace -force_flat_namespace’ but the executables and libraries still have to level namespaces Tried to force lib to have flat level as well otool -hV /lib/libuv.dylib Mach header magic cputype cpusubtype capsfiletype ncmds sizeofcmds flags MH_MAGIC_64 X86_64ALL 0x00 DYLIB14 1640 NOUNDEFS DYLDLINK TWOLEVEL NO_REEXPORTED_DYLIBS otool -hV /lib/libisc.1701.dylib Mach header magic cputype cpusubtype capsfiletype ncmds sizeofcmds flags MH_MAGIC_64 X86_64ALL 0x00 DYLIB15 1952 NOUNDEFS DYLDLINK TWOLEVEL NO_REEXPORTED_DYLIBS MH_HAS_TLV_DESCRIPTORS Can problem #1 fixed in source? Does anyone have any idea how fix #2? Thanks, Eddy ___ 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