All of lore.kernel.org
 help / color / mirror / Atom feed
From: Yann E. MORIN <yann.morin.1998@free.fr>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH 1/1] protobuf/protobuf-c: bump versions
Date: Fri, 14 Aug 2015 17:42:15 +0200	[thread overview]
Message-ID: <20150814154215.GD4017@free.fr> (raw)
In-Reply-To: <CALoSW67wa+ZY8PswjOFauGeT3-DT0eqd8VnxfS70OUECR_DQeA@mail.gmail.com>

Nimai, All,

On 2015-08-14 11:11 -0400, Nimai Mahajan spake thusly:
> On Fri, Aug 14, 2015 at 8:37 AM, Yann E. MORIN <yann.morin.1998@free.fr> wrote:
[--SNIP--]
> >     http://autobuild.buildroot.org/toolchains/configs/br-arm-full-static.config
> >     http://autobuild.buildroot.org/toolchains/configs/br-arm-cortex-a9-musl.config
[--SNIP--]
> Thanks for the suggestion! I didn't know autobuilder had prebuilt
> external toolchains for anyone to use publicly;

Yes, it is a little-known fact. Even I often forgets about it from time
to time... :-/

> protobuf-c v1.1.1 builds successfully with all toolchains ...

Good. Please provide a separate patch just to bump protobuf-c, then.

> protobuf    v2.6.1 builds successfully with everything except uClibc
> static, where it fails with this:
> 
> D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -c
> google/protobuf/stubs/atomicops_internals_x86_gcc.cc -o
> google/protobuf/stubs/atomicops_internals_x86_gcc.o
> google/protobuf/stubs/common.cc:48:2: error: #error "No suitable
> threading library available."
>  #error "No suitable threading library available."
>   ^
[--SNIP--]
> Seems to be a threading library issue but toolchain has NPTL thread
> support I believe so not sure why that is.

In fact, it is not a threading issue. If you look closely at the
config.log, you'll see that pthreads are properly detected, but that a
further check about shared libs is broken, see:

    http://autobuild.buildroot.org/results/3ef/3efb86c7e8ec2db5d953d634470cafae79bd34cf/protobuf-v2.5.0/config.log

Most notably:

    checking for the pthreads library -lpthreads... no
    checking whether pthreads work without any flags... no
    checking whether pthreads work with -Kthread... no
    checking whether pthreads work with -kthread... no
    checking for the pthreads library -llthread... no
    checking whether pthreads work with -pthread... yes
    checking for joinable pthread attribute... PTHREAD_CREATE_JOINABLE
    checking if more special flags are required for pthreads... no
    checking whether to check for GCC pthread/shared inconsistencies... yes
    checking whether -pthread is sufficient with -shared... no
    checking whether -lpthread fixes that... no
    checking whether -lc_r fixes that... no
    configure: WARNING: Impossible to determine how to use pthreads with shared libraries
    checking whether what we have so far is sufficient with -nostdlib... no
    checking whether -lpthread saves the day... no
    configure: WARNING: Impossible to determine how to use pthreads with shared libraries and -nostdlib

So, it's those checks about "GCC pthread/shared inconsistencies" that
are broken: it forcibly tries a shared link, even thoug h we are asking
for static link.

It all happens in an m4 macro, in protobuf-v2.5.0/m4/acx_pthread.m4,
around lines 239..375.

Fixing this macros is a huge "enterntainment" ;-]

So I think it is musch easier to just mark the package as not being
availble for static-only builds...

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-08-14 15:42 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-08-14  1:41 [Buildroot] [PATCH 1/1] protobuf/protobuf-c: bump versions Nimai Mahajan
2015-08-14 12:19 ` Yann E. MORIN
2015-08-14 12:29   ` Nimai Mahajan
2015-08-14 12:37     ` Yann E. MORIN
2015-08-14 15:11       ` Nimai Mahajan
2015-08-14 15:42         ` Yann E. MORIN [this message]
2015-08-14 15:54           ` Nimai Mahajan
2015-08-14 16:45             ` Yann E. MORIN
2015-08-15  9:28               ` Yann E. MORIN
2015-08-16  0:09                 ` Nimai Mahajan

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=20150814154215.GD4017@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 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.