draios / sysdig

Linux system exploration and troubleshooting tool with first class support for containers
http://www.sysdig.com/
Other
7.69k stars 728 forks source link

Userspace part doesn't build with non-bundled jsoncpp library #527

Closed Korulag closed 3 years ago

Korulag commented 8 years ago

I've tried to build sysdig with non-bundled jsoncpp and got an error:

Linking C static library libscap.a [ 17%] Built target scap Scanning dependencies of target sinsp [ 19%] Building CXX object userspace/libsinsp/CMakeFiles/sinsp.dir/chisel.cpp.o In file included from /root/rpmbuild/BUILD/sysdig-0.7.1/userspace/libsinsp/chisel.cpp:36:0: /root/rpmbuild/BUILD/sysdig-0.7.1/userspace/libsinsp/filterchecks.h: In member function 'virtual Json::Value sinsp_filter_check::extract_as_js(sinspevt, uint32t)': /root/rpmbuild/BUILD/sysdig-0.7.1/userspace/libsinsp/filterchecks.h:103:10: error: 'nullRef' is not a member of 'Json::Value' return Json::Value::nullRef; ^ /root/rpmbuild/BUILD/sysdig-0.7.1/userspace/libsinsp/filterchecks.h:104:2: warning: control reaches end of non-void function [-Wreturn-type] } ^ make[2]: * [userspace/libsinsp/CMakeFiles/sinsp.dir/chisel.cpp.o] Error 1 make[1]: * [userspace/libsinsp/CMakeFiles/sinsp.dir/all] Error 2 make: *\ [all] Error 2

jsoncpp library version is 0.6.0. Could you please take a look at this problem? Or should I use bundled library only?

UPD: tried to build with latest jsoncpp sources from https://github.com/open-source-parsers/jsoncpp/ and got the same error.

hhoffstaette commented 8 years ago

I'm building sysdig 0.11 (0.10 before that) against non-bundled jsoncpp without problem, but use 1.7.4. So it just seems your external dependency is too old.

Korulag commented 3 years ago

Sorry for not closing it before, eventually the solution was to use bundled version as sysdig requirements for jsonpp started to conflict with other software inside distribution. Closing issue,