[Pkg-gpe-maintainers] Bug#713607: gpe-bluetooth: FTBFS: unresolvable R_X86_64_PC32 relocation

Neil Williams codehelp at debian.org
Fri Jun 28 19:53:31 UTC 2013


tag 713607 + patch
thanks

On Mon, 24 Jun 2013 14:10:53 +0200
Matthias Klose <doko at debian.org> wrote:

> Am 24.06.2013 12:33, schrieb David Suárez:
> > On Domingo, 23 de junio de 2013 00:04:10 Neil Williams escribió:
> >> tag 713607 + help
> >> retitle 713607 gpe-bluetooth: unresolvable R_X86_64_PC32 relocation on
> >> amd64 thanks
> >>
> >>>> /usr/bin/ld: main.o(.text+0x5d3): unresolvable R_X86_64_PC32 relocation
> >>>> against symbol `devices' /usr/bin/ld: final link failed:
> >>>> Nonrepresentable section on output collect2: error: ld returned 1 exit
> >>>> status
> >>
> >> The only references to this error which I can find talk about either the
> >> need for compiling with -fPIC on 64bit x86 or the introduction of this
> >> confusing error in gcc-4.8 (#703230 which also talks about -fPIC). Even
> >> if I try that, it doesn't help the package build.
> >>
> >> Any help debugging this failure would be appreciated, right now, it
> >> doesn't make a whole lot of sense, except that it only happens with
> >> gcc-4.8.
> >>
> >> On i386, the failure message is:  R_386_32 relocation against symbol
> >> `devices'
> 
> devices seems to be exported by one of the libraries used for linking. So to
> properly fix that, find that library, rename the too generic name, and don't use
> such a generic name yourself.

Hmm. I'm attaching a tentative patch which simply renames the GSList *
internally. It would probably be better if this was renamed but I can't
find any reference to a devices symbol in the libraries used to build
gpe-bluetooth, just an extern in pin-dbus.c

The only matches I can find in my current /usr/include are:

/usr/include/usb.h:  struct usb_device *devices;
/usr/include/directfb-internal/core/windows_internal.h:     DirectLink          *devices;
/usr/include/pulse/ext-device-manager.h:        const char** devices,

libusb-dev is installed as part of the build-deps for the current build
as is libdirectfb-dev (libdirectfb-dev is not installed with a recent
rebuild). libpulse-dev is not. I can't find any direct inclusion of
these headers in the source code. (Scanning the two .c files with -E
shows no matches for these headers.)

Neither libusb nor libdirectfb are runtime dependencies of
gpe-bluetooth using --as-needed. Neither are the relevant libraries
brought in by installing the current gpe-bluetooth in a clean chroot.

The patch works but I don't understand why the compiler is identifying
this as a problem and whether the patch is simply "hiding" the problem.

>   Matthias
> 
> PS: Not seen in Ubuntu, so it might help to link with --as-needed.

Already happening in the version in which this bug is found:
https://buildd.debian.org/status/package.php?p=gpe-bluetooth

gpe-bluetooth (0.56-3) unstable; urgency=low

  * Add vcs tags for collab-maint
  * Migrate to libmimedir-gnome-dev from libmimedir-gnome0-dev
    (Closes: #560672)
  * trim deps with as-needed.
  * Migrate to source format 3.0 for usptream .tar.bz2 support.
  * Migrate patches to 3.0 (quilt).

 -- Neil Williams <codehelp at debian.org>  Wed, 23 Dec 2009 12:49:59 +0000

Something else is going on here.

-- 


Neil Williams
=============
http://www.linux.codehelp.co.uk/

-------------- next part --------------
A non-text attachment was scrubbed...
Name: rename-devices-list
Type: application/octet-stream
Size: 1790 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/pkg-gpe-maintainers/attachments/20130628/a814a5e9/attachment.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/pkg-gpe-maintainers/attachments/20130628/a814a5e9/attachment.sig>


More information about the Pkg-gpe-maintainers mailing list