You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Scanning dependencies of target grive_executable
[ 89%] Building CXX object grive/CMakeFiles/grive_executable.dir/src/main.cc.o
Linking CXX executable grive
../libgrive/libgrive.a(State.cc.o): In function gr::v1::State::Write(boost::filesystem::path const&) const': State.cc:(.text+0x190a): undefined reference togr::Json::Json(long const&)'
To get cmake to run I had to switch to using qt4 from qt5. Otherwise I just ran the apt-get command given at https://plus.google.com/117286709411978324355 "sudo apt-get install git cmake libgcrypt11-dev libjson0-dev libcurl4-openssl-dev libexpat1-dev libboost-filesystem-dev libboost-program-options-dev libboost-all-dev build-essential automake autoconf libtool pkg-config libcurl4-openssl-dev intltool libxml2-dev libgtk2.0-dev libnotify-dev libglib2.0-dev libevent-dev checkinstall". [So it's worth noting for the docs that that's not sufficient ... try "sudo apt-get install qt4-default libqt4-dev ..." (some shuffling of development packages that I didn't record)].
At any rate, this error claims that the executable isn't linking against some c++ version of a json library. But you only asked me to install "libjson0-dev". What else is wanted?
UPDATE: The issue turns out to be that Json(long&) is not defined, but Json(uint32_t&) is defined, and of course that is a long int. So the compiler is too stupid or too clever, and three casts to the argument of Json() in the Write() method in the State.cc file cure the compile problem.
Scanning dependencies of target grive_executable
[ 89%] Building CXX object grive/CMakeFiles/grive_executable.dir/src/main.cc.o
Linking CXX executable grive
../libgrive/libgrive.a(State.cc.o): In function
gr::v1::State::Write(boost::filesystem::path const&) const': State.cc:(.text+0x190a): undefined reference to
gr::Json::Json(long const&)'To get cmake to run I had to switch to using qt4 from qt5. Otherwise I just ran the apt-get command given at https://plus.google.com/117286709411978324355 "sudo apt-get install git cmake libgcrypt11-dev libjson0-dev libcurl4-openssl-dev libexpat1-dev libboost-filesystem-dev libboost-program-options-dev libboost-all-dev build-essential automake autoconf libtool pkg-config libcurl4-openssl-dev intltool libxml2-dev libgtk2.0-dev libnotify-dev libglib2.0-dev libevent-dev checkinstall". [So it's worth noting for the docs that that's not sufficient ... try "sudo apt-get install qt4-default libqt4-dev ..." (some shuffling of development packages that I didn't record)].
At any rate, this error claims that the executable isn't linking against some c++ version of a json library. But you only asked me to install "libjson0-dev". What else is wanted?
UPDATE: The issue turns out to be that Json(long&) is not defined, but Json(uint32_t&) is defined, and of course that is a long int. So the compiler is too stupid or too clever, and three casts to the argument of Json() in the Write() method in the State.cc file cure the compile problem.
Then one finds that grive 0.3 doesn't work (just as grive 0.2 doesn't) because of a change to the Google API in April. For that you need grive2, from Vitaliy Filippov at http://yourcmc.ru/wiki/Grive2 and http://yourcmc.ru/wiki/Grive2#Installation in particular. Works fine.
The text was updated successfully, but these errors were encountered: