Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Vania Joloboff <vania.joloboff@tsinghua.edu.cn>
To: buildroot@busybox.net
Subject: [Buildroot] Bug with gmp and mpfr
Date: Thu, 05 Feb 2009 10:17:23 +0800	[thread overview]
Message-ID: <498A4C33.8000302@tsinghua.edu.cn> (raw)

Hi,

We have some experience in cross compiling but we are new users of 
buildroot.
Please pardon our ignorance.

We have built the GCC toolchain with the latest version of buildroot 
2009-02-rc3
for three targets arm, ppc and mips, all three on two different hosts 
Ubuntu 7.10 and 8.10
We have installed the three toolchains in respectively 
/usr/local/cross/{arm|ppc|mips}

The gcc cross-compilers works (almost) fine except that the gmp and mpfr
library are dynamically loaded by gcc (by cc1 more exactly) from the 
wrong place...
They are loaded from the system directory (/usr/lib) instead of the 
directory
that should correspond to the gcc build.

Because Ubuntu version 8 is using libgmp and libmpfr in a more
recent version it creates a mismatch that you can notice if you compile 
with gcc -v,
but it seems to work fine however. We did not have time to thoroughly 
test generated code

Ubuntu version 7 is older and does not use libmpfr.
If you don't have libmpfr installed in the dynamic loading system 
directories
you get an error like :

/usr/local/cross/ppc/usr/bin/../libexec/gcc/powerpc-linux-uclibc/4.3.2/cc1plus: 
error while loading shared libraries: libmpfr.so.1: cannot open shared 
object file: No such file or directory

It seems there is a bug in buildroot: the generated gcc does not take 
the libgmp
and libmpfr from the right place.
libgmp and libmpfr are not target dependent, they are host dependent.
However the cross compiler gcc should not take these libraries
from the same place as the host gcc.
It should be from the staging directory.
Moreover in our case we built the three targets (arm, ppc, mips)
with the same release of buildroot.
But it could be possible we would have the three targets built with 
different
releases of buildroot, hence different releases of mpfr. These libraries
should be loaded from the staging directory.

Perhaps it is because we missed an option somewhere in the configuration...

Anyone has an opinion on this ?

VJ

             reply	other threads:[~2009-02-05  2:17 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-02-05  2:17 Vania Joloboff [this message]
2009-02-05  3:59 ` [Buildroot] Bug with gmp and mpfr Maxim Grigoriev
2009-02-09 10:10   ` Peter Korsgaard
2009-02-09 13:03   ` Peter Korsgaard
     [not found] <4989680E.4010807@liama.ia.ac.cn>
2009-04-20  8:29 ` Vania Joloboff

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=498A4C33.8000302@tsinghua.edu.cn \
    --to=vania.joloboff@tsinghua.edu.cn \
    --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