make the shared library optional

Petr Machata pmachata at redhat.com
Tue Nov 4 17:01:48 UTC 2014


Vicente Olivert Riera <Vincent.Riera at imgtec.com> writes:

> I'm having a failure when doing a static build of elfutils because it
> tries to build a shared library (.so). Could it be possible to add a
> configure option to disable the shared library so only the static one
> (.a) would be built?

Note that fully static builds are problematic.  elfutils uses dlopen to
open the EBL backends (the CPU-specific support snippets), so even if
you link statically, the final binaries are still considerably dynamic.

One option (that we use in Red Hat Developer Toolset) is to statically
link in just the backends that you are interested in.  There were some
problems with mutual dependencies between elfutils libraries, and I
ended up having to split the libraries into smaller parts and adding
linker scripts that brought the pieces together.

Mark and I have branches with this code--his is more recent, as he's
been doing that work lately.  They are named {pmachata,mjw}/RH-DTS.

(Note that we still build the dynamic parts though, as eu-readelf
et.al. can still use the dynamism, it's just customer code that needs
the static bits.  I'm not really sure what your bug is, just dropping my
two cents WRT lack of real static support in elfutils.)

Thanks,
Petr


More information about the elfutils-devel mailing list