All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 1/2] jsoncpp: follow Debian, Ubuntu, Arch convention for headers location
@ 2016-09-26 10:44 Vicente Olivert Riera
  2016-09-26 10:44 ` [Buildroot] [PATCH 2/2] jsoncpp: patch to include stdint.h, necessary for int64_t and uint64_t Vicente Olivert Riera
  2016-10-14 12:54 ` [Buildroot] [PATCH 1/2] jsoncpp: follow Debian, Ubuntu, Arch convention for headers location Peter Korsgaard
  0 siblings, 2 replies; 5+ messages in thread
From: Vicente Olivert Riera @ 2016-09-26 10:44 UTC (permalink / raw)
  To: buildroot

Taken from here: https://bugs.gentoo.org/show_bug.cgi?id=452234

Currently headers are installed in /usr/include/json/ but this collides
with other JSON libraries that also install headers in the same
location.

Fixes:

  http://autobuild.buildroot.net/results/2dd/2ddafa46a35fff54586810b23e0b98e6e4d28ca2/

Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
---
 package/jsoncpp/jsoncpp.mk | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/package/jsoncpp/jsoncpp.mk b/package/jsoncpp/jsoncpp.mk
index 83ce0a7..2231b47 100644
--- a/package/jsoncpp/jsoncpp.mk
+++ b/package/jsoncpp/jsoncpp.mk
@@ -10,7 +10,10 @@ JSONCPP_LICENSE = Public Domain or MIT
 JSONCPP_LICENSE_FILES = LICENSE
 JSONCPP_INSTALL_STAGING = YES
 
+# Follow Debian, Ubuntu, Arch convention for headers location
+# Taken from here: https://bugs.gentoo.org/show_bug.cgi?id=452234
 JSONCPP_CONF_OPTS += \
+	-DINCLUDE_INSTALL_DIR=/usr/include/jsoncpp \
 	-DJSONCPP_WITH_POST_BUILD_UNITTEST=OFF \
 	-DJSONCPP_WITH_TESTS=OFF \
 	-DJSONCPP_WITH_STRICT_ISO=OFF
-- 
2.7.3

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [Buildroot] [PATCH 2/2] jsoncpp: patch to include stdint.h, necessary for int64_t and uint64_t
  2016-09-26 10:44 [Buildroot] [PATCH 1/2] jsoncpp: follow Debian, Ubuntu, Arch convention for headers location Vicente Olivert Riera
@ 2016-09-26 10:44 ` Vicente Olivert Riera
  2016-09-28  9:54   ` Vicente Olivert Riera
  2016-10-14 12:57   ` Peter Korsgaard
  2016-10-14 12:54 ` [Buildroot] [PATCH 1/2] jsoncpp: follow Debian, Ubuntu, Arch convention for headers location Peter Korsgaard
  1 sibling, 2 replies; 5+ messages in thread
From: Vicente Olivert Riera @ 2016-09-26 10:44 UTC (permalink / raw)
  To: buildroot

Otherwise failures like these one can happen during the configure phase
of other applications that use jsoncpp, like upmpdcli for instance:

checking jsoncpp/json/json.h usability... yes
checking jsoncpp/json/json.h presence... yes
checking for jsoncpp/json/json.h... yes
configure: error: libjsoncpp not found.

And this is the actual problem that you can see in config.log:

configure:5233: checking for jsoncpp/json/json.h
configure:5233: result: yes
configure:5259: /usr/bin/mipsel-linux-g++ -o conftest conftest.cpp
-lmicrohttpd -lmpdclient -lpthread -ljsoncpp >&5
In file included from /usr/include/jsoncpp/json/autolink.h:9:0,
from /usr/include/jsoncpp/json/json.h:9,
from conftest.cpp:26:
/usr/include/jsoncpp/json/config.h:155:9: error: 'int64_t' does not name
a type
typedef int64_t Int64;
^
/usr/include/jsoncpp/json/config.h:156:9: error: 'uint64_t' does not
name a type
typedef uint64_t UInt64;
^

