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>
This patch fixes this autobuild failure:
http://autobuild.buildroot.net/results/e14/e14e1700d4fe359c56be57587bdb509e002e5753/build-end.log
The problem is caused by the -fvisibility-inlines-hidden switch.
Removing the switch is probably the least intrusive way we can make the
problem go away. The first solution that was considered was to move the
definition of the offending method to the .cpp file. However, with
other combinations of compilers and platforms, I suppose it could happen
with other methods as well. Removing the switch ensures we catch them
all.
Built-tested with the config from the build bot, as well as with all OLA
options/plugins enabled.
Signed-off-by: Simon Marchi <simon.marchi@polymtl.ca>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
We can delete the patch, as it was integrated upstream.
Signed-off-by: Simon Marchi <simon.marchi@polymtl.ca>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This reverts commit 884af65fd5. Thanks
to the change of the installation path of host-autoconf-archive
macros, host-ola will no longer see them when doing its autoreconf, so
the patch that was added by the commit being reverted here is no
longer needed.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Most likely people have already enabled python if they want to use the
bindings for ola, so use depends on instead of select so we don't need to
propagate the dependencies here.
Python already depends on mmu, so drop that here.
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
CXX variable is overwritten with an empy value when
host-autoconf-archive package has been installed before
host-ola.
config.log:
configure:19965: -o conftest -O2 [snip -I and -L] conftest.cpp -ldl
Fixes:
http://autobuild.buildroot.net/results/8fa/8fa0a64422a96023a926412a033d9a4f01af5a71/build-end.log
Signed-off-by: Romain Naour <romain.naour@openwide.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Now that largefile is mandatory removes package dependencies and
conditionals.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
The protoc stuff changed a bit since 0.9.3. When 0.9.4 was released,
support for cross-compiling was broken because of it. A patch was merged
upstream shortly after that fixes the problem, so I included it here.
When the next version is released, the patch should not be necessary
anymore.
[Peter: actually change _VERSION]
Signed-off-by: Simon Marchi <simon.marchi@polymtl.ca>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This update requires a few changes. First, good news, the patches that you
guys have submitted to OLA have been merged, so we can drop those:
ola-0001-fix-build-warning.patch -> ea375582b0bfee93d66608ffc807078ffc48e961
ola-0002-move-python-sub-check-to-configure.ac.patch -> 673a7602a6bf7a6aa8a8461ebd9362d59f6e21df
ola-0003-fix-check-for-python-module-for-cross-compilation.patch -> b51b48be81ec38bc7d1229be0c7d3189c5ddbafa
Less good news: OLA now builds a small protoc wrapper (ola_protoc) that is
built and executed at compile-time on the host. If we don't change anything,
ola_protoc is built with the target toolchain and therefore can't run on the
host. Explanation for ola_protoc is here
To solve this, I created a package host-ola, which builds and provides an
ola_protoc for the host. It tries to disable as much as possible of things
that we won't need at configure time. Only ola_protoc is built and installed
so it's not that long.
The change has been built-tested only.
[1] https://github.com/OpenLightingProject/ola/blob/master/protoc/ola-protoc.cpp#L20
[Thomas:
- add HOST_OLA_DEPENDENCIES variable, so that host-ola doesn't get
all the dependencies of the target ola package: certain target ola
dependencies do not have corresponding host packages (and it
doesn't make sense to have them as dependencies just to build
ola_protoc)
- improve the commit log to mention which upstream commits correspond
to our patches.]
Signed-off-by: Simon Marchi <simon.marchi@polymtl.ca>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
To be consistent with the recent change of FOO_MAKE_OPT into FOO_MAKE_OPTS,
make the same change for FOO_CONF_OPT.
Sed command used:
find * -type f | xargs sed -i 's#_CONF_OPT\>#&S#g'
Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
The host-protobuf package can only build on certain architectures. For
example, host-protobuf does not build on PowerPC platforms, causing
build failures on the autobuilders. Since we don't really care about
build platforms other than x86 and x86-64, this commit restricts the
build of host-protobuf to these architectures only, even though if
technically it could build on ARM and MIPS.
Fixes:
http://autobuild.buildroot.org/results/9b9/9b9b20b0e4694b11425cdc2382650cdc2774e400/
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
protobuf 2.5.0 adds an atomic operations implementation that is limited
to a few architectures only. mips64el and armeb don't work either.
Fixes (among others)
http://autobuild.buildroot.net/results/ae9fa612d0b6c9d593504206d5cedd480ad2547e/
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Fix the google.protobuf check in an upstreamable way.
As suggested by Arnout, use an autoconf ac_cv_have_* variable
so we can pass it on the command line. This is generic behaviour
for a lot of autoconf internals, so it makes sense to do it this
way.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Arnout Vandecappelle <arnout@mind.be>
Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
To test for the google.protobuf presence, ola's ./conifgure runs the
host Python. This is doomed to fail, as google.protobuf is installed
in target/ and not in host/
Since our dependencies ensures that google.protobuf is indeed installed
before we attempt to configure and build ola, we can just ditch the
test altogether.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
By default, the ola build uses -Werror, so let's pass
--disable-fatal-warnings to remove this and avoid build failures
caused by warnings.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This patch lines up the comments in Config.in files that clarify which
toolchain options the package depends on.
Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>