← Back to team overview

touch-packages team mailing list archive

[Bug 1154025] Re: Install PIC version of libbfd.a

 

[Expired for binutils (Ubuntu) because there has been no activity for 60
days.]

** Changed in: binutils (Ubuntu)
       Status: Incomplete => Expired

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to binutils in Ubuntu.
https://bugs.launchpad.net/bugs/1154025

Title:
  Install PIC version of libbfd.a

Status in “binutils” package in Ubuntu:
  Expired

Bug description:
  Like Bug #50512, there should be the PIC version of libbfd.a.

  The reason is as follows:

  1. As required, we need to link statically to libbfd (see linux-tools:
  perf should link statically to libbfd Bug #783660)

  2. we need to build libopagent correctly, which uses libbfd with
  static link (see oprofile: symbol lookup error:
  /usr/lib/libopagent.so: undefined symbol: bfd_init Bug #1148682)

  3. But currently, libopagent aren't built correctly causing the symbol
  lookup error. That's because OProfile's patches/static-libbfd-
  libopagnet-makefile.patch disables static linking to libbfd (possibly,
  as a quick work around):

  --- a/libopagent/Makefile.am
  +++ b/libopagent/Makefile.am
  @@ -15,7 +15,7 @@ libopagent_la_CPPFLAGS = -I ${top_srcdir
    -I ${top_srcdir}/libutil \
    @OP_CPPFLAGS@

  -libopagent_la_LIBADD = $(BFD_LIBS)
  +libopagent_la_LIBADD =

   # Do not increment the major version for this library except to
   # intentionally break backward ABI compatability.  Use the

  When I build OProfile with the preceeding work-around patch removed, I
  get following error. I want to fix this error.

  /bin/bash ../libtool --tag=CC   --mode=link x86_64-linux-gnu-gcc -fPIC
  -g -O2 -version-info  1:0:0 -Wl,--version-
  script=../libopagent/opagent_symbols.ver   -o libopagent.la -rpath
  /usr/lib/oprofile libopagent_la-opagent.lo /usr/lib/libbfd.a -lz
  -liberty -ldl  -liberty -lpopt  -ldl -lz

  *** Warning: Linking the shared library libopagent.la against the
  *** static library /usr/lib/libbfd.a is not portable!
  libtool: link: x86_64-linux-gnu-gcc -shared  -fPIC -DPIC  .libs/libopagent_la-opagent.o   /usr/lib/libbfd.a -liberty /usr/lib/x86_64-linux-gnu/libpopt.so -ldl -lz  -O2 -Wl,--version-script=../libopagent/opagent_symbols.ver   -Wl,-soname -Wl,libopagent.so.1 -o .libs/libopagent.so.1.0.0
  /usr/bin/ld: /usr/lib/libbfd.a(archures.o): relocation R_X86_64_32S against `_sch_istable' can not be used when making a shared object; recompile with -fPIC
  /usr/lib/libbfd.a: could not read symbols: Bad value
  collect2: error: ld returned 1 exit status
  make: *** [libopagent.la] Error 1

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/binutils/+bug/1154025/+subscriptions