Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH v2] package/czmq: fix static linking
Date: Sun, 6 Mar 2016 16:00:28 +0100	[thread overview]
Message-ID: <20160306160028.64457dc8@free-electrons.com> (raw)
In-Reply-To: <1457275803-20224-1-git-send-email-joerg.krause@embedded.rocks>

Dear J?rg Krause,

On Sun,  6 Mar 2016 15:50:03 +0100, J?rg Krause wrote:
> Currently, building czmq statically fails for some architectures with undefined
> references to the math library:
>   /usr/powerpc-buildroot-linux-uclibc/sysroot/usr/lib/libstdc++.a(compatibility-ldbl.o): In function `std::tr1::hash<long double>::operator()(long double) const':
>   compatibility-ldbl.cc:(.text._ZNKSt3tr14hashIeEclEe+0x3c): undefined reference to `frexpl'
> 
> It turns out that this is actually a problem with libstdc++. Depending on the
> arch, some functions will be in compatibility-ldbl.o. If you use any of these
> functions, that file will be linked in. And when that file is linked in, all
> the _other_ functions, which you actually don't use, are also linked in. And
> one of these functions is the template function hash<long double>::operator(),
> which uses frexpl.
> 
> Requiring czmq to link with -lm is a bit weird, given that neither itself,
> nor any of its dependencies really need it...
> 
> So ideally it should be fixed in libstdc++ itself. However, as upstream
> accepted a patch to link with -lm, we use this patch to fix static linking.
> 
> Fixes:
> http://autobuild.buildroot.net/results/206/2061238affb685db998100a56c6571538d089a5b/
> http://autobuild.buildroot.net/results/caf/caf002d213c9dd09df07858c5c199411ca8ddfa3/
> http://autobuild.buildroot.net/results/568/568ac92d2f6d0604b9bf354ea9dca0a7cb5341f6/
> http://autobuild.buildroot.net/results/945/9452982fc14f579c61b45a1a189db5f89aab3b80/
> 
> Cc: Arnout Vandecappelle <arnout@mind.be>
> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> Signed-off-by: J?rg Krause <joerg.krause@embedded.rocks>
> ---

Applied to master, thanks.

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

      reply	other threads:[~2016-03-06 15:00 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-03-06 14:50 [Buildroot] [PATCH v2] package/czmq: fix static linking Jörg Krause
2016-03-06 15:00 ` 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=20160306160028.64457dc8@free-electrons.com \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox