This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
build failure, --enable-targets=all vs plugin support
- From: Doug Evans <dje at sebabeach dot org>
- To: binutils at sourceware dot org
- Date: Sun, 18 Oct 2009 11:11:19 -0700 (PDT)
- Subject: build failure, --enable-targets=all vs plugin support
Hi.
With cvs head I'm getting a build failure,
all programs using bfd are failing to link:
../bfd/.libs/libbfd.so: undefined reference to `dlsym'
../bfd/.libs/libbfd.so: undefined reference to `dlerror'
../bfd/.libs/libbfd.so: undefined reference to `dlopen'
I haven't been following bfd plugin support,
so I'm not sure what the right fix is.
AFAICT, bfd uses plugin.c unconditionally (when --enable-targets=all,
via BFD32_BACKENDS), but adds -ldl conditionally (on "if PLUGINS").
This hack to bfd/Makefile got everything to build:
--- Makefile.~1~ 2009-10-18 09:13:14.000000000 -0700
+++ Makefile 2009-10-18 10:47:53.000000000 -0700
@@ -330,7 +330,7 @@
#noinst_LTLIBRARIES = libbfd.la
AM_CFLAGS = $(WARN_CFLAGS)
AM_CPPFLAGS = -DBINDIR='"$(bindir)"'
-#LIBDL = -ldl
+LIBDL = -ldl
# bfd.h goes here, for now
BFD_H = bfd.h
but I'm guessing BFD32_BACKENDS needs to include plugin support
conditionally.
config details:
../src/configure \
--build=i686-linux \
--host=i686-linux \
--target=m32r-elf \
--prefix=$prefix \
--enable-targets=all \
--enable-shared \
--enable-cgen-maint