* [Buildroot] [PATCH v3 1/1] package/jsoncpp: Broken on musl
@ 2015-08-09 11:50 Bernd Kuhls
2015-08-09 18:48 ` Jörg Krause
2015-08-09 18:59 ` Jörg Krause
0 siblings, 2 replies; 6+ messages in thread
From: Bernd Kuhls @ 2015-08-09 11:50 UTC (permalink / raw)
To: buildroot
Also propagate to reverse dependencies, to keep bisectability do this in
one commit.
Fixes compile error:
[ 16%] Building CXX object src/lib_json/CMakeFiles/jsoncpp_lib.dir/json_value.cpp.o
In file included from /home/fli4l/br3/output/host/usr/lib/gcc/x86_64-buildroot-linux-musl/4.9.2/include/xmmintrin.h:34:0,
from /home/fli4l/br3/output/host/usr/lib/gcc/x86_64-buildroot-linux-musl/4.9.2/include/x86intrin.h:31,
from /home/fli4l/br3/output/host/usr/x86_64-buildroot-linux-musl/include/c++/4.9.2/x86_64-buildroot-linux-musl/bits/opt_random.h:33,
from /home/fli4l/br3/output/host/usr/x86_64-buildroot-linux-musl/include/c++/4.9.2/random:50,
from /home/fli4l/br3/output/host/usr/x86_64-buildroot-linux-musl/include/c++/4.9.2/bits/stl_algo.h:66,
from /home/fli4l/br3/output/host/usr/x86_64-buildroot-linux-musl/include/c++/4.9.2/algorithm:62,
from /home/fli4l/br3/output/build/jsoncpp-1.6.1/src/lib_json/json_value.cpp:20:
/home/fli4l/br3/output/host/usr/lib/gcc/x86_64-buildroot-linux-musl/4.9.2/include/mm_malloc.h:34:64: error: declaration of 'int posix_memalign(void**, size_t, size_t) throw ()' has a different exception specifier
extern "C" int posix_memalign (void **, size_t, size_t) throw ();
^
In file included from /home/fli4l/br3/output/build/jsoncpp-1.6.1/include/json/assertions.h:9:0,
from /home/fli4l/br3/output/build/jsoncpp-1.6.1/src/lib_json/json_value.cpp:7:
/home/fli4l/br3/output/host/usr/x86_64-buildroot-linux-musl/sysroot/usr/include/stdlib.h:98:5: error: from previous declaration 'int posix_memalign(void**, size_t, size_t)'
int posix_memalign (void **, size_t, size_t);
^
make[2]: *** [src/lib_json/CMakeFiles/jsoncpp_lib.dir/json_value.cpp.o] Error 1
using this defconfig:
BR2_TOOLCHAIN_BUILDROOT_MUSL=y
BR2_TOOLCHAIN_BUILDROOT_CXX=y
BR2_PACKAGE_JSONCPP=y
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
---
v3: - rebased
- updated comments (Yann)
- added reverse dependencies to kodi-pvr-filmon & kodi-pvr-pctv
v2: Disable jsoncpp and reverse dependency with musl toolchain instead of patching gcc (Thomas)
FTR: gcc patches can be found here: http://patchwork.ozlabs.org/patch/460337/
---
package/jsoncpp/Config.in | 5 +++--
package/kodi-pvr-filmon/Config.in | 4 ++++
package/kodi-pvr-pctv/Config.in | 4 ++++
package/sysdig/Config.in | 6 ++++--
4 files changed, 15 insertions(+), 4 deletions(-)
diff --git a/package/jsoncpp/Config.in b/package/jsoncpp/Config.in
index 2c96f13..fb9da7a 100644
--- a/package/jsoncpp/Config.in
+++ b/package/jsoncpp/Config.in
@@ -1,4 +1,5 @@
config BR2_PACKAGE_JSONCPP
+ depends on !BR2_TOOLCHAIN_USES_MUSL # posix_memalign
depends on BR2_INSTALL_LIBSTDCPP
bool "jsoncpp"
help
@@ -10,5 +11,5 @@ config BR2_PACKAGE_JSONCPP
https://github.com/open-source-parsers/jsoncpp
-comment "jsoncpp needs a toolchain w/ C++"
- depends on !BR2_INSTALL_LIBSTDCPP
+comment "jsoncpp needs a (e)glibc or uClibc toolchain w/ C++"
+ depends on BR2_TOOLCHAIN_USES_MUSL || !BR2_INSTALL_LIBSTDCPP
diff --git a/package/kodi-pvr-filmon/Config.in b/package/kodi-pvr-filmon/Config.in
index 0b662df..491b3ac 100644
--- a/package/kodi-pvr-filmon/Config.in
+++ b/package/kodi-pvr-filmon/Config.in
@@ -2,7 +2,11 @@ config BR2_PACKAGE_KODI_PVR_FILMON
bool "kodi-pvr-filmon"
select BR2_PACKAGE_JSONCPP
select BR2_PACKAGE_KODI_PLATFORM
+ depends on !BR2_TOOLCHAIN_USES_MUSL # jsoncpp
help
Filmon PVR client addon for Kodi
https://github.com/kodi-pvr/pvr.filmon
+
+comment "kodi-pvr-filmon needs a (e)glibc or uClibc toolchain"
+ depends on BR2_TOOLCHAIN_USES_MUSL
diff --git a/package/kodi-pvr-pctv/Config.in b/package/kodi-pvr-pctv/Config.in
index 255cd4a..97c367d 100644
--- a/package/kodi-pvr-pctv/Config.in
+++ b/package/kodi-pvr-pctv/Config.in
@@ -2,7 +2,11 @@ config BR2_PACKAGE_KODI_PVR_PCTV
bool "kodi-pvr-pctv"
select BR2_PACKAGE_JSONCPP
select BR2_PACKAGE_KODI_PLATFORM
+ depends on !BR2_TOOLCHAIN_USES_MUSL # jsoncpp
help
PCTV PVR client addon for Kodi
https://github.com/kodi-pvr/pvr.vdr.vnsi
+
+comment "kodi-pvr-pctv needs a (e)glibc or uClibc toolchain"
+ depends on BR2_TOOLCHAIN_USES_MUSL
diff --git a/package/sysdig/Config.in b/package/sysdig/Config.in
index dc71d5f..50ebbba 100644
--- a/package/sysdig/Config.in
+++ b/package/sysdig/Config.in
@@ -3,6 +3,7 @@ config BR2_PACKAGE_SYSDIG
select BR2_PACKAGE_ZLIB
select BR2_PACKAGE_LUAJIT
select BR2_PACKAGE_JSONCPP
+ depends on !BR2_TOOLCHAIN_USES_MUSL # jsoncpp
depends on BR2_LINUX_KERNEL
depends on BR2_INSTALL_LIBSTDCPP # libjson
depends on BR2_PACKAGE_LUAJIT_ARCH_SUPPORTS
@@ -16,6 +17,7 @@ config BR2_PACKAGE_SYSDIG
http://sysdig.org
-comment "sysdig needs a toolchain w/ C++, dynamic library and a Linux kernel to be built"
- depends on !BR2_LINUX_KERNEL || !BR2_INSTALL_LIBSTDCPP || BR2_STATIC_LIBS
+comment "sysdig needs a (e)glibc or uClibc toolchain w/ C++, dynamic library and a Linux kernel to be built"
+ depends on !BR2_LINUX_KERNEL || !BR2_INSTALL_LIBSTDCPP || BR2_STATIC_LIBS \
+ || BR2_TOOLCHAIN_USES_MUSL
depends on BR2_PACKAGE_LUAJIT_ARCH_SUPPORTS
--
2.1.4
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [Buildroot] [PATCH v3 1/1] package/jsoncpp: Broken on musl
2015-08-09 11:50 [Buildroot] [PATCH v3 1/1] package/jsoncpp: Broken on musl Bernd Kuhls
@ 2015-08-09 18:48 ` Jörg Krause
2015-08-09 18:59 ` Jörg Krause
1 sibling, 0 replies; 6+ messages in thread
From: Jörg Krause @ 2015-08-09 18:48 UTC (permalink / raw)
To: buildroot
Hi Bernd,
On So, 2015-08-09 at 13:50 +0200, Bernd Kuhls wrote:
> Also propagate to reverse dependencies, to keep bisectability do this
> in
> one commit.
>
> Fixes compile error:
>
> [ 16%] Building CXX object
> src/lib_json/CMakeFiles/jsoncpp_lib.dir/json_value.cpp.o
> In file included from /home/fli4l/br3/output/host/usr/lib/gcc/x86_64
> -buildroot-linux-musl/4.9.2/include/xmmintrin.h:34:0,
> from /home/fli4l/br3/output/host/usr/lib/gcc/x86_64
> -buildroot-linux-musl/4.9.2/include/x86intrin.h:31,
> from /home/fli4l/br3/output/host/usr/x86_64
> -buildroot-linux-musl/include/c++/4.9.2/x86_64-buildroot-linux
> -musl/bits/opt_random.h:33,
> from /home/fli4l/br3/output/host/usr/x86_64
> -buildroot-linux-musl/include/c++/4.9.2/random:50,
> from /home/fli4l/br3/output/host/usr/x86_64
> -buildroot-linux-musl/include/c++/4.9.2/bits/stl_algo.h:66,
> from /home/fli4l/br3/output/host/usr/x86_64
> -buildroot-linux-musl/include/c++/4.9.2/algorithm:62,
> from /home/fli4l/br3/output/build/jsoncpp
> -1.6.1/src/lib_json/json_value.cpp:20:
> /home/fli4l/br3/output/host/usr/lib/gcc/x86_64-buildroot-linux
> -musl/4.9.2/include/mm_malloc.h:34:64: error: declaration of 'int
> posix_memalign(void**, size_t, size_t) throw ()' has a different
> exception specifier
> extern "C" int posix_memalign (void **, size_t, size_t) throw ();
> ^
> In file included from /home/fli4l/br3/output/build/jsoncpp
> -1.6.1/include/json/assertions.h:9:0,
> from /home/fli4l/br3/output/build/jsoncpp
> -1.6.1/src/lib_json/json_value.cpp:7:
> /home/fli4l/br3/output/host/usr/x86_64-buildroot-linux
> -musl/sysroot/usr/include/stdlib.h:98:5: error: from previous
> declaration 'int posix_memalign(void**, size_t, size_t)'
> int posix_memalign (void **, size_t, size_t);
> ^
> make[2]: ***
> [src/lib_json/CMakeFiles/jsoncpp_lib.dir/json_value.cpp.o] Error 1
>
> using this defconfig:
>
> BR2_TOOLCHAIN_BUILDROOT_MUSL=y
> BR2_TOOLCHAIN_BUILDROOT_CXX=y
> BR2_PACKAGE_JSONCPP=y
>
> Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
> ---
> v3: - rebased
> - updated comments (Yann)
> - added reverse dependencies to kodi-pvr-filmon & kodi-pvr-pctv
> v2: Disable jsoncpp and reverse dependency with musl toolchain
> instead of patching gcc (Thomas)
> FTR: gcc patches can be found here:
> http://patchwork.ozlabs.org/patch/460337/
>
> ---
> package/jsoncpp/Config.in | 5 +++--
> package/kodi-pvr-filmon/Config.in | 4 ++++
> package/kodi-pvr-pctv/Config.in | 4 ++++
> package/sysdig/Config.in | 6 ++++--
> 4 files changed, 15 insertions(+), 4 deletions(-)
>
> diff --git a/package/jsoncpp/Config.in b/package/jsoncpp/Config.in
> index 2c96f13..fb9da7a 100644
> --- a/package/jsoncpp/Config.in
> +++ b/package/jsoncpp/Config.in
> @@ -1,4 +1,5 @@
> config BR2_PACKAGE_JSONCPP
> + depends on !BR2_TOOLCHAIN_USES_MUSL # posix_memalign
> depends on BR2_INSTALL_LIBSTDCPP
> bool "jsoncpp"
> help
> @@ -10,5 +11,5 @@ config BR2_PACKAGE_JSONCPP
>
> https://github.com/open-source-parsers/jsoncpp
>
> -comment "jsoncpp needs a toolchain w/ C++"
> - depends on !BR2_INSTALL_LIBSTDCPP
> +comment "jsoncpp needs a (e)glibc or uClibc toolchain w/ C++"
> + depends on BR2_TOOLCHAIN_USES_MUSL || !BR2_INSTALL_LIBSTDCPP
> diff --git a/package/kodi-pvr-filmon/Config.in b/package/kodi-pvr
> -filmon/Config.in
> index 0b662df..491b3ac 100644
> --- a/package/kodi-pvr-filmon/Config.in
> +++ b/package/kodi-pvr-filmon/Config.in
> @@ -2,7 +2,11 @@ config BR2_PACKAGE_KODI_PVR_FILMON
> bool "kodi-pvr-filmon"
> select BR2_PACKAGE_JSONCPP
> select BR2_PACKAGE_KODI_PLATFORM
> + depends on !BR2_TOOLCHAIN_USES_MUSL # jsoncpp
> help
> Filmon PVR client addon for Kodi
>
> https://github.com/kodi-pvr/pvr.filmon
> +
> +comment "kodi-pvr-filmon needs a (e)glibc or uClibc toolchain"
> + depends on BR2_TOOLCHAIN_USES_MUSL
> diff --git a/package/kodi-pvr-pctv/Config.in b/package/kodi-pvr
> -pctv/Config.in
> index 255cd4a..97c367d 100644
> --- a/package/kodi-pvr-pctv/Config.in
> +++ b/package/kodi-pvr-pctv/Config.in
> @@ -2,7 +2,11 @@ config BR2_PACKAGE_KODI_PVR_PCTV
> bool "kodi-pvr-pctv"
> select BR2_PACKAGE_JSONCPP
> select BR2_PACKAGE_KODI_PLATFORM
> + depends on !BR2_TOOLCHAIN_USES_MUSL # jsoncpp
> help
> PCTV PVR client addon for Kodi
>
> https://github.com/kodi-pvr/pvr.vdr.vnsi
> +
> +comment "kodi-pvr-pctv needs a (e)glibc or uClibc toolchain"
> + depends on BR2_TOOLCHAIN_USES_MUSL
> diff --git a/package/sysdig/Config.in b/package/sysdig/Config.in
> index dc71d5f..50ebbba 100644
> --- a/package/sysdig/Config.in
> +++ b/package/sysdig/Config.in
> @@ -3,6 +3,7 @@ config BR2_PACKAGE_SYSDIG
> select BR2_PACKAGE_ZLIB
> select BR2_PACKAGE_LUAJIT
> select BR2_PACKAGE_JSONCPP
> + depends on !BR2_TOOLCHAIN_USES_MUSL # jsoncpp
> depends on BR2_LINUX_KERNEL
> depends on BR2_INSTALL_LIBSTDCPP # libjson
> depends on BR2_PACKAGE_LUAJIT_ARCH_SUPPORTS
> @@ -16,6 +17,7 @@ config BR2_PACKAGE_SYSDIG
>
> http://sysdig.org
>
> -comment "sysdig needs a toolchain w/ C++, dynamic library and a
> Linux kernel to be built"
> - depends on !BR2_LINUX_KERNEL || !BR2_INSTALL_LIBSTDCPP ||
> BR2_STATIC_LIBS
> +comment "sysdig needs a (e)glibc or uClibc toolchain w/ C++, dynamic
> library and a Linux kernel to be built"
> + depends on !BR2_LINUX_KERNEL || !BR2_INSTALL_LIBSTDCPP ||
> BR2_STATIC_LIBS \
> + || BR2_TOOLCHAIN_USES_MUSL
> depends on BR2_PACKAGE_LUAJIT_ARCH_SUPPORTS
I cannot reproduce this error.
Building jsoncpp 1.6.1 works fine for me with the external musl
toolchain (BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS) and the internal musl
toolchain (tested with gcc 4.9.3 and 5.2.0).
Internal toolchain (gcc 4.9.3) tested with the following defconfig:
BR2_arm=y
BR2_COMPILER_PARANOID_UNSAFE_PATH=y
BR2_TOOLCHAIN_BUILDROOT_MUSL=y
BR2_TOOLCHAIN_BUILDROOT_CXX=y
BR2_INIT_NONE=y
# BR2_TARGET_ENABLE_ROOT_LOGIN is not set
BR2_SYSTEM_BIN_SH_NONE=y
# BR2_TARGET_GENERIC_GETTY is not set
# BR2_TARGET_GENERIC_REMOUNT_ROOTFS_RW is not set
# BR2_PACKAGE_BUSYBOX is not set
BR2_PACKAGE_JSONCPP=y
# BR2_TARGET_ROOTFS_TAR is not set
Best regards
J?rg Krause
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Buildroot] [PATCH v3 1/1] package/jsoncpp: Broken on musl
2015-08-09 11:50 [Buildroot] [PATCH v3 1/1] package/jsoncpp: Broken on musl Bernd Kuhls
2015-08-09 18:48 ` Jörg Krause
@ 2015-08-09 18:59 ` Jörg Krause
2015-08-09 19:57 ` Bernd Kuhls
1 sibling, 1 reply; 6+ messages in thread
From: Jörg Krause @ 2015-08-09 18:59 UTC (permalink / raw)
To: buildroot
Dear Bernd Kuhls,
On So, 2015-08-09 at 13:50 +0200, Bernd Kuhls wrote:
> Also propagate to reverse dependencies, to keep bisectability do this
> in
> one commit.
>
> Fixes compile error:
>
> [ 16%] Building CXX object
> src/lib_json/CMakeFiles/jsoncpp_lib.dir/json_value.cpp.o
> In file included from /home/fli4l/br3/output/host/usr/lib/gcc/x86_64
> -buildroot-linux-musl/4.9.2/include/xmmintrin.h:34:0,
> from /home/fli4l/br3/output/host/usr/lib/gcc/x86_64
> -buildroot-linux-musl/4.9.2/include/x86intrin.h:31,
> from /home/fli4l/br3/output/host/usr/x86_64
> -buildroot-linux-musl/include/c++/4.9.2/x86_64-buildroot-linux
> -musl/bits/opt_random.h:33,
> from /home/fli4l/br3/output/host/usr/x86_64
> -buildroot-linux-musl/include/c++/4.9.2/random:50,
> from /home/fli4l/br3/output/host/usr/x86_64
> -buildroot-linux-musl/include/c++/4.9.2/bits/stl_algo.h:66,
> from /home/fli4l/br3/output/host/usr/x86_64
> -buildroot-linux-musl/include/c++/4.9.2/algorithm:62,
> from /home/fli4l/br3/output/build/jsoncpp
> -1.6.1/src/lib_json/json_value.cpp:20:
> /home/fli4l/br3/output/host/usr/lib/gcc/x86_64-buildroot-linux
> -musl/4.9.2/include/mm_malloc.h:34:64: error: declaration of 'int
> posix_memalign(void**, size_t, size_t) throw ()' has a different
> exception specifier
> extern "C" int posix_memalign (void **, size_t, size_t) throw ();
> ^
> In file included from /home/fli4l/br3/output/build/jsoncpp
> -1.6.1/include/json/assertions.h:9:0,
> from /home/fli4l/br3/output/build/jsoncpp
> -1.6.1/src/lib_json/json_value.cpp:7:
> /home/fli4l/br3/output/host/usr/x86_64-buildroot-linux
> -musl/sysroot/usr/include/stdlib.h:98:5: error: from previous
> declaration 'int posix_memalign(void**, size_t, size_t)'
> int posix_memalign (void **, size_t, size_t);
> ^
> make[2]: ***
> [src/lib_json/CMakeFiles/jsoncpp_lib.dir/json_value.cpp.o] Error 1
>
> using this defconfig:
>
> BR2_TOOLCHAIN_BUILDROOT_MUSL=y
> BR2_TOOLCHAIN_BUILDROOT_CXX=y
> BR2_PACKAGE_JSONCPP=y
>
> Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
> ---
> v3: - rebased
> - updated comments (Yann)
> - added reverse dependencies to kodi-pvr-filmon & kodi-pvr-pctv
> v2: Disable jsoncpp and reverse dependency with musl toolchain
> instead of patching gcc (Thomas)
> FTR: gcc patches can be found here:
> http://patchwork.ozlabs.org/patch/460337/
>
After a short investigation [1] I realized this error only applies for
x86 targets.
[1] https://gcc.gnu.org/ml/gcc-patches/2015-04/msg01084.html
Best regards
J?rg Krause
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Buildroot] [PATCH v3 1/1] package/jsoncpp: Broken on musl
2015-08-09 18:59 ` Jörg Krause
@ 2015-08-09 19:57 ` Bernd Kuhls
2015-08-10 6:58 ` Jörg Krause
0 siblings, 1 reply; 6+ messages in thread
From: Bernd Kuhls @ 2015-08-09 19:57 UTC (permalink / raw)
To: buildroot
Hi J?rg,
Am Sun, 09 Aug 2015 20:59:54 +0200 schrieb J?rg Krause:
> After a short investigation [1] I realized this error only applies for
> x86 targets.
>
> [1] https://gcc.gnu.org/ml/gcc-patches/2015-04/msg01084.html
v1 of my patch tried to fix it that way but it does not work for external
toolchains: http://patchwork.ozlabs.org/patch/460337/
Regards, Bernd
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Buildroot] [PATCH v3 1/1] package/jsoncpp: Broken on musl
2015-08-09 19:57 ` Bernd Kuhls
@ 2015-08-10 6:58 ` Jörg Krause
2015-08-11 17:43 ` Bernd Kuhls
0 siblings, 1 reply; 6+ messages in thread
From: Jörg Krause @ 2015-08-10 6:58 UTC (permalink / raw)
To: buildroot
On So, 2015-08-09 at 21:57 +0200, Bernd Kuhls wrote:
> Hi J?rg,
>
> Am Sun, 09 Aug 2015 20:59:54 +0200 schrieb J?rg Krause:
>
> > After a short investigation [1] I realized this error only applies
> > for
> > x86 targets.
> >
> > [1] https://gcc.gnu.org/ml/gcc-patches/2015-04/msg01084.html
>
> v1 of my patch tried to fix it that way but it does not work for
> external
> toolchains: http://patchwork.ozlabs.org/patch/460337/
I see! How about something like
depends on !(BR2_i386 || BR2_x86_64) && !BR2_TOOLCHAIN_USES_MUSL?
Best regards
J?rg Krause
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Buildroot] [PATCH v3 1/1] package/jsoncpp: Broken on musl
2015-08-10 6:58 ` Jörg Krause
@ 2015-08-11 17:43 ` Bernd Kuhls
0 siblings, 0 replies; 6+ messages in thread
From: Bernd Kuhls @ 2015-08-11 17:43 UTC (permalink / raw)
To: buildroot
Am Mon, 10 Aug 2015 08:58:58 +0200 schrieb J?rg Krause:
> On So, 2015-08-09 at 21:57 +0200, Bernd Kuhls wrote:
>> Hi J?rg,
>>
>> Am Sun, 09 Aug 2015 20:59:54 +0200 schrieb J?rg Krause:
>>
>> > After a short investigation [1] I realized this error only applies
>> > for x86 targets.
>> >
>> > [1] https://gcc.gnu.org/ml/gcc-patches/2015-04/msg01084.html
>>
>> v1 of my patch tried to fix it that way but it does not work for
>> external toolchains: http://patchwork.ozlabs.org/patch/460337/
>
> I see! How about something like depends on !(BR2_i386 || BR2_x86_64) &&
> !BR2_TOOLCHAIN_USES_MUSL?
Hi J?rg,
lgtm.
Regards, Bernd
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2015-08-11 17:43 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-08-09 11:50 [Buildroot] [PATCH v3 1/1] package/jsoncpp: Broken on musl Bernd Kuhls
2015-08-09 18:48 ` Jörg Krause
2015-08-09 18:59 ` Jörg Krause
2015-08-09 19:57 ` Bernd Kuhls
2015-08-10 6:58 ` Jörg Krause
2015-08-11 17:43 ` Bernd Kuhls
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.