Need help buiding bfd shared library

Errol Millios errol.millios@gmail.com
Thu Aug 4 10:02:30 GMT 2022


The version I am currently using is a bit old, but I built a version
of 2.36.1 last night with these exact commands on Debian 11:

> cd binutils-build
> ../binutils-gdb/configure --target=<arch> --prefix=<install-dir> --disable-nls -v --enable-shared
> make -j16 & make install

and after building I have

> find -name "libbfd.so"
./binutils-build/bfd/.libs/libbfd.so
./install/x86_64-pc-linux-gnu/tarn-elf32/lib/libbfd.so

The first time it failed building for some reason, but after I rm
-Rf'd the build directory and rebuilt everything, it worked fine.

On Thu, Aug 4, 2022 at 6:47 PM Jan Beulich via Binutils
<binutils@sourceware.org> wrote:
>
> On 04.08.2022 11:45, Potharla, Rupesh wrote:
> >> From: Jan Beulich <jbeulich@suse.com>
> >> Sent: Thursday, August 4, 2022 12:17 PM
> >>
> >> On 03.08.2022 20:59, Potharla, Rupesh wrote:
> >>>> On 03.08.2022 08:49, Potharla, Rupesh wrote:
> >>>>>> On 03.08.2022 08:09, Potharla, Rupesh via Binutils wrote:
> >>>>>>> I am working on building bfd shared library for my code changes. I
> >>>>>>> tried with
> >>>>>> "configure --enable-shared=bfd" but BFD is creating static library
> >>>>>> only even with -enable-shared option .  Did I miss something ? Can
> >>>>>> someone help me with the instructions to build bfd shared library?
> >>>>>>
> >>>>>> Did you try --enable-shared without "=bfd"? So far I wasn't aware
> >>>>>> of that form as an option, and at least a quick inspection of the
> >>>>>> configure script also doesn't suggest that form might exist. But I
> >>>>>> may be
> >>>> entirely wrong ...
> >>>>>
> >>>>> I tried that option as well and tried with --enable-host-shared
> >>>>> combination
> >>>> also but no luck.
> >>>>
> >>>> You may want to inspect configure output then. Here in bfd/config.log
> >>>> I see
> >>>>
> >>>> configure:8674: checking whether the gcc -std=gnu99 linker
> >>>> (/usr/lib/gcc/.../ld) supports shared libraries
> >>>> configure:9745: result: yes
> >>>> ...
> >>>> configure:11365: checking if libtool supports shared libraries
> >>>> configure:11367: result: yes
> >>>> configure:11370: checking whether to build shared libraries
> >>>> configure:11391: result: yes
> >>>> configure:11394: checking whether to build static libraries
> >>>> configure:11398: result: yes
> >>>>
> >>>> I would guess one of these is failing for you, at which point you'd
> >>>> want to figure out why that is.
> >>>
> >>> None of the above is failing for me. I looked at the config.log file and tried
> >> the combination of different options none of them is working. In fact, I don't
> >> see a target for libbfd.so in the Makefile.
> >>
> >> Look for a libbfd.la target. There's libtool involved here, and I think that's the
> >> rule where the .so linking happens (at the same time as the creation of
> >> libbfd.a). IOW I suppose all depends on the flags passed to libtool ...
> >>
> >>> configure:11283: checking whether stripping libraries is possible
> >>> configure:11288: result: yes
> >>> configure:11323: checking if libtool supports shared libraries
> >>> configure:11325: result: yes
> >>> configure:11328: checking whether to build shared libraries
> >>> configure:11349: result: yes
> >>> configure:11352: checking whether to build static libraries
> >>> configure:11356: result: yes
> >>> configure:8563: checking for dlfcn.h
> >>> configure:8563: result: yes
> >>>
> >>> Just out of curiosity is the --enable-shared option really working for others?
> >>
> >> Yes (on Linux; on Cygwin the answer would be "no").
> >
> > "./configure --enable-shared=bfd --enable-host-shared && make " is the command I am running for this. I ran it on multiple Linux machines but did not see libbfd.so.
> > Can you confirm the command ?
>
> No, I cannot. As said previously, all I ever use is --enable-shared
> (without any "=bfd").
>
> Jan


More information about the Binutils mailing list