Eventhough it should be theoretically possible to build protobuf in static-only, configure.ac includes an m4 macro, ACX_PTHREAD defined in m4/acx_pthread.m4, which forcibly checks for threads *with* shared libs, and is completely broken for static-only (as it forces -shared whatever the user selection), ending up with these configure results: 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 Fixing this macro is far from trivial; protobuf in a static-only scenario is probably not too common. So, just disable protobuf for static-only builds. Fixes: http://autobuild.buildroot.org/results/3ef/3efb86c7e8ec2db5d953d634470cafae79bd34cf/ http://autobuild.buildroot.org/results/96a/96ae1108fc3193df2a93a779057130b774379655/ http://autobuild.buildroot.org/results/00c/00c29795980319d38823eec1301e9ebd860ebd2a/ ... Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Nimai Mahajan <nimaim@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> |
||
---|---|---|
arch | ||
board | ||
boot | ||
configs | ||
docs | ||
fs | ||
linux | ||
package | ||
support | ||
system | ||
toolchain | ||
.defconfig | ||
.gitignore | ||
CHANGES | ||
Config.in | ||
Config.in.legacy | ||
COPYING | ||
Makefile | ||
Makefile.legacy | ||
README |
Buildroot is a simple, efficient and easy-to-use tool to generate embedded Linux systems through cross-compilation. The documentation can be found in docs/manual. You can generate a text document with 'make manual-text' and read output/docs/manual/manual.text. Online documentation can be found at http://buildroot.org/docs.html To build and use the buildroot stuff, do the following: 1) run 'make menuconfig' 2) select the target architecture and the packages you wish to compile 3) run 'make' 4) wait while it compiles 5) find the kernel, bootloader, root filesystem, etc. in output/images You do not need to be root to build or run buildroot. Have fun! Buildroot comes with a basic configuration for a number of boards. Run 'make list-defconfigs' to view the list of provided configurations. Please feed suggestions, bug reports, insults, and bribes back to the buildroot mailing list: buildroot@buildroot.org You can also find us on #buildroot on Freenode IRC.