Hello,
I am having a hard time getting jsoncpp installed and compiled on freebsd. Below is a very small program just to 'get it working with bare bones'. I try to use the ports and I get a segmentation fault. I try to compile from source and get a ton of errors. Thanks for any help you can give
install jsoncpp port
this is the code i used for a small example
compile and link
run it and core dump
so then I download from source and compile it
https://github.com/open-source-parsers/jsoncpp/archive/master.zip
instructions say to use these commands once it is unpacked
compile it with the next dirs
and i get these errors (truncated but the real errors are 10x longer) The forum has a char limit on how much you can post
I am having a hard time getting jsoncpp installed and compiled on freebsd. Below is a very small program just to 'get it working with bare bones'. I try to use the ports and I get a segmentation fault. I try to compile from source and get a ton of errors. Thanks for any help you can give
install jsoncpp port
Code:
pkg install jsoncpp
this is the code i used for a small example
Code:
#include <iostream>
#include <json/json.h>
#include <json/reader.h>
#include <json/writer.h>
#include <json/value.h>
using namespace std;
int main()
{
Json::Value root;
return 0;
}
compile and link
Code:
g++ -Wall -std=c++11 -fexceptions -g -I/usr/home/libs/jsoncpp-master/include/ -I/usr/local/include/ -c "test3.cpp" -o test3.o
g++ -L/usr/local/lib/ -o "test3" test3.o -lpthread -ljsoncpp
run it and core dump
Code:
$ ./test3
Segmentation fault (core dumped)
so then I download from source and compile it
https://github.com/open-source-parsers/jsoncpp/archive/master.zip
instructions say to use these commands once it is unpacked
Code:
cd jsoncpp/
LIB_TYPE=shared
meson --buildtype debug --default-library static . build-static
ninja -v -C build-static test
cd build-static
sudo ninja install
compile it with the next dirs
Code:
g++ -Wall -std=c++11 -fexceptions -g -I/usr/home/libs/jsoncpp-master/include/ -I/usr/local/include/ -c "test3.cpp" -o test3.o
g++ -L/usr/lib/ -L/lib/ -L/usr/local/lib/ -o "test3" test3.o -lpthread /usr/home/libs/jsoncpp-master/build-static/libjsoncpp.a
and i get these errors (truncated but the real errors are 10x longer) The forum has a char limit on how much you can post
Code:
/usr/home/libs/jsoncpp-master/build-static/libjsoncpp.a(src_lib_json_json_value.cpp.o): In function `_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6__initIPKcEENS_9enable_ifIXsr21__is_forward_iteratorIT_EE5valueEvE4typeESA_SA_':
/usr/include/c++/v1/string:1802: undefined reference to `std::__1::__basic_string_common<true>::__throw_length_error() const'
/usr/home/libs/jsoncpp-master/build-static/libjsoncpp.a(src_lib_json_json_value.cpp.o): In function `std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::__init(char const*, unsigned long)':
/usr/include/c++/v1/string:1523: undefined reference to `std::__1::__basic_string_common<true>::__throw_length_error() const'
/usr/home/libs/jsoncpp-master/build-static/libjsoncpp.a(src_lib_json_json_value.cpp.o): In function `ValueIterator':
/usr/home/libs/jsoncpp-master/build-static/../src/lib_json/json_valueiterator.inl:156: undefined reference to `std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::~basic_string()'
/usr/home/libs/jsoncpp-master/build-static/libjsoncpp.a(src_lib_json_json_value.cpp.o): In function `Exception':
/usr/home/libs/jsoncpp-master/build-static/../src/lib_json/json_value.cpp:194: undefined reference to `std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::basic_string(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)'
/usr/home/libs/jsoncpp-master/build-static/libjsoncpp.a(src_lib_json_json_value.cpp.o): In function `~Exception':
/usr/home/libs/jsoncpp-master/build-static/../src/lib_json/json_value.cpp:197: undefined reference to `std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::~basic_string()'
/usr/home/libs/jsoncpp-master/build-static/libjsoncpp.a(src_lib_json_json_value.cpp.o): In function `std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::__init(char const*, unsigned long)':
/usr/include/c++/v1/string:1523: undefined reference to `std::__1::__basic_string_common<true>::__throw_length_error() const'
/usr/home/libs/jsoncpp-master/build-static/libjsoncpp.a(src_lib_json_json_value.cpp.o): In function `Json::Value::CommentInfo::setComment(char const*, unsigned long)':
/usr/home/libs/jsoncpp-master/build-static/../src/lib_json/json_value.cpp:238: undefined reference to `std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::~basic_string()'
/usr/home/libs/jsoncpp-master/build-static/libjsoncpp.a(src_lib_json_json_value.cpp.o): In function `ios_base':
/usr/include/c++/v1/ios:336: undefined reference to `vtable for std::__1::ios_base'
/usr/home/libs/jsoncpp-master/build-static/libjsoncpp.a(src_lib_json_json_value.cpp.o): In function `basic_ios':
/usr/include/c++/v1/ios:650: undefined reference to `vtable for std::__1::basic_ios<char, std::__1::char_traits<char> >'
/usr/home/libs/jsoncpp-master/build-static/libjsoncpp.a(src_lib_json_json_value.cpp.o): In function `std::__1::basic_ios<char, std::__1::char_traits<char> >::init(std::__1::basic_streambuf<char, std::__1::char_traits<char> >*)':
/usr/include/c++/v1/ios:687: undefined reference to `std::__1::ios_base::init(void*)'
/usr/home/libs/jsoncpp-master/build-static/libjsoncpp.a(src_lib_json_json_value.cpp.o): In function `basic_stringbuf':
/usr/include/c++/v1/sstream:211: undefined reference to `std::__1::basic_streambuf<char, std::__1::char_traits<char> >::basic_streambuf()'
/usr/include/c++/v1/sstream:246: undefined reference to `std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::~basic_string()'
/usr/include/c++/v1/sstream:247: undefined reference to `std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::~basic_string()'
/usr/include/c++/v1/sstream:247: undefined reference to `std::__1::basic_streambuf<char, std::__1::char_traits<char> >::~basic_streambuf()'
/usr/home/libs/jsoncpp-master/build-static/libjsoncpp.a(src_lib_json_json_value.cpp.o): In function `basic_ostringstream':
/usr/include/c++/v1/sstream:785: undefined reference to `std::__1::basic_ostream<char, std::__1::char_traits<char> >::~basic_ostream()'
/usr/include/c++/v1/sstream:785: undefined reference to `std::__1::basic_ios<char, std::__1::char_traits<char> >::~basic_ios()'
/usr/home/libs/jsoncpp-master/build-static/libjsoncpp.a(src_lib_json_json_value.cpp.o): In function `basic_stringbuf':
/usr/include/c++/v1/sstream:246: undefined reference to `std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::~basic_string()'
/usr/home/libs/jsoncpp-master/build-static/libjsoncpp.a(src_lib_json_json_value.cpp.o): In function `Json::Value::CommentInfo::setComment(char const*, unsigned long)':
/usr/home/libs/jsoncpp-master/build-static/../src/lib_json/json_value.cpp:239: undefined reference to `std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::~basic_string()'
/usr/home/libs/jsoncpp-master/build-static/libjsoncpp.a(src_lib_json_json_value.cpp.o): In function `std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::__init(char const*, unsigned long)':
/usr/include/c++/v1/string:1523: undefined reference to `std::__1::__basic_string_common<true>::__throw_length_error() const'
/usr/home/libs/jsoncpp-master/build-static/libjsoncpp.a(src_lib_json_json_value.cpp.o): In function `Json::duplicateStringValue(char const*, unsigned long)':
/usr/home/libs/jsoncpp-master/build-static/../src/lib_json/json_value.cpp:107: undefined reference to `std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::~basic_string()'
/usr/home/libs/jsoncpp-master/build-static/libjsoncpp.a(src_lib_json_json_value.cpp.o): In function `std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::__init(char const*, unsigned long)':
/usr/include/c++/v1/string:1523: undefined reference to `std::__1::__basic_string_common<true>::__throw_length_error() const'
/usr/home/libs/jsoncpp-master/build-static/libjsoncpp.a(src_lib_json_json_value.cpp.o): In function `Json::Value::CZString::operator<(Json::Value::CZString const&) const':
/usr/home/libs/jsoncpp-master/build-static/../src/lib_json/json_value.cpp:317: undefined reference to `std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::~basic_string()'
/usr/home/libs/jsoncpp-master/build-static/libjsoncpp.a(src_lib_json_json_value.cpp.o): In function `std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::__init(char const*, unsigned long)':
/usr/include/c++/v1/string:1523: undefined reference to `std::__1::__basic_string_common<true>::__throw_length_error() const'
/usr/home/libs/jsoncpp-master/build-static/libjsoncpp.a(src_lib_json_json_value.cpp.o): In function `Json::Value::CZString::operator==(Json::Value::CZString const&) const':
/usr/home/libs/jsoncpp-master/build-static/../src/lib_json/json_value.cpp:331: undefined reference to `std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::~basic_string()'
/usr/home/libs/jsoncpp-master/build-static/libjsoncpp.a(src_lib_json_json_value.cpp.o): In function `ios_base':
/usr/include/c++/v1/ios:336: undefined reference to `vtable for std::__1::ios_base'
/usr/home/libs/jsoncpp-master/build-static/libjsoncpp.a(src_lib_json_json_value.cpp.o): In function `basic_ios':
/usr/include/c++/v1/ios:650: undefined reference to `vtable for std::__1::basic_ios<char, std::__1::char_traits<char> >'
/usr/home/libs/jsoncpp-master/build-static/libjsoncpp.a(src_lib_json_json_value.cpp.o): In function `std::__1::basic_ios<char, std::__1::char_traits<char> >::init(std::__1::basic_streambuf<char, std::__1::char_traits<char> >*)':
/usr/include/c++/v1/ios:687: undefined reference to `std::__1::ios_base::init(void*)'
/usr/home/libs/jsoncpp-master/build-static/libjsoncpp.a(src_lib_json_json_value.cpp.o): In function `basic_stringbuf':
/usr/include/c++/v1/sstream:211: undefined reference to `std::__1::basic_streambuf<char, std::__1::char_traits<char> >::basic_streambuf()'
/usr/include/c++/v1/sstream:246: undefined reference to `std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::~basic_string()'
/usr/include/c++/v1/sstream:247: undefined reference to `std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::~basic_string()'
/usr/include/c++/v1/sstream:247: undefined reference to `std::__1::basic_streambuf<char, std::__1::char_traits<char> >::~basic_streambuf()'
/usr/home/libs/jsoncpp-master/build-static/libjsoncpp.a(src_lib_json_json_value.cpp.o): In function `basic_ostringstream':
/usr/include/c++/v1/sstream:785: undefined reference to `std::__1::basic_ostream<char, std::__1::char_traits<char> >::~basic_ostream()'
/usr/include/c++/v1/sstream:785: undefined reference to `std::__1::basic_ios<char, std::__1::char_traits<char> >::~basic_ios()'
/usr/home/libs/jsoncpp-master/build-static/libjsoncpp.a(src_lib_json_json_value.cpp.o): In function `basic_stringbuf':
/usr/include/c++/v1/sstream:246: undefined reference to `std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::~basic_string()'
/usr/home/libs/jsoncpp-master/build-static/libjsoncpp.a(src_lib_json_json_value.cpp.o): In function `Value':
/usr/home/libs/jsoncpp-master/build-static/../src/lib_json/json_value.cpp:411: undefined reference to `std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::~basic_string()'
/usr/home/libs/jsoncpp-master/build-static/libjsoncpp.a(src_lib_json_json_value.cpp.o): In function `ios_base':
/usr/include/c++/v1/ios:336: undefined reference to `vtable for std::__1::ios_base'
/usr/home/libs/jsoncpp-master/build-static/libjsoncpp.a(src_lib_json_json_value.cpp.o): In function `basic_ios':
/usr/include/c++/v1/ios:650: undefined reference to `vtable for std::__1::basic_ios<char, std::__1::char_traits<char> >'
/usr/home/libs/jsoncpp-master/build-static/libjsoncpp.a(src_lib_json_json_value.cpp.o): In function `std::__1::basic_ios<char, std::__1::char_traits<char> >::init(std::__1::basic_streambuf<char, std::__1::char_traits<char> >*)':
/usr/include/c++/v1/ios:687: undefined reference to `std::__1::ios_base::init(void*)'
/usr/home/libs/jsoncpp-master/build-static/libjsoncpp.a(src_lib_json_json_value.cpp.o): In function `basic_stringbuf':
/usr/include/c++/v1/sstream:211: undefined reference to `std::__1::basic_streambuf<char, std::__1::char_traits<char> >::basic_streambuf()'
/usr/include/c++/v1/sstream:246: undefined reference to `std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::~basic_string()'
/usr/include/c++/v1/sstream:247: undefined reference to `std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::~basic_string()'
/usr/include/c++/v1/sstream:247: undefined reference to `std::__1::basic_streambuf<char, std::__1::char_traits<char> >::~basic_streambuf()'
/usr/home/libs/jsoncpp-master/build-static/libjsoncpp.a(src_lib_json_json_value.cpp.o): In function `basic_ostringstream':
/usr/include/c++/v1/sstream:785: undefined reference to `std::__1::basic_ostream<char, std::__1::char_traits<char> >::~basic_ostream()'
/usr/include/c++/v1/sstream:785: undefined reference to `std::__1::basic_ios<char, std::__1::char_traits<char> >::~basic_ios()'
/usr/home/libs/jsoncpp-master/build-static/libjsoncpp.a(src_lib_json_json_value.cpp.o): In function `basic_stringbuf':
/usr/include/c++/v1/sstream:246: undefined reference to `std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::~basic_string()'
/usr/home/libs/jsoncpp-master/build-static/libjsoncpp.a(src_lib_json_json_value.cpp.o): In function `Json::duplicateAndPrefixStringValue(char const*, unsigned int)':
/usr/home/libs/jsoncpp-master/build-static/../src/lib_json/json_value.cpp:124: undefined reference to `std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::~basic_string()'
/usr/home/libs/jsoncpp-master/build-static/libjsoncpp.a(src_lib_json_json_value.cpp.o): In function `std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::__init(char const*, unsigned long)':
/usr/include/c++/v1/string:1523: undefined reference to `std::__1::__basic_string_common<true>::__throw_length_error() const'
/usr/home/libs/jsoncpp-master/build-static/libjsoncpp.a(src_lib_json_json_value.cpp.o): In function `Json::duplicateAndPrefixStringValue(char const*, unsigned int)':
/usr/home/libs/jsoncpp-master/build-static/../src/lib_json/json_value.cpp:130: undefined reference to `std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::~basic_string()'
/usr/home/libs/jsoncpp-master/build-static/libjsoncpp.a(src_lib_json_json_value.cpp.o): In function `std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::__init(char const*, unsigned long)':
/usr/include/c++/v1/string:1523: undefined reference to `std::__1::__basic_string_common<true>::__throw_length_error() const'
/usr/home/libs/jsoncpp-master/build-static/libjsoncpp.a(src_lib_json_json_value.cpp.o): In function `Json::Value::operator<(Json::Value const&) const':
/usr/home/libs/jsoncpp-master/build-static/../src/lib_json/json_value.cpp:536: undefined reference to `std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::~basic_string()'
/usr/home/libs/jsoncpp-master/build-static/libjsoncpp.a(src_lib_json_json_value.cpp.o): In function `std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::__init(char const*, unsigned long)':
/usr/include/c++/v1/string:1523: undefined reference to `std::__1::__basic_string_common<true>::__throw_length_error() const'
/usr/home/libs/jsoncpp-master/build-static/libjsoncpp.a(src_lib_json_json_value.cpp.o): In function `Json::Value::operator==(Json::Value const&) const':
/usr/home/libs/jsoncpp-master/build-static/../src/lib_json/json_value.cpp:592: undefined reference to `std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::~basic_string()'
/usr/home/libs/jsoncpp-master/build-static/libjsoncpp.a(src_lib_json_json_value.cpp.o): In function `ios_base':
/usr/include/c++/v1/ios:336: undefined reference to `vtable for std::__1::ios_base'
/usr/home/libs/jsoncpp-master/build-static/libjsoncpp.a(src_lib_json_json_value.cpp.o): In function `basic_ios':
/usr/include/c++/v1/ios:650: undefined reference to `vtable for std::__1::basic_ios<char, std::__1::char_traits<char> >'
/usr/home/libs/jsoncpp-master/build-static/libjsoncpp.a(src_lib_json_json_value.cpp.o): In function `std::__1::basic_ios<char, std::__1::char_traits<char> >::init(std::__1::basic_streambuf<char, std::__1::char_traits<char> >*)':
/usr/include/c++/v1/ios:687: undefined reference to `std::__1::ios_base::init(void*)'
/usr/home/libs/jsoncpp-master/build-static/libjsoncpp.a(src_lib_json_json_value.cpp.o): In function `basic_stringbuf':
/usr/include/c++/v1/sstream:211: undefined reference to `std::__1::basic_streambuf<char, std::__1::char_traits<char> >::basic_streambuf()'
/usr/include/c++/v1/sstream:246: undefined reference to `std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::~basic_string()'
/usr/include/c++/v1/sstream:247: undefined reference to `std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::~basic_string()'
/usr/include/c++/v1/sstream:247: undefined reference to `std::__1::basic_streambuf<char, std::__1::char_traits<char> >::~basic_streambuf()'
/usr/home/libs/jsoncpp-master/build-static/libjsoncpp.a(src_lib_json_json_value.cpp.o): In function `basic_ostringstream':
/usr/include/c++/v1/sstream:785: undefined reference to `std::__1::basic_ostream<char, std::__1::char_traits<char> >::~basic_ostream()'
/usr/include/c++/v1/sstream:785: undefined reference to `std::__1::basic_ios<char, std::__1::char_traits<char> >::~basic_ios()'
/usr/home/libs/jsoncpp-master/build-static/libjsoncpp.a(src_lib_json_json_value.cpp.o): In function `basic_stringbuf':
/usr/include/c++/v1/sstream:246: undefined reference to `std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::~basic_string()'
/usr/home/libs/jsoncpp-master/build-static/libjsoncpp.a(src_lib_json_json_value.cpp.o): In function `Json::Value::asCString() const':
/usr/home/libs/jsoncpp-master/build-static/../src/lib_json/json_value.cpp:609: undefined reference to `std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::~basic_string()'
/usr/home/libs/jsoncpp-master/build-static/libjsoncpp.a(src_lib_json_json_value.cpp.o): In function `std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::__init(char const*, unsigned long)':
/usr/include/c++/v1/string:1523: undefined reference to `std::__1::__basic_string_common<true>::__throw_length_error() const'
/usr/include/c++/v1/string:1523: undefined reference to `std::__1::__basic_string_common<true>::__throw_length_error() const'
/usr/include/c++/v1/string:1523: undefined reference to `std::__1::__basic_string_common<true>::__throw_length_error() const'
/usr/include/c++/v1/string:1523: undefined reference to `std::__1::__basic_string_common<true>::__throw_length_error() const'
/usr/home/libs/jsoncpp-master/build-static/libjsoncpp.a(src_lib_json_json_value.cpp.o): In function `ios_base':
/usr/include/c++/v1/ios:336: undefined reference to `vtable for std::__1::ios_base'
/usr/home/libs/jsoncpp-master/build-static/libjsoncpp.a(src_lib_json_json_value.cpp.o): In function `basic_ios':
/usr/include/c++/v1/ios:650: undefined reference to `vtable for std::__1::basic_ios<char, std::__1::char_traits<char> >'
/usr/home/libs/jsoncpp-master/build-static/libjsoncpp.a(src_lib_json_json_value.cpp.o): In function `std::__1::basic_ios<char, std::__1::char_traits<char> >::init(std::__1::basic_streambuf<char, std::__1::char_traits<char> >*)':
truncated since there is a limit on how much you can post