Description of problem: The mcheck component of glibc-devel references a __malloc_initialize_hook symbol that glibc has deprecated and removed, thus leading to a link error. When building libdrizzle 5.1.4, the following error occurs: libtool: link: g++ -fPIC -DPIC -shared -nostdlib /usr/lib/gcc/x86_64-redhat-linux/8/../../../../lib64/crti.o /usr/lib/gcc/x86_64-redhat-linux/8/crtbeginS.o libdrizzle/.libs/libdrizzle_libdrizzle_la-binlog.o libdrizzle/.libs/libdrizzle_libdrizzle_la-command.o libdrizzle/.libs/libdrizzle_libdrizzle_la-conn_uds.o libdrizzle/.libs/libdrizzle_libdrizzle_la-error.o libdrizzle/.libs/libdrizzle_libdrizzle_la-handshake.o libdrizzle/.libs/libdrizzle_libdrizzle_la-query.o libdrizzle/.libs/libdrizzle_libdrizzle_la-row.o libdrizzle/.libs/libdrizzle_libdrizzle_la-ssl.o libdrizzle/.libs/libdrizzle_libdrizzle_la-column.o libdrizzle/.libs/libdrizzle_libdrizzle_la-conn.o libdrizzle/.libs/libdrizzle_libdrizzle_la-drizzle.o libdrizzle/.libs/libdrizzle_libdrizzle_la-field.o libdrizzle/.libs/libdrizzle_libdrizzle_la-pack.o libdrizzle/.libs/libdrizzle_libdrizzle_la-poll.o libdrizzle/.libs/libdrizzle_libdrizzle_la-result.o libdrizzle/.libs/libdrizzle_libdrizzle_la-sha1.o libdrizzle/.libs/libdrizzle_libdrizzle_la-state.o libdrizzle/.libs/libdrizzle_libdrizzle_la-statement.o libdrizzle/.libs/libdrizzle_libdrizzle_la-statement_param.o -lmcheck -lssl -lcrypto -lz -L/usr/lib/gcc/x86_64-redhat-linux/8 -L/usr/lib/gcc/x86_64-redhat-linux/8/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/usr/lib/gcc/x86_64-redhat-linux/8/../../.. -lstdc++ -lm -lc -lgcc_s /usr/lib/gcc/x86_64-redhat-linux/8/crtendS.o /usr/lib/gcc/x86_64-redhat-linux/8/../../../../lib64/crtn.o -pthread -O0 -pthread -Wl,-soname -Wl,libdrizzle.so.9 -o libdrizzle/.libs/libdrizzle.so.9.0.0 /usr/bin/ld: libdrizzle/.libs/libdrizzle.so.9.0.0: version node not found for symbol __malloc_initialize_hook.5 /usr/bin/ld: failed to set dynamic section sizes: Bad value collect2: error: ld returned 1 exit status For easier reading, here's a smaller snippet from the above error message: /usr/bin/ld: libdrizzle/.libs/libdrizzle.so.9.0.0: version node not found for symbol __malloc_initialize_hook.5 /usr/bin/ld: failed to set dynamic section sizes: Bad value The source of the -lmcheck flag is the file libdrizzle/m4/ax_debug.m4 which contains AC_DEFUN([AX_DEBUG], [AC_PREREQ([2.63])dnl AC_ARG_ENABLE([debug], [AS_HELP_STRING([--enable-debug], [Add debug code/turns off optimizations (yes|no) @<:@default=no@:>@])], [ax_enable_debug=yes AC_DEFINE([DEBUG],[1],[Define to 1 to enable debugging code.]) AX_CHECK_LIBRARY([MCHECK],[mcheck.h],[mcheck],[AX_APPEND_LINK_FLAGS([-lmcheck])])], [ax_enable_debug=no AC_SUBST([MCHECK]) AC_DEFINE([DEBUG],[0],[Define to 1 to enable debugging code.])]) AC_MSG_CHECKING([for debug]) AC_MSG_RESULT([$ax_enable_debug]) AM_CONDITIONAL([DEBUG],[test "x${ax_enable_debug}" = "xyes"])]) The symbol __malloc_initialize_hook.5 can be seen here: $ nm /usr/lib64/libmcheck.a U _GLOBAL_OFFSET_TABLE_ 0000000000000000 D __malloc_initialize_hook 0000000000000000 D __malloc_initialize_hook.5 U mcheck 0000000000000000 t turn_on_mcheck The symbol __malloc_initialize_hook was removed from glibc in version 2.2.4: * https://www.sourceware.org/ml/libc-alpha/2016-08/msg00212.html Version-Release number of selected component (if applicable): glibc-devel.x86_64 2.27-8.fc28 How reproducible: Very Steps to Reproduce: 1. Ensure glibc-devel is installed. 2. wget https://launchpad.net/libdrizzle/5.1/5.1.4/+download/libdrizzle-5.1.4.tar.gz 3. tar xf libdrizzle-5.1.4.tar.gz 4. cd libdrizzle-5.1.4/ 5. ./configure --enable-debug 6. make Actual results: The link error above. Expected results: A successful link. Additional info:
*** This bug has been marked as a duplicate of bug 1575110 ***