{"action":"opened","issue":{"url":"https://api.github.com/repos/ethereum/cpp-ethereum/issues/781","labels_url":"https://api.github.com/repos/ethereum/cpp-ethereum/issues/781/labels{/name}","comments_url":"https://api.github.com/repos/ethereum/cpp-ethereum/issues/781/comments","events_url":"https://api.github.com/repos/ethereum/cpp-ethereum/issues/781/events","html_url":"https://github.com/ethereum/cpp-ethereum/issues/781","id":54041396,"number":781,"title":"jsoncpp upgrade will need adressing","user":{"login":"LefterisJP","id":1658405,"avatar_url":"https://avatars.githubusercontent.com/u/1658405?v=3","gravatar_id":"","url":"https://api.github.com/users/LefterisJP","html_url":"https://github.com/LefterisJP","followers_url":"https://api.github.com/users/LefterisJP/followers","following_url":"https://api.github.com/users/LefterisJP/following{/other_user}","gists_url":"https://api.github.com/users/LefterisJP/gists{/gist_id}","starred_url":"https://api.github.com/users/LefterisJP/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/LefterisJP/subscriptions","organizations_url":"https://api.github.com/users/LefterisJP/orgs","repos_url":"https://api.github.com/users/LefterisJP/repos","events_url":"https://api.github.com/users/LefterisJP/events{/privacy}","received_events_url":"https://api.github.com/users/LefterisJP/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":{"login":"debris","id":2613714,"avatar_url":"https://avatars.githubusercontent.com/u/2613714?v=3","gravatar_id":"","url":"https://api.github.com/users/debris","html_url":"https://github.com/debris","followers_url":"https://api.github.com/users/debris/followers","following_url":"https://api.github.com/users/debris/following{/other_user}","gists_url":"https://api.github.com/users/debris/gists{/gist_id}","starred_url":"https://api.github.com/users/debris/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/debris/subscriptions","organizations_url":"https://api.github.com/users/debris/orgs","repos_url":"https://api.github.com/users/debris/repos","events_url":"https://api.github.com/users/debris/events{/privacy}","received_events_url":"https://api.github.com/users/debris/received_events","type":"User","site_admin":false},"milestone":null,"comments":0,"created_at":"2015-01-12T11:03:43Z","updated_at":"2015-01-12T11:03:43Z","closed_at":null,"body":"So, over the weekend there was a new release of [jsoncpp](https://github.com/open-source-parsers/jsoncpp) (0.7.1.). which kind of breaks building things for us. I already got the problem since I am on ArchLinux. They changed the root of the library's include from `jsoncpp/json/json.h` to `json/json.h`.\r\n\r\nSince this is the recommended way by the library itself to use includes now we should also comply. A quick patch I tried was to simply add to jsoncpp's cmake find function as suggested by @debris \r\n```cmake\r\nfind_path(\r\n\tJSONCPP_INCLUDE_DIR \r\n\tNAMES jsoncpp/json/json.h json/json.h\r\n\tDOC \"jsoncpp include dir\"\r\n)\r\n```\r\n\r\nand then change the 3 places where jsoncpp was included in the code, to comply with both the new root directory and the old.\r\n```\r\nlibsolidity/InterfaceHandler.h:31:24:#include <jsoncpp/json/json.h>\r\ntest/SolidityABIJSON.cpp:25:24:#include <jsoncpp/json/json.h>\r\ntest/SolidityNatspecJSON.cpp:24:24:#include <jsoncpp/json/json.h>\r\n```\r\n\r\nThe problem with this is that `jsonrpccpp` also includes `jsoncpp` and at least the version we are using is trying to include the old root directory.\r\n```\r\nIn file included from /usr/local/include/jsonrpccpp/server/abstractserver.h:16:0,\r\n                 from /usr/local/include/jsonrpccpp/server.h:13,\r\n                 from /home/lefteris/ew/cpp-ethereum/libqethereum/QEthereum.h:28,\r\n                 from /home/lefteris/ew/cpp-ethereum/libqethereum/QEthereum.cpp:25:\r\n/usr/local/include/jsonrpccpp/common/procedure.h:16:31: fatal error: jsoncpp/json/json.h: No such file or directory\r\n #include <jsoncpp/json/json.h>\r\n                               ^\r\ncompilation terminated.\r\nlibqethereum/CMakeFiles/qethereum.dir/build.make:54: recipe for target 'libqethereum/CMakeFiles/qethereum.dir/QEthereum.cpp.o' failed\r\nmake[2]: *** [libqethereum/CMakeFiles/qethereum.dir/QEthereum.cpp.o] Error 1\r\nCMakeFiles/Makefile2:1501: recipe for target 'libqethereum/CMakeFiles/qethereum.dir/all' failed\r\nmake[1]: *** [libqethereum/CMakeFiles/qethereum.dir/all] Error 2\r\nmake[1]: *** Waiting for unfinished jobs....\r\n```\r\n\r\nWhenever in any OS the new jsoncpp library is used there will be problems. We should address that somehow.\r\n\r\nA recommendation would be to do the suggested change above and also\r\n1) Either use a patched version of jsonrpcpp\r\n2) Wait for the maintainer to change it to use the new jsoncpp root"}}