Upstream status: pull request sent
https://github.com/open-source-parsers/jsoncpp/pull/536

Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
---
 ...dint.h-necessary-for-int64_t-and-uint64_t.patch | 51 ++++++++++++++++++++++
 1 file changed, 51 insertions(+)
 create mode 100644 package/jsoncpp/0001-Include-stdint.h-necessary-for-int64_t-and-uint64_t.patch

diff --git a/package/jsoncpp/0001-Include-stdint.h-necessary-for-int64_t-and-uint64_t.patch b/package/jsoncpp/0001-Include-stdint.h-necessary-for-int64_t-and-uint64_t.patch
new file mode 100644
index 0000000..26a11ff
--- /dev/null
+++ b/package/jsoncpp/0001-Include-stdint.h-necessary-for-int64_t-and-uint64_t.patch
@@ -0,0 +1,51 @@
+From ab0f1e234aa40147e39cdfd0b97bf6527b8ea5e8 Mon Sep 17 00:00:00 2001
+From: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
+Date: Mon, 26 Sep 2016 11:16:38 +0100
+Subject: [PATCH] Include stdint.h necessary for int64_t and uint64_t
+
+Otherwise failures like these one can happen during the configure phase
+of other applications that use jsoncpp, like upmpdcli for instance:
+
+checking jsoncpp/json/json.h usability... yes
+checking jsoncpp/json/json.h presence... yes
+checking for jsoncpp/json/json.h... yes
+configure: error: libjsoncpp not found.
+
+And this is the actual problem that you can see in config.log:
+
+configure:5233: checking for jsoncpp/json/json.h
+configure:5233: result: yes
+configure:5259: /usr/bin/mipsel-linux-g++ -o conftest conftest.cpp
+-lmicrohttpd -lmpdclient -lpthread  -ljsoncpp >&5
+In file included from /usr/include/jsoncpp/json/autolink.h:9:0,
+                 from /usr/include/jsoncpp/json/json.h:9,
+                 from conftest.cpp:26:
+/usr/include/jsoncpp/json/config.h:155:9: error: 'int64_t' does not name
+a type
+ typedef int64_t Int64;
+         ^
+/usr/include/jsoncpp/json/config.h:156:9: error: 'uint64_t' does not
+name a type
+ typedef uint64_t UInt64;
+         ^
+
+Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
+---
+ include/json/config.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/include/json/config.h b/include/json/config.h
+index 6519101..71278c3 100644
+--- a/include/json/config.h
++++ b/include/json/config.h
+@@ -7,6 +7,7 @@
+ #define JSON_CONFIG_H_INCLUDED
+ #include <stddef.h>
+ #include <string> //typdef String
++#include <stdint.h> //typedef int64_t, uint64_t
+ 
+ /// If defined, indicates that json library is embedded in CppTL library.
+ //# define JSON_IN_CPPTL 1
+-- 
+2.7.3
+
-- 
2.7.3

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [Buildroot] [PATCH 2/2] jsoncpp: patch to include stdint.h, necessary for int64_t and uint64_t
  2016-09-26 10:44 ` [Buildroot] [PATCH 2/2] jsoncpp: patch to include stdint.h, necessary for int64_t and uint64_t Vicente Olivert Riera
@ 2016-09-28  9:54   ` Vicente Olivert Riera
  2016-10-14 12:57   ` Peter Korsgaard
  1 sibling, 0 replies; 5+ messages in thread
From: Vicente Olivert Riera @ 2016-09-28  9:54 UTC (permalink / raw)
  To: buildroot

Dear maintainer,

On 26/09/16 11:44, Vicente Olivert Riera wrote:
> Otherwise failures like these one can happen during the configure phase
> of other applications that use jsoncpp, like upmpdcli for instance:
> 
> checking jsoncpp/json/json.h usability... yes
> checking jsoncpp/json/json.h presence... yes
> checking for jsoncpp/json/json.h... yes
> configure: error: libjsoncpp not found.
> 
> And this is the actual problem that you can see in config.log:
> 
> configure:5233: checking for jsoncpp/json/json.h
> configure:5233: result: yes
> configure:5259: /usr/bin/mipsel-linux-g++ -o conftest conftest.cpp
> -lmicrohttpd -lmpdclient -lpthread -ljsoncpp >&5
> In file included from /usr/include/jsoncpp/json/autolink.h:9:0,
> from /usr/include/jsoncpp/json/json.h:9,
> from conftest.cpp:26:
> /usr/include/jsoncpp/json/config.h:155:9: error: 'int64_t' does not name
> a type
> typedef int64_t Int64;
> ^
> /usr/include/jsoncpp/json/config.h:156:9: error: 'uint64_t' does not
> name a type
> typedef uint64_t UInt64;
> ^
> 
> Upstream status: pull request sent
> https://github.com/open-source-parsers/jsoncpp/pull/536

whenever you apply this patch (if you decide to do it), could you please
amend the commit log and change the "Upstream status" to "merged"?

The upstream commit URL is here if you prefer to have it rather than the
PR URL:

https://github.com/open-source-parsers/jsoncpp/commit/ab0f1e234aa40147e39cdfd0b97bf6527b8ea5e8

We can also bump the version to ToT so we don't have to backport the
patch. If you prefer that solution, please let me know so I can send a v2.

Vincent

> 
> Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
> ---
>  ...dint.h-necessary-for-int64_t-and-uint64_t.patch | 51 ++++++++++++++++++++++
>  1 file changed, 51 insertions(+)
>  create mode 100644 package/jsoncpp/0001-Include-stdint.h-necessary-for-int64_t-and-uint64_t.patch
> 
> diff --git a/package/jsoncpp/0001-Include-stdint.h-necessary-for-int64_t-and-uint64_t.patch b/package/jsoncpp/0001-Include-stdint.h-necessary-for-int64_t-and-uint64_t.patch
> new file mode 100644
> index 0000000..26a11ff
> --- /dev/null
> +++ b/package/jsoncpp/0001-Include-stdint.h-necessary-for-int64_t-and-uint64_t.patch
> @@ -0,0 +1,51 @@
> +From ab0f1e234aa40147e39cdfd0b97bf6527b8ea5e8 Mon Sep 17 00:00:00 2001
> +From: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
> +Date: Mon, 26 Sep 2016 11:16:38 +0100
> +Subject: [PATCH] Include stdint.h necessary for int64_t and uint64_t
> +
> +Otherwise failures like these one can happen during the configure phase
> +of other applications that use jsoncpp, like upmpdcli for instance:
> +
> +checking jsoncpp/json/json.h usability... yes
> +checking jsoncpp/json/json.h presence... yes
> +checking for jsoncpp/json/json.h... yes
> +configure: error: libjsoncpp not found.
> +
> +And this is the actual problem that you can see in config.log:
> +
> +configure:5233: checking for jsoncpp/json/json.h
> +configure:5233: result: yes
> +configure:5259: /usr/bin/mipsel-linux-g++ -o conftest conftest.cpp
> +-lmicrohttpd -lmpdclient -lpthread  -ljsoncpp >&5
> +In file included from /usr/include/jsoncpp/json/autolink.h:9:0,
> +                 from /usr/include/jsoncpp/json/json.h:9,
> +                 from conftest.cpp:26:
> +/usr/include/jsoncpp/json/config.h:155:9: error: 'int64_t' does not name
> +a type
> + typedef int64_t Int64;
> +         ^
> +/usr/include/jsoncpp/json/config.h:156:9: error: 'uint64_t' does not
> +name a type
> + typedef uint64_t UInt64;
> +         ^
> +
> +Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
> +---
> + include/json/config.h | 1 +
> + 1 file changed, 1 insertion(+)
> +
> +diff --git a/include/json/config.h b/include/json/config.h
> +index 6519101..71278c3 100644
> +--- a/include/json/config.h
> ++++ b/include/json/config.h
> +@@ -7,6 +7,7 @@
> + #define JSON_CONFIG_H_INCLUDED
> + #include <stddef.h>
> + #include <string> //typdef String
> ++#include <stdint.h> //typedef int64_t, uint64_t
> + 
> + /// If defined, indicates that json library is embedded in CppTL library.
> + //# define JSON_IN_CPPTL 1
> +-- 
> +2.7.3
> +
> 

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Buildroot] [PATCH 1/2] jsoncpp: follow Debian, Ubuntu, Arch convention for headers location
  2016-09-26 10:44 [Buildroot] [PATCH 1/2] jsoncpp: follow Debian, Ubuntu, Arch convention for headers location Vicente Olivert Riera
  2016-09-26 10:44 ` [Buildroot] [PATCH 2/2] jsoncpp: patch to include stdint.h, necessary for int64_t and uint64_t Vicente Olivert Riera
