All of lore.kernel.org
 help / color / mirror / Atom feed
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
To: buildroot@busybox.net
Subject: [Buildroot] backtrace patch and execinfo.h missing on uclibc
Date: Sat, 20 Feb 2010 19:56:34 +0100	[thread overview]
Message-ID: <20100220195634.3190ae60@surf> (raw)
In-Reply-To: <9e4ade691002141542g4d79371bt359c11f81a4b572c@mail.gmail.com>

Hi Sebastian,

On Sun, 14 Feb 2010 20:42:54 -0300
Sebasti?n Treu <sebastian.treu@gmail.com> wrote:

> I made a fs with buildroot using uclibc with native tools to compile
> on an embedded device (some package can't be crosscompiled, or are
> hard to understand how). I have compiled successfully  a lot of
> packages, perl, gnutls, zlib, bzip, etc. I crosscompiled mysql (native
> I ran out of memory) successfull too, with the same toolchain (not
> actually the same, the one you use to crosscompile but the same that
> uses buildroot to build the native toolchain and the fs).
> 
> Using the native compiler and toolchain in the device to build
> ZoneMinder, I get an error about the header file missing: execinfo.h.
> I have read that this header is used to implement backtrace. The error
> is simply that "no such file or directory", and in fact that file
> isn't found by me when searching it in the native toolchain or in the
> crosscompile toolchain.

uClibc doesn't implement the backtrace() function, which is a
glibc-specific function.

You should compile ZoneMinder with -enable-crashtrace=no.

Anyway, I would recommend cross-compiling rather than doing native
compilation. The installation of development tools to the target is not
very well tested/supported in Buildroot.

> Trying to crosscompile I had another errors too, for example: "asm
> imposible constraint" but when looking the code, the line was the
> FD_ISSET macro from select. (?) Anyway, execinfo.h is not generated
> neither in the native nor in the cross.

Could you be more specific ? Which package ?

> I use openwrt too. I have seen that If I build a crosscompile
> toolchain with glibc, execinfo.h is located in the includes files, but
> there's no such file with uclibc. Now I'm using that toolchain to
> crosscompile all the things, make the openwrt kernel, the fs and see
> If it works. Unfortunately, openwrt doesn't build a native toolchain
> so I need to crosscompile everything.

As said above, backtrace() is a glibc-specific function, so any glibc
toolchain will contain it, while any uclibc toolchain won't contain
it.

Cheers,

Thomas
-- 
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com

      reply	other threads:[~2010-02-20 18:56 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-02-14  7:26 [Buildroot] backtrace patch and execinfo.h missing on uclibc Sebastián Treu
2010-02-14 10:44 ` Thomas Petazzoni
2010-02-14 23:42   ` Sebastián Treu
2010-02-20 18:56     ` Thomas Petazzoni [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=20100220195634.3190ae60@surf \
    --to=thomas.petazzoni@free-electrons.com \
    --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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.