Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • BIND BIND
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 565
    • Issues 565
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 93
    • Merge requests 93
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Container Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • ISC Open Source ProjectsISC Open Source Projects
  • BINDBIND
  • Issues
  • #995
Closed
Open
Issue created Apr 23, 2019 by Fabrice Fontaine@ffontaine

dlz_open_driver: fix build failure without dlfcn.h

Summary

dlfcn.h should not be included if HAVE_DLCFN_H is not defined otherwise build will fail even when configured --without-dlopen.

BIND version used

9.11.5-P4

Steps to reproduce

Build bind on a toolchain without dlfcn.h (tested on buildroot with a toolchain that has only static library support) through the following command line:

./configure --target=arm-buildroot-linux-uclibcgnueabihf --host=arm-buildroot-linux-uclibcgnueabihf --build=x86_64-pc-linux-gnu --prefix=/usr --exec-prefix=/usr --sysconfdir=/etc --localstatedir=/var --program-prefix= --disable-gtk-doc --disable-gtk-doc-html --disable-doc --disable-docs --disable-documentation --with-xmlto=no --with-fop=no --disable-dependency-tracking --enable-ipv6 --disable-nls --enable-static --disable-shared --disable-threads --with-dlopen --without-lmdb --with-libjson=no --with-randomdev=/dev/urandom --enable-epoll --with-libtool --with-gssapi=no --enable-filter-aaaa --without-zlib --disable-linux-caps --with-libxml2=no --with-openssl=no --with-python=no --with-readline=no

Then run make

What is the current bug behavior?

Build fails on:

make[4]: Entering directory '/home/fabrice/buildroot/output/build/bind-9.11.5-P4/bin/named/unix'
/bin/bash /home/fabrice/buildroot/output/build/bind-9.11.5-P4/libtool --mode=compile --tag=CC /home/fabrice/buildroot/output/host/bin/arm-buildroot-linux-uclibcgnueabihf-gcc  -I/home/fabrice/buildroot/output/build/bind-9.11.5-P4 -I../../.. -I./include -I./../include -I/home/fabrice/buildroot/output/build/bind-9.11.5-P4/lib/isccfg/include -I../../../lib/isccfg/include -I/home/fabrice/buildroot/output/build/bind-9.11.5-P4/lib/isccc/include -I../../../lib/isccc/include -I/home/fabrice/buildroot/output/build/bind-9.11.5-P4/lib/dns/include -I../../../lib/dns/include -I/home/fabrice/buildroot/output/build/bind-9.11.5-P4/lib/isc/include -I../../../lib/isc -I../../../lib/isc/include -I../../../lib/isc/unix/include -I../../../lib/isc/nothreads/include -I../../../lib/isc/noatomic/include     -D_GNU_SOURCE -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64  -Os   -static   -W -Wall -Wmissing-prototypes -Wcast-qual -Wwrite-strings -Wformat -Wpointer-arith -fno-strict-aliasing -fno-delete-null-pointer-checks  -c dlz_dlopen_driver.c
libtool: compile:  /home/fabrice/buildroot/output/host/bin/arm-buildroot-linux-uclibcgnueabihf-gcc -I/home/fabrice/buildroot/output/build/bind-9.11.5-P4 -I../../.. -I./include -I./../include -I/home/fabrice/buildroot/output/build/bind-9.11.5-P4/lib/isccfg/include -I../../../lib/isccfg/include -I/home/fabrice/buildroot/output/build/bind-9.11.5-P4/lib/isccc/include -I../../../lib/isccc/include -I/home/fabrice/buildroot/output/build/bind-9.11.5-P4/lib/dns/include -I../../../lib/dns/include -I/home/fabrice/buildroot/output/build/bind-9.11.5-P4/lib/isc/include -I../../../lib/isc -I../../../lib/isc/include -I../../../lib/isc/unix/include -I../../../lib/isc/nothreads/include -I../../../lib/isc/noatomic/include -D_GNU_SOURCE -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -W -Wall -Wmissing-prototypes -Wcast-qual -Wwrite-strings -Wformat -Wpointer-arith -fno-strict-aliasing -fno-delete-null-pointer-checks -c dlz_dlopen_driver.c -o dlz_dlopen_driver.o
dlz_dlopen_driver.c:20:10: fatal error: dlfcn.h: No such file or directory
 #include <dlfcn.h>
          ^~~~~~~~~
compilation terminated.
make[4]: *** [Makefile:204: dlz_dlopen_driver.lo] Error 1

What is the expected correct behavior?

Build should succeed

Possible fixes

Please find attached a patch that fixed this issue. 0002-dlz_open_driver.c-fix-build-without-dlfcn.h.patch

Assignee
Assign to
Time tracking