@ 2016-10-14 12:54 ` Peter Korsgaard
  1 sibling, 0 replies; 5+ messages in thread
From: Peter Korsgaard @ 2016-10-14 12:54 UTC (permalink / raw)
  To: buildroot

>>>>> "Vicente" == Vicente Olivert Riera <Vincent.Riera@imgtec.com> writes:

 > Taken from here: https://bugs.gentoo.org/show_bug.cgi?id=452234
 > Currently headers are installed in /usr/include/json/ but this collides
 > with other JSON libraries that also install headers in the same
 > location.

What json libraries are these? I also worried about it, but from a quick
test I didn't see any file name conflicts.

This specific problem is already fixed by:

5d076804edde7914c69f226f34a1d57097f02a55
Author: J?rg Krause <joerg.krause@embedded.rocks>
Date:   Sun Sep 25 16:11:52 2016 +0200

    package/upmpdcli: add patch to fix error not detecting jsoncpp

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Buildroot] [PATCH 2/2] jsoncpp: patch to include stdint.h, necessary for int64_t and uint64_t
  2016-09-26 10:44 ` [Buildroot] [PATCH 2/2] jsoncpp: patch to include stdint.h, necessary for int64_t and uint64_t Vicente Olivert Riera
  2016-09-28  9:54   ` Vicente Olivert Riera
@ 2016-10-14 12:57   ` Peter Korsgaard
  1 sibling, 0 replies; 5+ messages in thread
