Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

debian stable compile fail #316

Open
pbreuer opened this issue Jun 4, 2015 · 0 comments
Open

debian stable compile fail #316

pbreuer opened this issue Jun 4, 2015 · 0 comments

Comments

@pbreuer
Copy link

pbreuer commented Jun 4, 2015

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.

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant