Message ID | 1471290845-115279-2-git-send-email-fabrice.fontaine@orange.com |
---|---|
State | Superseded |
Headers | show |
>>>>> "Fabrice" == Fabrice Fontaine <fontaine.fabrice@gmail.com> writes: > Until tinycbor 0.4 is released, patch from dev branch is needed to > remove the usage of unnamed union which are not supported by all > targets such as blackfin What autobuilder issues does this fix? I tried building this config after applying both patches: http://autobuild.buildroot.net/results/f4d/f4d15afb44f471878dbdee7c67cd836bd2b79904/ But it now fails with: src/open_memstream.c: In function ‘open_memstream’: src/open_memstream.c:105: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘vtable’ src/open_memstream.c:105: error: ‘vtable’ undeclared (first use in this function) src/open_memstream.c:105: error: (Each undeclared identifier is reported only once src/open_memstream.c:105: error: for each function it appears in.) src/open_memstream.c:105: error: expected expression before ‘{’ token src/open_memstream.c:111: warning: implicit declaration of function ‘fopencookie’ src/open_memstream.c:111: warning: return makes pointer from integer without a cast Makefile:198: recipe for target 'src/open_memstream.o' failed So it isn't much of an improvement. Does it fix any other autobuilder issues?
Dear Peter, It seems that the link you provided is not correct as in this build, the old tinycbor 0.3.1 is being compiled. Could you provide me the correct link so I can reproduce the issue? I suspect you encountered a totally new issue with src/open_memstream.c which is being compiled only if open_memstream is found in the toolchain but this file is also using fopencookie which does not seem to be available in the toolchain. If I can reproduce the issue, I will make a new patch to check the presence of fopencookie an send it upstream. Concerning your original question, tinycbor 0.3.2 includes directly the patch from Thomas, more details can be found her: https://github.com/01org/tinycbor/commit/31c7f81d45d115d2007b1c881cbbd3a19618465c. The second patch removes the unnamed union, more details can be found here: https://patchwork.ozlabs.org/patch/652187/. Best regards, Fabrice Le 16 août 2016 à 07:52, Peter Korsgaard <peter@korsgaard.com> a écrit : >>>>>> "Fabrice" == Fabrice Fontaine <fontaine.fabrice@gmail.com> writes: > >> Until tinycbor 0.4 is released, patch from dev branch is needed to >> remove the usage of unnamed union which are not supported by all >> targets such as blackfin > > What autobuilder issues does this fix? > > I tried building this config after applying both patches: > > http://autobuild.buildroot.net/results/f4d/f4d15afb44f471878dbdee7c67cd836bd2b79904/ > > But it now fails with: > > src/open_memstream.c: In function ‘open_memstream’: > src/open_memstream.c:105: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘vtable’ > src/open_memstream.c:105: error: ‘vtable’ undeclared (first use in this function) > src/open_memstream.c:105: error: (Each undeclared identifier is reported only once > src/open_memstream.c:105: error: for each function it appears in.) > src/open_memstream.c:105: error: expected expression before ‘{’ token > src/open_memstream.c:111: warning: implicit declaration of function ‘fopencookie’ > src/open_memstream.c:111: warning: return makes pointer from integer without a cast > Makefile:198: recipe for target 'src/open_memstream.o' failed > > So it isn't much of an improvement. Does it fix any other autobuilder issues? > > -- > Bye, Peter Korsgaard
>>>>> "Fabrice" == Fabrice Fontaine <fontaine.fabrice@gmail.com> writes: > Dear Peter, > It seems that the link you provided is not correct as in this build, > the old tinycbor 0.3.1 is being compiled. Yes, naturally - There won't be any autobuilder results for 0.3.2 before your patches get included in the buildroot repo. I was expecting your patches to fix some of our existing (E.G. using 0.3.1) autobuilder issues, but that is apparently not the case? > Could you provide me the correct link so I can reproduce the issue? I > suspect you encountered a totally new issue with src/open_memstream.c > which is being compiled only if open_memstream is found in the > toolchain but this file is also using fopencookie which does not seem > to be available in the toolchain. If I can reproduce the issue, I > will make a new patch to check the presence of fopencookie an send it > upstream. You should be able to reproduce the issue if you build the defconfig from http://autobuild.buildroot.net/results/f4d/f4d15afb44f471878dbdee7c67cd836bd2b79904/ After applying your 2 tinybcr patches. > Concerning your original question, tinycbor 0.3.2 includes directly > the patch from Thomas, more details can be found her: > https://github.com/01org/tinycbor/commit/31c7f81d45d115d2007b1c881cbbd3a19618465c. Ok, so that means we can drop 0001-Makefile-use-installation-logic-compatible-with-old-.patch, good. > The second patch removes the unnamed union, more details can be found > here: https://patchwork.ozlabs.org/patch/652187/. Ok. It would be nice to mention that in the commit message.
Dear Peter, After more investigation, it seems that the uclibc for the blackfin target is configured without __UCLIBC_HAS_GLIBC_CUSTOM_STREAMS__ (./output/host/opt/ext-toolchain/bfin-uclinux/bfin-uclinux/runtime/usr/include/bits/uClibc_config.h). Without this option, fopencookie is not available in the toolchain and so the implementation of open_memstream function within tinycbor fails so I would suggest to disable tinycbor if BR2_bfin target is set. If this solution is acceptable, I can provide a patch. Best Regards, Fabrice 2016-08-16 17:07 GMT+02:00 Peter Korsgaard <peter@korsgaard.com>: > >>>>> "Fabrice" == Fabrice Fontaine <fontaine.fabrice@gmail.com> writes: > > > Dear Peter, > > It seems that the link you provided is not correct as in this build, > > the old tinycbor 0.3.1 is being compiled. > > Yes, naturally - There won't be any autobuilder results for 0.3.2 before > your patches get included in the buildroot repo. > > I was expecting your patches to fix some of our existing (E.G. using > 0.3.1) autobuilder issues, but that is apparently not the case? > > > Could you provide me the correct link so I can reproduce the issue? I > > suspect you encountered a totally new issue with src/open_memstream.c > > which is being compiled only if open_memstream is found in the > > toolchain but this file is also using fopencookie which does not seem > > to be available in the toolchain. If I can reproduce the issue, I > > will make a new patch to check the presence of fopencookie an send it > > upstream. > > You should be able to reproduce the issue if you build the defconfig > from > > http://autobuild.buildroot.net/results/f4d/f4d15afb44f471878dbdee7c67cd83 > 6bd2b79904/ > > After applying your 2 tinybcr patches. > > > Concerning your original question, tinycbor 0.3.2 includes directly > > the patch from Thomas, more details can be found her: > > https://github.com/01org/tinycbor/commit/31c7f81d45d115d2007b1c881cbbd3 > a19618465c. > > Ok, so that means we can drop > 0001-Makefile-use-installation-logic-compatible-with-old-.patch, good. > > > The second patch removes the unnamed union, more details can be found > > here: https://patchwork.ozlabs.org/patch/652187/. > > Ok. It would be nice to mention that in the commit message. > > -- > Venlig hilsen, > Peter Korsgaard >
Hello, On Tue, 16 Aug 2016 22:57:58 +0200, Fabrice Fontaine wrote: > Dear Peter, > > After more investigation, it seems that the uclibc for the blackfin target > is configured without __UCLIBC_HAS_GLIBC_CUSTOM_STREAMS__ > (./output/host/opt/ext-toolchain/bfin-uclinux/bfin-uclinux/runtime/usr/include/bits/uClibc_config.h). > Without this option, fopencookie is not available in the toolchain and so > the implementation of open_memstream function within tinycbor fails so I > would suggest to disable tinycbor if BR2_bfin target is set. > > If this solution is acceptable, I can provide a patch. This solution as-is is not acceptable: we now have support for Blackfin in the internal toolchain backend, in which case uClibc is built with UCLIBC_HAS_GLIBC_CUSTOM_STREAMS=y. Therefore, what you want to do is: # package uses fopencookie(), not available with this toolchain depends on !BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX Could you resend a new patch series that takes into account this aspect, and the other comments made by Peter Korsgaard? Thanks! Thomas
diff --git a/package/tinycbor/tinycbor.hash b/package/tinycbor/tinycbor.hash index 258e0e6..8757047 100644 --- a/package/tinycbor/tinycbor.hash +++ b/package/tinycbor/tinycbor.hash @@ -1,2 +1,3 @@ # Locally computed: sha256 f70de1e6b7e3750abb4ceacf0059e47b47c769f113434de10293b33867ce54c2 tinycbor-v0.3.2.tar.gz +sha256 7d3aa839ae246e9e14fc73e67869d88c684802c1578fb75503f3fdde1482dcf6 ede7f1431ae06c9086f2a83a57bd7832d99280e3.patch diff --git a/package/tinycbor/tinycbor.mk b/package/tinycbor/tinycbor.mk index 1519680..6af2eef 100644 --- a/package/tinycbor/tinycbor.mk +++ b/package/tinycbor/tinycbor.mk @@ -9,6 +9,12 @@ TINYCBOR_SITE = $(call github,01org,tinycbor,$(TINYCBOR_VERSION)) TINYCBOR_LICENSE = MIT TINYCBOR_LICENSE_FILES = LICENSE +# This patch fixes the issue on unnamed union which are not supported by some +# targets like blackfin +# This patch is currently in dev branch and will be a part of v0.4 +TINYCBOR_PATCH = \ + https://github.com/01org/tinycbor/commit/ede7f1431ae06c9086f2a83a57bd7832d99280e3.patch + TINYCBOR_DEPENDENCIES = host-pkgconf TINYCBOR_INSTALL_STAGING = YES
Until tinycbor 0.4 is released, patch from dev branch is needed to remove the usage of unnamed union which are not supported by all targets such as blackfin Signed-off-by: Fabrice Fontaine <fabrice.fontaine@orange.com> --- package/tinycbor/tinycbor.hash | 1 + package/tinycbor/tinycbor.mk | 6 ++++++ 2 files changed, 7 insertions(+)