From: Peter Korsgaard @ 2016-10-14 12:57 UTC (permalink / raw)
  To: buildroot

>>>>> "Vicente" == Vicente Olivert Riera <Vincent.Riera@imgtec.com> writes:

 > Otherwise failures like these one can happen during the configure phase
 > of other applications that use jsoncpp, like upmpdcli for instance:

 > checking jsoncpp/json/json.h usability... yes
 > checking jsoncpp/json/json.h presence... yes
 > checking for jsoncpp/json/json.h... yes
 > configure: error: libjsoncpp not found.

 > And this is the actual problem that you can see in config.log:

Thanks, but jsoncpp has already been bumped, and the new version
contains this fix:

commit e8d04791ff37be807995f6b7d242179756581343
Author: J?rg Krause <joerg.krause@embedded.rocks>
Date:   Tue Oct 11 21:09:30 2016 +0200

    package/jsoncpp: bump to version 1.7.7

    Signed-off-by: J?rg Krause <joerg.krause@embedded.rocks>
    Signed-off-by: Peter Korsgaard <peter@korsgaard.com>

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2016-10-14 12:57 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-09-26 10:44 [Buildroot] [PATCH 1/2] jsoncpp: follow Debian, Ubuntu, Arch convention for headers location Vicente Olivert Riera
2016-09-26 10:44 ` [Buildroot] [PATCH 2/2] jsoncpp: patch to include stdint.h, necessary for int64_t and uint64_t Vicente Olivert Riera
2016-09-28  9:54   ` Vicente Olivert Riera
2016-10-14 12:57   ` Peter Korsgaard
2016-10-14 12:54 ` [Buildroot] [PATCH 1/2] jsoncpp: follow Debian, Ubuntu, Arch convention for headers location Peter Korsgaard

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.