Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Yann E. MORIN <yann.morin.1998@free.fr>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH] package/openocd: disable on blackfin
Date: Wed, 7 Jan 2015 23:42:56 +0100	[thread overview]
Message-ID: <20150107224256.GH4249@free.fr> (raw)
In-Reply-To: <20150106092656.4bfe90ea@free-electrons.com>

Samuel, Thomas, All,

On 2015-01-06 09:26 +0100, Thomas Petazzoni spake thusly:
> On Mon,  5 Jan 2015 21:33:09 +0100, Samuel Martin wrote:
> > The "_" symbol prefix added by the blackfin toolchain causes "undefined
> > symbol" failures during the configuration.
> > 
> > Fixes:
> >   http://autobuild.buildroot.org/results/e90/e90b4d5ad79d99487f21c9d18581e8eba7034501/
> > 
> > Signed-off-by: Samuel Martin <s.martin49@gmail.com>
> > ---
> >  package/openocd/Config.in | 4 ++++
> >  1 file changed, 4 insertions(+)
> > 
> > diff --git a/package/openocd/Config.in b/package/openocd/Config.in
> > index 7c140c7..9543c03 100644
> > --- a/package/openocd/Config.in
> > +++ b/package/openocd/Config.in
> > @@ -1,5 +1,9 @@
> >  config BR2_PACKAGE_OPENOCD
> >  	bool "openocd"
> > +	# disable openocd on blackfin because it triggers "undefined symbol" error
> > +	# becasue of the "_" prefix:
> > +	# http://autobuild.buildroot.org/results/e90/e90b4d5ad79d99487f21c9d18581e8eba7034501/
> > +	depends on !BR2_bfin
> >  	help
> >  	  OpenOCD - Open On-Chip Debugger
> >  
> 
> This seems weird because the "_" prefix normally only causes issues
> when linking C code against assembly code. If you're only linking C
> code against C code, it *should* be fully transparent.

The real culprit seems to be libusb-compat. See config.log:

configure:14893: [...]/bfin-uclinux-gcc -o conftest [...] -static [...] -lftdi -lusb
/home/ymorin/dev/buildroot/O/host/usr/bfin-buildroot-uclinux-uclibc/sysroot/usr/lib/libusb.a(libusb_la-core.o):
In function `_usb_detach_kernel_driver_np':
core.c:(.text+0x96): undefined reference to `_libusb_detach_kernel_driver'

So, it means libusb.a as an undefined reference to _libusb_detach_kernel_driver
which is in fact defined in libus-1.0.a.

If I add -lusb-1.0 -pthread to the link command, it all works great! :-)

So, it looks like 'just' a missing dependency in a static case.

So, marking this patch as Rejected in Patchwork: the real fix is to link
with the appropriate libraries.

Hint: the .pc files seem to be correct. But line 1060 in configure.ac is
where the error originates from. It is the last clause in an AC_RUN_IFELSE
block starting on line 1042... And the rest is left as an exercise. ;-)

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

      reply	other threads:[~2015-01-07 22:42 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-01-05 20:33 [Buildroot] [PATCH] package/openocd: disable on blackfin Samuel Martin
2015-01-06  8:26 ` Thomas Petazzoni
2015-01-07 22:42   ` Yann E. MORIN [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20150107224256.GH4249@free.fr \
    --to=yann.morin.1998@free.fr \
    --cc=buildroot@busybox.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox