GRIVE NO LONGER MAINTAINED PLEASE USE GRIVE2
Grive is DEPRECATED. Please refer to the newest fork Grive2.
Grive2, WHICH IS ACTIVELY MAINTAINED, is here: https://github.com/vitalif/grive2
an open source Linux client for Google Drive
Home Page: http://www.lbreda.com/grive/start
License: GNU General Public License v2.0
GRIVE NO LONGER MAINTAINED PLEASE USE GRIVE2
Grive is DEPRECATED. Please refer to the newest fork Grive2.
Grive2, WHICH IS ACTIVELY MAINTAINED, is here: https://github.com/vitalif/grive2
Hi!
Please go to this URL and get an authenication code:
when visiting the URL i get a 400 (Bad Request) with:
Error: invalid_scope
A native application: grive
You can email the developer of this application at: [email protected]
Some requested scopes were invalid. {valid=[https://www.googleapis.com/auth/userinfo.profile, https://docs.googleusercontent.com/, https://docs.google.com/feeds/, https://www.googleapis.com/auth/userinfo.email, https://spreadsheets.google.com/feeds/], invalid=[https://www.googleapis.com/auth/drive.file/], noncanonical=[https://docs.google.com/feeds/(https://www.googleapis.com/auth/docs), https://spreadsheets.google.com/feeds/(https://www.googleapis.com/auth/spreadsheets), https://docs.googleusercontent.com/(https://www.googleapis.com/auth/docs)]}
Request Details
scope=https://www.googleapis.com/auth/drive.file/ https://www.googleapis.com/auth/userinfo.profile https://docs.googleusercontent.com/ https://docs.google.com/feeds/ https://www.googleapis.com/auth/userinfo.email https://spreadsheets.google.com/feeds/
response_type=code
access_type=offline
redirect_uri=urn:ietf:wg:oauth:2.0:oob
approval_prompt=auto
client_id=22314510474.apps.googleusercontent.com
:-?
Ubuntu 12.04 x64.
Hiho!
grive
,,,
Uploading p
Uploading building-generic.svg~
....
a) "p" is a grive temp file
b) since when are files i haven't added to gdrive being uploaded? My SVG editor creates tilde files (and i create local files) which i don't want synced. Can we have a CLI option to disable auto-add behaviour?
[root@search2 build]# uname -a
Linux search2.wegreen.de 2.6.32-220.13.1.el6.x86_64 #1 SMP Tue Apr 17 23:56:34 BST 2012 x86_64 x86_64 x86_64 GNU/Linux
[root@search2 build]# cmake ..
-- The C compiler identification is GNU
-- The CXX compiler identification is GNU
-- Check for working C compiler: /usr/bin/gcc
-- Check for working C compiler: /usr/bin/gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Found libgcrypt: -lgcrypt -ldl -lgpg-error
-- Found JSON-C: /usr/lib64/libjson.so
-- Found CURL: /usr/lib64/libcurl.so
-- Found EXPAT: /usr/lib64/libexpat.so
-- Boost version: 1.41.0
-- Found the following Boost libraries:
-- filesystem
-- system
-- Found libbfd: /usr/lib64/libbfd.so
-- Found libiberty: /usr/lib64/libiberty.a
-- Configuring done
-- Generating done
-- Build files have been written to: /root/match065-grive-d24440f/build
[root@search2 build]# make
Scanning dependencies of target grive
[ 1%] Building CXX object libgrive/CMakeFiles/grive.dir/src/drive/Drive.cc.o
[ 3%] Building CXX object libgrive/CMakeFiles/grive.dir/src/drive/ResourceTree.cc.o
/root/match065-grive-d24440f/libgrive/src/drive/ResourceTree.cc: In member function »gr::Resource* gr::ResourceTree::FindByPath(const boost::filesystem::path&)«:
/root/match065-grive-d24440f/libgrive/src/drive/ResourceTree.cc:131: Fehler: »const struct std::basic_string<char, std::char_traits, std::allocator >« hat kein Element namens »filename«
make[2]: *** [libgrive/CMakeFiles/grive.dir/src/drive/ResourceTree.cc.o] Fehler 1
make[1]: *** [libgrive/CMakeFiles/grive.dir/all] Fehler 2
make: *** [all] Fehler 2
exception: Throw in function (unknown)
Dynamic exception type: gr::http::Error
std::exception::what: std::exception
[gr::expt::MsgTag_] = malformed
[gr::http::CurlCodeTag_] = 3
[gr::http::HttpResponseTag*] = 0
In the actual revision (197abfd), when I try to sync my files, I get ths error:
Reading remote server file list
grive: /home/julio/Downloads/match065-grive-197abfd/libgrive/src/drive/Resource.cc:177: void gr::Resource::FromRemoteFile(const gr::Entry&, const gr::DateTime&): Assertion 'm_state == local_new || m_state == local_changed || m_state == remote_deleted' failed.
Aborted (core dumped)
On Windows the Google Drive client creates JSON files for each Google Document; if you double click those files the browser is launched and the document is opened on Google Docs.
Grive doesn't create those files
[ 7%] Building CXX object CMakeFiles/grive.dir/src/main.cc.o
/home/bash/builds/grive-git/src/grive/src/main.cc: In function ‘int main(int, char*)’:
/home/bash/builds/grive-git/src/grive/src/main.cc:89:39: error: ‘getopt’ was not declared in this scope
make[2]: ** [CMakeFiles/grive.dir/src/main.cc.o] Error 1
make[1]: *** [CMakeFiles/grive.dir/all] Error 2
make: *** [all] Error 2
if you do not have libexpat installed the make command fails even if cmake succeeded.
When running "grive -a" after inserting the Google API key the program crashes.
This is the output:
Please go to this URL and get an authentication code:
Please input the authentication code here:
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
terminate called after throwing an instance of 'boost::exception_detail::clone_implgr::http::Error'
what(): std::exception
Abgebrochen
The local directory is empty.
The remote directory contains some Google Docs documents and two folders with subfolders.
/home/vascom/rpmbuild/BUILD/match065-grive-c01ace7/libgrive/src/util/Gdbm.cc: In constructor 'gr::Gdbm::Gdbm(const string&)':
/home/vascom/rpmbuild/BUILD/match065-grive-c01ace7/libgrive/src/util/Gdbm.cc:39:67: error: invalid conversion from 'void ()()' to 'void ()(const char_)' [-fpermissive]
In file included from /home/vascom/rpmbuild/BUILD/match065-grive-c01ace7/libgrive/src/util/Gdbm.cc:24:0:
/usr/include/gdbm.h:101:18: error: initializing argument 5 of 'gdbm_file_info_ gdbm_open(const char_, int, int, int, void ()(const char))' [-fpermissive]
/home/vascom/rpmbuild/BUILD/match065-grive-c01ace7/libgrive/src/util/Gdbm.cc:42:39: error: invalid conversion from 'const char_' to 'char_' [-fpermissive]
/home/vascom/rpmbuild/BUILD/match065-grive-c01ace7/libgrive/src/util/Gdbm.cc: In member function 'std::string gr::Gdbm::Get(const string&) const':
/home/vascom/rpmbuild/BUILD/match065-grive-c01ace7/libgrive/src/util/Gdbm.cc:54:37: warning: narrowing conversion of 'ckey.std::basic_string<_CharT, _Traits, _Alloc>::size<char, std::char_traits, std::allocator >()' from 'std::basic_string::size_type {aka long unsigned int}' to 'int' inside { } is ill-formed in C++11 [-Wnarrowing]
/home/vascom/rpmbuild/BUILD/match065-grive-c01ace7/libgrive/src/util/Gdbm.cc: In member function 'void gr::Gdbm::Set(const string&, const string&)':
/home/vascom/rpmbuild/BUILD/match065-grive-c01ace7/libgrive/src/util/Gdbm.cc:72:37: warning: narrowing conversion of 'ckey.std::basic_string<_CharT, _Traits, _Alloc>::size<char, std::char_traits, std::allocator >()' from 'std::basic_string::size_type {aka long unsigned int}' to 'int' inside { } is ill-formed in C++11 [-Wnarrowing]
/home/vascom/rpmbuild/BUILD/match065-grive-c01ace7/libgrive/src/util/Gdbm.cc:73:37: warning: narrowing conversion of 'cval.std::basic_string<_CharT, _Traits, Alloc>::size<char, std::char_traits, std::allocator >()' from 'std::basic_string::size_type {aka long unsigned int}' to 'int' inside { } is ill-formed in C++11 [-Wnarrowing]
make[2]: ** [libgrive/CMakeFiles/grive.dir/src/util/Gdbm.cc.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: Leaving directory /home/vascom/rpmbuild/BUILD/match065-grive-c01ace7' make[1]: *** [libgrive/CMakeFiles/grive.dir/all] Error 2 make[1]: Leaving directory
/home/vascom/rpmbuild/BUILD/match065-grive-c01ace7'
make: *** [all] Error 2
I am successfully compiled grive in Fedora 17 x86_64. But at startup it has Segmentation fault and not work.
Hiho,
i'm seeing lots of unexplainable entries which say local_deleted:
beal-2005-07.pdf in state but not exist on disk: local_deleted
beal-2005-12.pdf in state but not exist on disk: local_deleted
The files are indeed not local (after a full sync of grive), but are in GDrive and are in the same dir as other files which sync just fine:
beal-20080400.pdf unchanged on disk: local_new
beal-2005-07.pdf in state but not exist on disk: local_deleted
beal-2005-12.pdf in state but not exist on disk: local_deleted
beal-200603.pdf unchanged on disk: local_new
How can i best provide more info with which to help debug this type of thing?
i notice this anomalous behevior of grive
i create a folder with a file inside
:/gdrive$mkdir newfolder1/gdrive$touch newfolder1/newdocument1
:
i run grive
:~/gdrive$grive
Reading local directories
Synchronizing folders
Reading remote server file list
Synchronizing files
sync "./newfolder1" doesn't exist in server, uploading
sync "./newfolder1/newdocument1" doesn't exist in server, uploading
i move the folder into another directory in my grive root folder
:~/gdrive$mv newfolder1 myfiles/
:/gdrive$grive/gdrive$
Reading local directories
Synchronizing folders
Reading remote server file list
file "./newfolder1/newdocument1" parent deleted recursively in local (local_deleted)
file "./newfolder1/newdocument1" parent deleted recursively in local (local_deleted)
Synchronizing files
sync "./myfiles/newfolder1" doesn't exist in server, uploading
sync "./myfiles/newfolder1/newdocument1" deleted in remote. deleting local
sync "./newfolder1" deleted in local. deleting remote
:
the file inside the moved folder results deleted both local and remote.
If you create folders in drive which contain the character / in their name (yes, stupid but it's possible)
grive will use them as folder separator and will create a folder and subfolder.
If you try to put files into the directory or subdirectory, grive crashes while trying to upload.
Files pulled from drive to this directory will be detected as "new" on every run -> always crashes afterwards.
Possible solutions i see:
I might provide exception-output tonight.
This is a patch I wrote to add libnotify support, it is quite row but it works.
https://docs.google.com/open?id=0B32YCWux-EaLck9Kc1V5MTJuX00
[stephan@hamsun:/cvs/grive/grive/foo]$ ../grive/cvs/grive/grive/foo]$ git p^C
terminate called after throwing an instance of 'gr::Json::Error'
what(): std::exception
Aborted (core dumped)
[stephan@hamsun:
[stephan@hamsun:/cvs/grive/grive/foo]$ cd -/cvs/grive]$ git pull
/home/stephan/cvs/grive
[stephan@hamsun:
Already up-to-date.
[stephan@hamsun:~/cvs/grive]$ date
Fri May 18 23:20:00 CEST 2012
i have no idea how to get the source version using git, but tig says i have f2a659c:
2012-05-17 20:55 Matchman Green o [master] [origin/HEAD] [origin/master] don't throw even if can't read config
lol! ;)
Error downloading file with space in the name:
./grive
downloading ./WORK/Oxylane/delta/RUN / CRASH Procedures RNS.doc
terminate called after throwing an instance of 'std::runtime_error'
what(): cannot open file ./WORK/Oxylane/delta/RUN / CRASH Procedures RNS.doc for writing
Aborted (core dumped)
I created a folder "My Google Drive" in my home directory then copied "grive" executable inside.
Then I launched ./grive and it updates my files as it should.
However at the end of the sync process it uploaded itself to the google drive. I believe this is not intended ( as grive already ignores the .grive and .grive_state files it should also ignore the executable )
Hi, sorry but i don't know how to build grive file, if you help me i can try it and give you feedback ok?
I use ubuntu 32 bit
This is not an issue but a suggestion, I crawled around the web to gain information about inotify and what I found was quite disappointing.
The main show stopper is that inotify doesn't support recursive directory watchers, and to code the recursive stuff ourself is quite silly ( lot's of work in balancing tree ).
However there exists a set of libraries and tools called inotify-tools that already implement the feature (using optimized redblack tree, which is neat)
take a look here:
https://github.com/rvoicilas/inotify-tools/wiki/
I suggest using this stuff instead of directly linking to inotify
You have very bar rpm spec file. It can not be compiled for x86_64 systems. And it not match Fedora rpm requirements.
Please look at my spec https://github.com/RussianFedora/grive/blob/master/grive.spec
It suitable for all supported Fedora releases and for i686 and x86_64 systems.
Please use my file instead if you want provide good spec.
What does it mean?
$ grive
local ./Proceedings of Technical Meetings/ION 1998/INSTALL/UNIX/INSTALL is newer
http error 400
terminate called after throwing an instance of 'gr::http::Exception'
what(): CURL code = 0 HTTP code = 400 (����)
Аварийный останов (core dumped)
Built from source on Ubuntu 12.04 x86_64, using boost 1.49.0
cdesai@icebox:~$ valgrind grive
==18597== Memcheck, a memory error detector
==18597== Copyright (C) 2002-2011, and GNU GPL'd, by Julian Seward et al.
==18597== Using Valgrind-3.7.0 and LibVEX; rerun with -h for copyright info
==18597== Command: grive
==18597==
==18597== Invalid write of size 8
==18597== at 0x6673F55: boost::filesystem3::detail::directory_iterator_construct(boost::filesystem3::directory_iterator&, boost::filesystem3::path const&, boost::system::error_code_) (in /home/cdesai/misc/boost/1_49_0/stage/lib/libboost_filesystem.so.1.49.0)
==18597== by 0x4EE23E6: boost::filesystem3::directory_iterator::directory_iterator(boost::filesystem3::path const&) (in /usr/local/lib/libgrive.so.0.1.0-pre)
==18597== by 0x4EE0F38: gr::State::FromLocal(boost::filesystem3::path const&, gr::Resource_) (in /usr/local/lib/libgrive.so.0.1.0-pre)
==18597== by 0x4EE0E9F: gr::State::FromLocal(boost::filesystem3::path const&) (in /usr/local/lib/libgrive.so.0.1.0-pre)
==18597== by 0x4EC9781: gr::Drive::Drive(gr::OAuth2&) (in /usr/local/lib/libgrive.so.0.1.0-pre)
==18597== by 0x41BA2B: main (in /usr/local/bin/grive)
==18597== Address 0xb9043c0 is 0 bytes after a block of size 32 alloc'd
==18597== at 0x4C2B1C7: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==18597== by 0x4EE23B4: boost::filesystem3::directory_iterator::directory_iterator(boost::filesystem3::path const&) (in /usr/local/lib/libgrive.so.0.1.0-pre)
==18597== by 0x4EE0F38: gr::State::FromLocal(boost::filesystem3::path const&, gr::Resource_) (in /usr/local/lib/libgrive.so.0.1.0-pre)
==18597== by 0x4EE0E9F: gr::State::FromLocal(boost::filesystem3::path const&) (in /usr/local/lib/libgrive.so.0.1.0-pre)
==18597== by 0x4EC9781: gr::Drive::Drive(gr::OAuth2&) (in /usr/local/lib/libgrive.so.0.1.0-pre)
==18597== by 0x41BA2B: main (in /usr/local/bin/grive)
==18597==
==18597== Invalid read of size 8
==18597== at 0x66711E8: boost::filesystem3::detail::directory_iterator_increment(boost::filesystem3::directory_iterator&, boost::system::error_code_) (in /home/cdesai/misc/boost/1_49_0/stage/lib/libboost_filesystem.so.1.49.0)
==18597== by 0x667435D: boost::filesystem3::detail::directory_iterator_construct(boost::filesystem3::directory_iterator&, boost::filesystem3::path const&, boost::system::error_code_) (in /home/cdesai/misc/boost/1_49_0/stage/lib/libboost_filesystem.so.1.49.0)
==18597== by 0x4EE23E6: boost::filesystem3::directory_iterator::directory_iterator(boost::filesystem3::path const&) (in /usr/local/lib/libgrive.so.0.1.0-pre)
==18597== by 0x4EE0F38: gr::State::FromLocal(boost::filesystem3::path const&, gr::Resource_) (in /usr/local/lib/libgrive.so.0.1.0-pre)
==18597== by 0x4EE0E9F: gr::State::FromLocal(boost::filesystem3::path const&) (in /usr/local/lib/libgrive.so.0.1.0-pre)
==18597== by 0x4EC9781: gr::Drive::Drive(gr::OAuth2&) (in /usr/local/lib/libgrive.so.0.1.0-pre)
==18597== by 0x41BA2B: main (in /usr/local/bin/grive)
==18597== Address 0xb9043c0 is 0 bytes after a block of size 32 alloc'd
==18597== at 0x4C2B1C7: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==18597== by 0x4EE23B4: boost::filesystem3::directory_iterator::directory_iterator(boost::filesystem3::path const&) (in /usr/local/lib/libgrive.so.0.1.0-pre)
==18597== by 0x4EE0F38: gr::State::FromLocal(boost::filesystem3::path const&, gr::Resource_) (in /usr/local/lib/libgrive.so.0.1.0-pre)
==18597== by 0x4EE0E9F: gr::State::FromLocal(boost::filesystem3::path const&) (in /usr/local/lib/libgrive.so.0.1.0-pre)
==18597== by 0x4EC9781: gr::Drive::Drive(gr::OAuth2&) (in /usr/local/lib/libgrive.so.0.1.0-pre)
==18597== by 0x41BA2B: main (in /usr/local/bin/grive)
==18597==
file .xsession-errors is ignored by grive
==18597== Invalid read of size 8
==18597== at 0x66711E8: boost::filesystem3::detail::directory_iterator_increment(boost::filesystem3::directory_iterator&, boost::system::error_code_) (in /home/cdesai/misc/boost/1_49_0/stage/lib/libboost_filesystem.so.1.49.0)
==18597== by 0x4EE24A2: boost::filesystem3::directory_iterator::increment() (in /usr/local/lib/libgrive.so.0.1.0-pre)
==18597== by 0x4EE2A2B: void boost::iterator_core_access::incrementboost::filesystem3::directory_iterator(boost::filesystem3::directory_iterator&) (in /usr/local/lib/libgrive.so.0.1.0-pre)
==18597== by 0x4EE2647: boost::iterator_facade<boost::filesystem3::directory_iterator, boost::filesystem3::directory_entry, boost::single_pass_traversal_tag, boost::filesystem3::directory_entry&, long>::operator++() (in /usr/local/lib/libgrive.so.0.1.0-pre)
==18597== by 0x4EE1169: gr::State::FromLocal(boost::filesystem3::path const&, gr::Resource_) (in /usr/local/lib/libgrive.so.0.1.0-pre)
==18597== by 0x4EE0E9F: gr::State::FromLocal(boost::filesystem3::path const&) (in /usr/local/lib/libgrive.so.0.1.0-pre)
==18597== by 0x4EC9781: gr::Drive::Drive(gr::OAuth2&) (in /usr/local/lib/libgrive.so.0.1.0-pre)
==18597== by 0x41BA2B: main (in /usr/local/bin/grive)
==18597== Address 0xb9043c0 is 0 bytes after a block of size 32 alloc'd
==18597== at 0x4C2B1C7: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==18597== by 0x4EE23B4: boost::filesystem3::directory_iterator::directory_iterator(boost::filesystem3::path const&) (in /usr/local/lib/libgrive.so.0.1.0-pre)
==18597== by 0x4EE0F38: gr::State::FromLocal(boost::filesystem3::path const&, gr::Resource_) (in /usr/local/lib/libgrive.so.0.1.0-pre)
==18597== by 0x4EE0E9F: gr::State::FromLocal(boost::filesystem3::path const&) (in /usr/local/lib/libgrive.so.0.1.0-pre)
==18597== by 0x4EC9781: gr::Drive::Drive(gr::OAuth2&) (in /usr/local/lib/libgrive.so.0.1.0-pre)
==18597== by 0x41BA2B: main (in /usr/local/bin/grive)
==18597==
file .goutputstream-GDJJEW is ignored by grive
file .repopickle_.gitconfig is ignored by grive
file .pulse-cookie is ignored by grive
file .filezilla.log.1 is ignored by grive
file .config is ignored by grive
==18597== Invalid write of size 8
==18597== at 0x6673F55: boost::filesystem3::detail::directory_iterator_construct(boost::filesystem3::directory_iterator&, boost::filesystem3::path const&, boost::system::error_code_) (in /home/cdesai/misc/boost/1_49_0/stage/lib/libboost_filesystem.so.1.49.0)
==18597== by 0x4EE23E6: boost::filesystem3::directory_iterator::directory_iterator(boost::filesystem3::path const&) (in /usr/local/lib/libgrive.so.0.1.0-pre)
==18597== by 0x4EE0F38: gr::State::FromLocal(boost::filesystem3::path const&, gr::Resource_) (in /usr/local/lib/libgrive.so.0.1.0-pre)
==18597== by 0x4EE1142: gr::State::FromLocal(boost::filesystem3::path const&, gr::Resource_) (in /usr/local/lib/libgrive.so.0.1.0-pre)
==18597== by 0x4EE0E9F: gr::State::FromLocal(boost::filesystem3::path const&) (in /usr/local/lib/libgrive.so.0.1.0-pre)
==18597== by 0x4EC9781: gr::Drive::Drive(gr::OAuth2&) (in /usr/local/lib/libgrive.so.0.1.0-pre)
==18597== by 0x41BA2B: main (in /usr/local/bin/grive)
==18597== Address 0xb90ffc0 is 0 bytes after a block of size 32 alloc'd
==18597== at 0x4C2B1C7: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==18597== by 0x4EE23B4: boost::filesystem3::directory_iterator::directory_iterator(boost::filesystem3::path const&) (in /usr/local/lib/libgrive.so.0.1.0-pre)
==18597== by 0x4EE0F38: gr::State::FromLocal(boost::filesystem3::path const&, gr::Resource_) (in /usr/local/lib/libgrive.so.0.1.0-pre)
==18597== by 0x4EE1142: gr::State::FromLocal(boost::filesystem3::path const&, gr::Resource_) (in /usr/local/lib/libgrive.so.0.1.0-pre)
==18597== by 0x4EE0E9F: gr::State::FromLocal(boost::filesystem3::path const&) (in /usr/local/lib/libgrive.so.0.1.0-pre)
==18597== by 0x4EC9781: gr::Drive::Drive(gr::OAuth2&) (in /usr/local/lib/libgrive.so.0.1.0-pre)
==18597== by 0x41BA2B: main (in /usr/local/bin/grive)
==18597==
==18597== Invalid read of size 8
==18597== at 0x667031C: boost::filesystem3::detail::dir_itr_close(void_&, void_&) (in /home/cdesai/misc/boost/1_49_0/stage/lib/libboost_filesystem.so.1.49.0)
==18597== by 0x66713FE: boost::filesystem3::detail::directory_iterator_increment(boost::filesystem3::directory_iterator&, boost::system::error_code_) (in /home/cdesai/misc/boost/1_49_0/stage/lib/libboost_filesystem.so.1.49.0)
==18597== by 0x4EE24A2: boost::filesystem3::directory_iterator::increment() (in /usr/local/lib/libgrive.so.0.1.0-pre)
==18597== by 0x4EE2A2B: void boost::iterator_core_access::incrementboost::filesystem3::directory_iterator(boost::filesystem3::directory_iterator&) (in /usr/local/lib/libgrive.so.0.1.0-pre)
==18597== by 0x4EE2647: boost::iterator_facade<boost::filesystem3::directory_iterator, boost::filesystem3::directory_entry, boost::single_pass_traversal_tag, boost::filesystem3::directory_entry&, long>::operator++() (in /usr/local/lib/libgrive.so.0.1.0-pre)
==18597== by 0x4EE1169: gr::State::FromLocal(boost::filesystem3::path const&, gr::Resource_) (in /usr/local/lib/libgrive.so.0.1.0-pre)
==18597== by 0x4EE1142: gr::State::FromLocal(boost::filesystem3::path const&, gr::Resource_) (in /usr/local/lib/libgrive.so.0.1.0-pre)
==18597== by 0x4EE0E9F: gr::State::FromLocal(boost::filesystem3::path const&) (in /usr/local/lib/libgrive.so.0.1.0-pre)
==18597== by 0x4EC9781: gr::Drive::Drive(gr::OAuth2&) (in /usr/local/lib/libgrive.so.0.1.0-pre)
==18597== by 0x41BA2B: main (in /usr/local/bin/grive)
==18597== Address 0xb90ffc0 is 0 bytes after a block of size 32 alloc'd
==18597== at 0x4C2B1C7: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==18597== by 0x4EE23B4: boost::filesystem3::directory_iterator::directory_iterator(boost::filesystem3::path const&) (in /usr/local/lib/libgrive.so.0.1.0-pre)
==18597== by 0x4EE0F38: gr::State::FromLocal(boost::filesystem3::path const&, gr::Resource_) (in /usr/local/lib/libgrive.so.0.1.0-pre)
==18597== by 0x4EE1142: gr::State::FromLocal(boost::filesystem3::path const&, gr::Resource_) (in /usr/local/lib/libgrive.so.0.1.0-pre)
==18597== by 0x4EE0E9F: gr::State::FromLocal(boost::filesystem3::path const&) (in /usr/local/lib/libgrive.so.0.1.0-pre)
==18597== by 0x4EC9781: gr::Drive::Drive(gr::OAuth2&) (in /usr/local/lib/libgrive.so.0.1.0-pre)
==18597== by 0x41BA2B: main (in /usr/local/bin/grive)
==18597==
==18597== Invalid write of size 8
==18597== at 0x6670324: boost::filesystem3::detail::dir_itr_close(void_&, void_&) (in /home/cdesai/misc/boost/1_49_0/stage/lib/libboost_filesystem.so.1.49.0)
==18597== by 0x66713FE: boost::filesystem3::detail::directory_iterator_increment(boost::filesystem3::directory_iterator&, boost::system::error_code_) (in /home/cdesai/misc/boost/1_49_0/stage/lib/libboost_filesystem.so.1.49.0)
==18597== by 0x4EE24A2: boost::filesystem3::directory_iterator::increment() (in /usr/local/lib/libgrive.so.0.1.0-pre)
==18597== by 0x4EE2A2B: void boost::iterator_core_access::incrementboost::filesystem3::directory_iterator(boost::filesystem3::directory_iterator&) (in /usr/local/lib/libgrive.so.0.1.0-pre)
==18597== by 0x4EE2647: boost::iterator_facade<boost::filesystem3::directory_iterator, boost::filesystem3::directory_entry, boost::single_pass_traversal_tag, boost::filesystem3::directory_entry&, long>::operator++() (in /usr/local/lib/libgrive.so.0.1.0-pre)
==18597== by 0x4EE1169: gr::State::FromLocal(boost::filesystem3::path const&, gr::Resource_) (in /usr/local/lib/libgrive.so.0.1.0-pre)
==18597== by 0x4EE1142: gr::State::FromLocal(boost::filesystem3::path const&, gr::Resource_) (in /usr/local/lib/libgrive.so.0.1.0-pre)
==18597== by 0x4EE0E9F: gr::State::FromLocal(boost::filesystem3::path const&) (in /usr/local/lib/libgrive.so.0.1.0-pre)
==18597== by 0x4EC9781: gr::Drive::Drive(gr::OAuth2&) (in /usr/local/lib/libgrive.so.0.1.0-pre)
==18597== by 0x41BA2B: main (in /usr/local/bin/grive)
==18597== Address 0xb90ffc0 is 0 bytes after a block of size 32 alloc'd
==18597== at 0x4C2B1C7: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==18597== by 0x4EE23B4: boost::filesystem3::directory_iterator::directory_iterator(boost::filesystem3::path const&) (in /usr/local/lib/libgrive.so.0.1.0-pre)
==18597== by 0x4EE0F38: gr::State::FromLocal(boost::filesystem3::path const&, gr::Resource_) (in /usr/local/lib/libgrive.so.0.1.0-pre)
==18597== by 0x4EE1142: gr::State::FromLocal(boost::filesystem3::path const&, gr::Resource_) (in /usr/local/lib/libgrive.so.0.1.0-pre)
==18597== by 0x4EE0E9F: gr::State::FromLocal(boost::filesystem3::path const&) (in /usr/local/lib/libgrive.so.0.1.0-pre)
==18597== by 0x4EC9781: gr::Drive::Drive(gr::OAuth2&) (in /usr/local/lib/libgrive.so.0.1.0-pre)
==18597== by 0x41BA2B: main (in /usr/local/bin/grive)
==18597==
==18597== Invalid read of size 4
==18597== at 0x5913E16: closedir (closedir.c:46)
==18597== by 0x667034A: boost::filesystem3::detail::dir_itr_close(void_&, void_&) (in /home/cdesai/misc/boost/1_49_0/stage/lib/libboost_filesystem.so.1.49.0)
==18597== by 0x4EE22F3: boost::filesystem3::detail::dir_itr_imp::~dir_itr_imp() (in /usr/local/lib/libgrive.so.0.1.0-pre)
==18597== by 0x4EE31DD: void boost::checked_deleteboost::filesystem3::detail::dir_itr_imp(boost::filesystem3::detail::dir_itr_imp_) (in /usr/local/lib/libgrive.so.0.1.0-pre)
==18597== by 0x4EE39B7: boost::detail::sp_counted_impl_pboost::filesystem3::detail::dir_itr_imp::dispose() (in /usr/local/lib/libgrive.so.0.1.0-pre)
==18597== by 0x6671577: boost::filesystem3::detail::directory_iterator_increment(boost::filesystem3::directory_iterator&, boost::system::error_code_) (in /home/cdesai/misc/boost/1_49_0/stage/lib/libboost_filesystem.so.1.49.0)
==18597== by 0x4EE24A2: boost::filesystem3::directory_iterator::increment() (in /usr/local/lib/libgrive.so.0.1.0-pre)
==18597== by 0x4EE2A2B: void boost::iterator_core_access::incrementboost::filesystem3::directory_iterator(boost::filesystem3::directory_iterator&) (in /usr/local/lib/libgrive.so.0.1.0-pre)
==18597== by 0x4EE2647: boost::iterator_facade<boost::filesystem3::directory_iterator, boost::filesystem3::directory_entry, boost::single_pass_traversal_tag, boost::filesystem3::directory_entry&, long>::operator++() (in /usr/local/lib/libgrive.so.0.1.0-pre)
==18597== by 0x4EE1169: gr::State::FromLocal(boost::filesystem3::path const&, gr::Resource_) (in /usr/local/lib/libgrive.so.0.1.0-pre)
==18597== by 0x4EE1142: gr::State::FromLocal(boost::filesystem3::path const&, gr::Resource_) (in /usr/local/lib/libgrive.so.0.1.0-pre)
==18597== by 0x4EE0E9F: gr::State::FromLocal(boost::filesystem3::path const&) (in /usr/local/lib/libgrive.so.0.1.0-pre)
==18597== Address 0xffff00000002 is not stack'd, malloc'd or (recently) free'd
==18597==
==18597==
==18597== Process terminating with default action of signal 11 (SIGSEGV)
==18597== General Protection Fault
==18597== at 0x5913E16: closedir (closedir.c:46)
==18597== by 0x667034A: boost::filesystem3::detail::dir_itr_close(void_&, void_&) (in /home/cdesai/misc/boost/1_49_0/stage/lib/libboost_filesystem.so.1.49.0)
==18597== by 0x4EE22F3: boost::filesystem3::detail::dir_itr_imp::~dir_itr_imp() (in /usr/local/lib/libgrive.so.0.1.0-pre)
==18597== by 0x4EE31DD: void boost::checked_deleteboost::filesystem3::detail::dir_itr_imp(boost::filesystem3::detail::dir_itr_imp_) (in /usr/local/lib/libgrive.so.0.1.0-pre)
==18597== by 0x4EE39B7: boost::detail::sp_counted_impl_pboost::filesystem3::detail::dir_itr_imp::dispose() (in /usr/local/lib/libgrive.so.0.1.0-pre)
==18597== by 0x6671577: boost::filesystem3::detail::directory_iterator_increment(boost::filesystem3::directory_iterator&, boost::system::error_code_) (in /home/cdesai/misc/boost/1_49_0/stage/lib/libboost_filesystem.so.1.49.0)
==18597== by 0x4EE24A2: boost::filesystem3::directory_iterator::increment() (in /usr/local/lib/libgrive.so.0.1.0-pre)
==18597== by 0x4EE2A2B: void boost::iterator_core_access::incrementboost::filesystem3::directory_iterator(boost::filesystem3::directory_iterator&) (in /usr/local/lib/libgrive.so.0.1.0-pre)
==18597== by 0x4EE2647: boost::iterator_facade<boost::filesystem3::directory_iterator, boost::filesystem3::directory_entry, boost::single_pass_traversal_tag, boost::filesystem3::directory_entry&, long>::operator++() (in /usr/local/lib/libgrive.so.0.1.0-pre)
==18597== by 0x4EE1169: gr::State::FromLocal(boost::filesystem3::path const&, gr::Resource_) (in /usr/local/lib/libgrive.so.0.1.0-pre)
==18597== by 0x4EE1142: gr::State::FromLocal(boost::filesystem3::path const&, gr::Resource*) (in /usr/local/lib/libgrive.so.0.1.0-pre)
==18597== by 0x4EE0E9F: gr::State::FromLocal(boost::filesystem3::path const&) (in /usr/local/lib/libgrive.so.0.1.0-pre)
==18597==
==18597== HEAP SUMMARY:
==18597== in use at exit: 325,793 bytes in 4,719 blocks
==18597== total heap usage: 8,518 allocs, 3,799 frees, 857,285 bytes allocated
==18597==
==18597== LEAK SUMMARY:
==18597== definitely lost: 5,657 bytes in 8 blocks
==18597== indirectly lost: 1,896 bytes in 3 blocks
==18597== possibly lost: 16,461 bytes in 405 blocks
==18597== still reachable: 301,779 bytes in 4,303 blocks
==18597== suppressed: 0 bytes in 0 blocks
==18597== Rerun with --leak-check=full to see details of leaked memory
==18597==
==18597== For counts of detected and suppressed errors, rerun with: -v
==18597== ERROR SUMMARY: 21 errors from 7 contexts (suppressed: 2 from 2)
Segmentation fault (core dumped)
Hiya!
Using latest version as of 3 minutes ago:
[stephan@host:~/GDrive]$ l
total 28
drwxrwxr-x 2 stephan stephan 12288 May 25 15:44 .
drwxr-xr-x 108 stephan stephan 12288 May 25 15:35 ..
-rw-rw-r-- 1 stephan stephan 94 May 20 21:12 .grive
[stephan@host:~/GDrive]$ grive
file .grive is ignored by grive
creating "./Docs" directory
creating "./Docs/Clipart" directory
......
creating "./Docs/Gaming/SJG/Ogre/Cisco" directory
file "macromap-002.png" parent doesn't exist, ignored
grive: /home/stephan/cvs/grive/libgrive/src/drive/Resource.cc:105: void gr::Resource::FromRemote(const gr::Entry&): Assertion `m_state == local_new || m_state == local_changed || m_state == local_deleted' failed.
Aborted (core dumped)
grive.x86_64: W: shared-lib-calls-exit /usr/lib64/libgrive.so.0.1.0 exit@GLIBC_2.2.5
This library package calls exit() or _exit(), probably in a non-fork()
context. Doing so from a library is strongly discouraged - when a library
function calls exit(), it prevents the calling program from handling the
error, reporting it to the user, closing files properly, and cleaning up any
state that the program has. It is preferred for the library to return an
actual error code and let the calling program decide how to handle the
situation.
grive.x86_64: W: shared-lib-calls-exit /usr/lib64/libgrive.so.0.1.0 _exit@GLIBC_2.2.5
This library package calls exit() or _exit(), probably in a non-fork()
context. Doing so from a library is strongly discouraged - when a library
function calls exit(), it prevents the calling program from handling the
error, reporting it to the user, closing files properly, and cleaning up any
state that the program has. It is preferred for the library to return an
actual error code and let the calling program decide how to handle the
situation.
Pulled the last master, build it, ran it, inputted the auth code and then this happens:
terminate called after throwing an instance of 'std::runtime_error'
what(): key: entry is not found in object
Aborted
This is on linux mint 12.
Thanks
Yugge
When you create a file directly on google drive or copy new files to it, does not perform grive download these files to the local computer. The timing should be remote -> local as well as local -> remote.
Thank you for this project. I have found grive useful, and think it will be interested not only for me:
encode with gnupg all files befor syncing. Is it real?
something like:
$ grive -e -r me@mail
Alex.
As you might know already, im packaging grive for Foresight. But it looks like grive wants libgrive.so.0. And wonder where that might come from?
If grive creates it, the code makes grive depend on it. And that's not good.
warning: EnforceSonameBuildRequirements: The following dependencies are not resolved within the package or in the system database: ['soname: ELF64/libgrive.so.0(SysV x86_64)']
warning: EnforceSonameBuildRequirements: The package may not function if installed, and Conary may require the --no-deps option to install the package.
There is a way to overwrite this, but still it's somehow wrong.
Hello,
The issue is when I moved a folder shared previously with me to my Google drive from Google Drive website and syncing with local directory, the remote content gets deleted:
[voyager@test11 GDrive]$ grive
Reading local directories
Synchronizing folders
Reading remote server file list
file "XXX" parent deleted recursively in local (local_deleted)
file "XXY" parent deleted recursively in local (local_deleted)
...
Is there a way to control Grive's behavior - in which direction does it sync?
p.s.: Possible work-around would be to delete .grive file and do initial sync but it is just wrong solution...
/grive/libgrive/src/protocol/OAuth2.cc: En la función miembro ‘void gr::OAuth2::Auth(const string&)’:
grive/libgrive/src/protocol/OAuth2.cc:67:36: error: no se encontró una función coincidente para la llamada a ‘gr::http::CurlAgent::Post(const string&, std::string&, gr::http::JsonResponse_)’
/grive/libgrive/src/protocol/OAuth2.cc:67:36: nota: el candidato es:
/grive/libgrive/src/http/CurlAgent.hh:55:7: nota: virtual long int gr::http::CurlAgent::Post(const string&, const string&, gr::http::Receivable_, const gr::http::Header&)
/grive/libgrive/src/http/CurlAgent.hh:55:7: nota: el candidato espera 4 argumentos, se proporcionaron 3
grive/libgrive/src/protocol/OAuth2.cc: En la función miembro ‘void gr::OAuth2::Refresh()’:
/grive/libgrive/src/protocol/OAuth2.cc:104:36: error: no se encontró una función coincidente para la llamada a ‘gr::http::CurlAgent::Post(const string&, std::string&, gr::http::JsonResponse_)’
/grive/libgrive/src/protocol/OAuth2.cc:104:36: nota: el candidato es:
/grive/libgrive/src/http/CurlAgent.hh:55:7: nota: virtual long int gr::http::CurlAgent::Post(const string&, const string&, gr::http::Receivable_, const gr::http::Header&)
/grive/libgrive/src/http/CurlAgent.hh:55:7: nota: el candidato espera 4 argumentos, se proporcionaron 3
make[2]: *** [libgrive/CMakeFiles/grive.dir/src/protocol/OAuth2.cc.o] Error 1
make[1]: *** [libgrive/CMakeFiles/grive.dir/all] Error 2
make: *** [all] Error 2
when I try to compile I get the following error (on ubuntu with boost 1.42 installed)
aspela@dgcdev07:/src/grive$ cmake ./src/grive$ make
-- Found JSON-C: /usr/lib/libjson.so
-- Found libbfd: /usr/lib/libbfd.so
-- Found libiberty: /usr/lib/libiberty.a
-- Configuring done
-- Generating done
-- Build files have been written to: /home/aspela/src/grive
aspela@dgcdev07:
Scanning dependencies of target grive
[ 3%] Building CXX object libgrive/CMakeFiles/grive.dir/src/drive/Drive.cc.o
[ 6%] Building CXX object libgrive/CMakeFiles/grive.dir/src/drive/Entry.cc.o
/home/aspela/src/grive/libgrive/src/drive/Entry.cc: In member function ‘void gr::Entry::FromLocal(const boost::filesystem::path&)’:
/home/aspela/src/grive/libgrive/src/drive/Entry.cc:60:29: error: ‘struct boost::filesystem::basic_pathstd::basic_string<char, boost::filesystem::path_traits>::string_type’ has no member named ‘string’
/home/aspela/src/grive/libgrive/src/drive/Entry.cc:61:31: error: ‘struct boost::filesystem::basic_pathstd::basic_string<char, boost::filesystem::path_traits>::string_type’ has no member named ‘string’
make[2]: *** [libgrive/CMakeFiles/grive.dir/src/drive/Entry.cc.o] Error 1
make[1]: *** [libgrive/CMakeFiles/grive.dir/all] Error 2
make: *** [all] Error 2
do I need to upgrade to boost 1.49?
I got error running "grive" when there are new local files:
Uploading drive-512.png
exception: Throw in function (unknown)
Dynamic exception type: gr::http::Error
std::exception::what: std::exception
[gr::expt::MsgTag_] = malformed
[gr::http::CurlCodeTag_] = 3
[gr::http::HttpResponseTag*] = 0
I'm using the latest Grive (latest rev. dates to May 31) and I can't get it to upload new files anymore. When copying some new files to the Grive folder and running grive, it renames them making the files hidden and doesn't upload them.
commit c326a41
$ gdb grive
GNU gdb (GDB) Fedora (7.4.50.20120120-42.fc17)
Copyright (C) 2012 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-redhat-linux-gnu".
For bug reporting instructions, please see:
http://www.gnu.org/software/gdb/bugs/...
Reading symbols from /usr/bin/grive...(no debugging symbols found)...done.
Missing separate debuginfos, use: debuginfo-install grive-0.0.4-1.20120516gitc326a41.fc17.R.x86_64
(gdb) run
Starting program: /usr/bin/grive
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
terminate called after throwing an instance of 'gr::Config::Error'
what(): std::exception
Program received signal SIGABRT, Aborted.
0x0000003df5435915 in raise () from /lib64/libc.so.6
(gdb) bt
#0 0x0000003df5435915 in raise () from /lib64/libc.so.6
#1 0x0000003df54370c8 in abort () from /lib64/libc.so.6
#2 0x0000003514860bed in __gnu_cxx::__verbose_terminate_handler() () from /lib64/libstdc++.so.6
#3 0x000000351485ecf6 in ?? () from /lib64/libstdc++.so.6
#4 0x000000351485ed23 in std::terminate() () from /lib64/libstdc++.so.6
#5 0x000000351485ef4e in __cxa_throw () from /lib64/libstdc++.so.6
#6 0x000000000040fafc in gr::Config::Read(std::string const&) ()
#7 0x000000000040fbe7 in gr::Config::Config() ()
#8 0x000000000040eb6f in main ()
Hi,
When compiling Grive and installing i receive this error.
tom@amy:/data/grive$ grive -a
grive: symbol lookup error: grive: undefined symbol: _ZN2gr3log12CompositeLogC1Ev
Here is the compiling information.
tom@amy:~$ uname -a
Linux amy 3.2.0-24-generic #38-Ubuntu SMP Tue May 1 16:18:50 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux
tom@amy:~$ git clone https://github.com/match065/grive.git
Cloning into 'grive'...
remote: Counting objects: 1870, done.
remote: Compressing objects: 100% (660/660), done.
remote: Total 1870 (delta 1207), reused 1832 (delta 1172)
Receiving objects: 100% (1870/1870), 881.59 KiB | 230 KiB/s, done.
Resolving deltas: 100% (1207/1207), done.
tom@amy:$ cd grive//grive$ cmake .
tom@amy:
-- The C compiler identification is GNU
-- The CXX compiler identification is GNU
-- Check for working C compiler: /usr/bin/gcc
-- Check for working C compiler: /usr/bin/gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- checking for module 'openssl'
-- found openssl, version 1.0.1
-- Found OpenSSL: /usr/lib/x86_64-linux-gnu/libssl.so;/usr/lib/x86_64-linux-gnu/libcrypto.so (found version "1..1")
-- Found JSON-C: /usr/lib/x86_64-linux-gnu/libjson.so
-- Found CURL: /usr/lib/x86_64-linux-gnu/libcurl.so
-- Found EXPAT: /usr/lib/x86_64-linux-gnu/libexpat.so
-- Boost version: 1.46.1
-- Found the following Boost libraries:
-- filesystem
-- system
-- Found libbfd: /usr/lib/libbfd.so
-- Found libiberty: /usr/lib/libiberty.a
-- Configuring done
-- Generating done
-- Build files have been written to: /home/tom/grive
tom@amy:~/grive$ make
Scanning dependencies of target grive
[ 3%] Building CXX object libgrive/CMakeFiles/grive.dir/src/drive/Resource.cc.o
[ 6%] Building CXX object libgrive/CMakeFiles/grive.dir/src/drive/State.cc.o
[ 9%] Building CXX object libgrive/CMakeFiles/grive.dir/src/drive/ResourceTree.cc.o
[ 12%] Building CXX object libgrive/CMakeFiles/grive.dir/src/drive/Drive.cc.o
[ 15%] Building CXX object libgrive/CMakeFiles/grive.dir/src/drive/Entry.cc.o
[ 18%] Building CXX object libgrive/CMakeFiles/grive.dir/src/http/XmlResponse.cc.o
[ 21%] Building CXX object libgrive/CMakeFiles/grive.dir/src/http/Agent.cc.o
[ 25%] Building CXX object libgrive/CMakeFiles/grive.dir/src/http/Download.cc.o
[ 28%] Building CXX object libgrive/CMakeFiles/grive.dir/src/http/Header.cc.o
[ 31%] Building CXX object libgrive/CMakeFiles/grive.dir/src/http/ResponseLog.cc.o
[ 34%] Building CXX object libgrive/CMakeFiles/grive.dir/src/http/StringResponse.cc.o
[ 37%] Building CXX object libgrive/CMakeFiles/grive.dir/src/protocol/OAuth2.cc.o
[ 40%] Building CXX object libgrive/CMakeFiles/grive.dir/src/protocol/Json.cc.o
[ 43%] Building CXX object libgrive/CMakeFiles/grive.dir/src/protocol/JsonResponse.cc.o
[ 46%] Building CXX object libgrive/CMakeFiles/grive.dir/src/util/StdioFile.cc.o
[ 50%] Building CXX object libgrive/CMakeFiles/grive.dir/src/util/Crypt.cc.o
[ 53%] Building CXX object libgrive/CMakeFiles/grive.dir/src/util/Exception.cc.o
[ 56%] Building CXX object libgrive/CMakeFiles/grive.dir/src/util/OS.cc.o
[ 59%] Building CXX object libgrive/CMakeFiles/grive.dir/src/util/DateTime.cc.o
[ 62%] Building CXX object libgrive/CMakeFiles/grive.dir/src/util/SignalHandler.cc.o
[ 65%] Building CXX object libgrive/CMakeFiles/grive.dir/src/util/log/CompositeLog.cc.o
[ 68%] Building CXX object libgrive/CMakeFiles/grive.dir/src/util/log/Log.cc.o
[ 71%] Building CXX object libgrive/CMakeFiles/grive.dir/src/util/log/CommonLog.cc.o
[ 75%] Building CXX object libgrive/CMakeFiles/grive.dir/src/util/log/DefaultLog.cc.o
[ 78%] Building CXX object libgrive/CMakeFiles/grive.dir/src/xml/Node.cc.o
[ 81%] Building CXX object libgrive/CMakeFiles/grive.dir/src/xml/TreeBuilder.cc.o
[ 84%] Building CXX object libgrive/CMakeFiles/grive.dir/src/xml/NodeSet.cc.o
[ 87%] Building CXX object libgrive/CMakeFiles/grive.dir/src/bfd/Debug.cc.o
[ 90%] Building CXX object libgrive/CMakeFiles/grive.dir/src/bfd/SymbolInfo.cc.o
[ 93%] Building CXX object libgrive/CMakeFiles/grive.dir/src/bfd/Backtrace.cc.o
Linking CXX shared library libgrive.so
[ 93%] Built target grive
Scanning dependencies of target grive_executable
[ 96%] Building CXX object grive/CMakeFiles/grive_executable.dir/src/main.cc.o
[100%] Building CXX object grive/CMakeFiles/grive_executable.dir/src/Config.cc.o
Linking CXX executable grive
[100%] Built target grive_executable
tom@amy:~/grive$ sudo make install
[ 93%] Built target grive
[100%] Built target grive_executable
Install the project...
-- Install configuration: ""
-- Up-to-date: /usr/local/lib/libgrive.so.0.1.0
-- Up-to-date: /usr/local/lib/libgrive.so.0
-- Up-to-date: /usr/local/lib/libgrive.so
-- Up-to-date: /usr/local/include/grive/drive/ResourceTree.hh
-- Up-to-date: /usr/local/include/grive/drive/State.hh
-- Up-to-date: /usr/local/include/grive/drive/Drive.hh
-- Up-to-date: /usr/local/include/grive/drive/CommonUri.hh
-- Up-to-date: /usr/local/include/grive/drive/Entry.hh
-- Up-to-date: /usr/local/include/grive/drive/Resource.hh
-- Up-to-date: /usr/local/include/grive/protocol/Json.hh
-- Up-to-date: /usr/local/include/grive/protocol/JsonResponse.hh
-- Up-to-date: /usr/local/include/grive/protocol/OAuth2.hh
-- Up-to-date: /usr/local/include/grive/util/OS.hh
-- Up-to-date: /usr/local/include/grive/util/Crypt.hh
-- Up-to-date: /usr/local/include/grive/util/StdioFile.hh
-- Up-to-date: /usr/local/include/grive/util/Function.hh
-- Up-to-date: /usr/local/include/grive/util/CArray.hh
-- Up-to-date: /usr/local/include/grive/util/DateTime.hh
-- Up-to-date: /usr/local/include/grive/util/SignalHandler.hh
-- Up-to-date: /usr/local/include/grive/util/Destroy.hh
-- Up-to-date: /usr/local/include/grive/util/FileSystem.hh
-- Up-to-date: /usr/local/include/grive/util/Exception.hh
-- Up-to-date: /usr/local/include/grive/xml/TreeBuilder.hh
-- Up-to-date: /usr/local/include/grive/xml/Error.hh
-- Up-to-date: /usr/local/include/grive/xml/NodeSet.hh
-- Up-to-date: /usr/local/include/grive/xml/Node.hh
-- Up-to-date: /usr/local/bin/grive
tom@amy:~/grive$ grive -a
grive: symbol lookup error: grive: undefined symbol: _ZN2gr3log12CompositeLogC1Ev
Hi,
permissions of downloaded files are 600. On MacOS X (native Google Drive App) they are 655. 600 makes it rather unusable for uses cases such as using it to synchronize assets for web servers ...
lg
I'm new to filing any type of issues, so please let me know if you need any other information.
I compiled and installed grive on Fedora 16, 64 bit. After authenticating and running grive for the first time, my google drive folders are created but all my files are ignored. When I search in the folders they are empty. suggestions?
This happens if I include a symlink to a folder in the grive's sync directory.
Note: /tmp/pacaurtmp-pankajm/grive-git/ is the folder where grive was compiled
and ./prog/ is the symlink in the current grive directory which is at ~/gdrive.
The debug output :
last sync time: 2012-06-07T06:07:38.667Z
Reading local directories
exception: /tmp/pacaurtmp-pankajm/grive-git/src/grive/libgrive/src/util/OS.cc(57): Throw in function gr::DateTime gr::os::FileCTime(const string&)
Dynamic exception type: boost::exception_detail::clone_implgr::os::Error
std::exception::what: std::exception
[gr::expt::BacktraceTag*] = #0 0x7ffd167da4f9 /usr/lib/libgrive.so.0 gr::Exception::Exception()
#1 0x7ffd167d9985 /usr/lib/libgrive.so.0 gr::os::Error::Error()
#2 0x7ffd167d951f /usr/lib/libgrive.so.0 gr::os::FileCTime(std::string const&)
#3 0x7ffd167d9599 /usr/lib/libgrive.so.0 gr::os::FileCTime(boost::filesystem3::path const&)
#4 0x7ffd167b8303 /usr/lib/libgrive.so.0 gr::Resource::FromLocal(gr::DateTime const&)
#5 0x7ffd167a6ef8 /usr/lib/libgrive.so.0 gr::State::FromLocal(boost::filesystem3::path const&, gr::Resource*)
#6 0x7ffd167a6f57 /usr/lib/libgrive.so.0 gr::State::FromLocal(boost::filesystem3::path const&, gr::Resource*)
#7 0x7ffd167a6f57 /usr/lib/libgrive.so.0 gr::State::FromLocal(boost::filesystem3::path const&, gr::Resource*)
#8 0x7ffd167a6f57 /usr/lib/libgrive.so.0 gr::State::FromLocal(boost::filesystem3::path const&, gr::Resource*)
#9 0x7ffd167a6f57 /usr/lib/libgrive.so.0 gr::State::FromLocal(boost::filesystem3::path const&, gr::Resource*)
#10 0x7ffd167a6f57 /usr/lib/libgrive.so.0 gr::State::FromLocal(boost::filesystem3::path const&, gr::Resource*)
#11 0x7ffd167a6f57 /usr/lib/libgrive.so.0 gr::State::FromLocal(boost::filesystem3::path const&, gr::Resource*)
#12 0x7ffd167a6f57 /usr/lib/libgrive.so.0 gr::State::FromLocal(boost::filesystem3::path const&, gr::Resource*)
#13 0x7ffd167ca70b /usr/lib/libgrive.so.0 gr::Drive::Drive(gr::OAuth2&, gr::Json const&)
#14 0x40f6fc grive Main(int, char**)
#15 0x40eb5a grive main
#16 0x7ffd15a31455 /lib/libc.so.6 __libc_start_main
#17 0x40ed69 grive
[boost::errinfo_errno__] = 2, "No such file or directory"
[boost::errinfo_file_name__] = ./prog/threepress-read-only/bookworm/library/django/contrib/admin/media
[boost::errinfo_api_function_*] = stat
If you have a file in GDrive with a name containing a slash character (/), grive fails to store it. The output:
Downloading "./FileWith/inTheName.txt"
exception: /home/joseluis/src/grive/libgrive/src/util/StdioFile.cc(68): Throw in function void gr::StdioFile::Open(const string&, const char_)
Dynamic exception type: boost::exception_detail::clone_implgr::StdioFile::Error
std::exception::what: std::exception
[boost::errinfo_errno__] = 2, "No such file or directory"
[boost::errinfo_file_name__] = ./FileWith/inTheName.txt
[boost::errinfo_api_function__] = fopen
[boost::errinfo_file_open_mode_*] = wb
I think with a / ->/ replacement will be enough
[dogpoo@Fedora17 grive]$ cmake .
-- The C compiler identification is GNU 4.7.0
-- The CXX compiler identification is GNU 4.7.0
-- Check for working C compiler: /usr/bin/gcc
-- Check for working C compiler: /usr/bin/gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
CMake Warning (dev) at CMakeLists.txt:8 (add_definitions):
Policy CMP0005 is not set: Preprocessor definition values are now escaped
automatically. Run "cmake --help-policy CMP0005" for policy details. Use
the cmake_policy command to set the policy and suppress this warning.
This warning is for project developers. Use -Wno-dev to suppress it.
CMake Warning (dev) in CMakeLists.txt:
No cmake_minimum_required command is present. A line of code such as
cmake_minimum_required(VERSION 2.8)
should be added at the top of the file. The version specified may be lower
if you wish to support older CMake versions for this project. For more
information run "cmake --help-policy CMP0000".
This warning is for project developers. Use -Wno-dev to suppress it.
-- Configuring done
-- Generating done
-- Build files have been written to: /home/dogpoo/grive/grive
[dogpoo@Fedora17 grive]$ make
Scanning dependencies of target grive_executable
[ 50%] Building CXX object CMakeFiles/grive_executable.dir/src/main.o
[100%] Building CXX object CMakeFiles/grive_executable.dir/src/Config.o
Linking CXX executable grive
/usr/bin/ld: cannot find -lgrive
collect2: Fehler: ld gab 1 als Ende-Status zurück
make[2]: *** [grive] Fehler 1
make[1]: *** [CMakeFiles/grive_executable.dir/all] Fehler 2
make: *** [all] Fehler 2
[dogpoo@Fedora17 grive]$
Using commit 6d50a0f
Attempted to compile virgin pull from github, compiles fine, but when it goes to link unittest & grive, it fails with undefined references to various EVP_ (openssl/evp.h references).
I was able to get things working by inserting the link requirement of libcrypto into the libgrive CMakeLists.txt and re-building.
In libgrive/CMakeLists.txt: (line 29-ish)
endif ( BFD_FOUND )
if ( IBERTY_FOUND )
Add the following between those lines (after the endif, before the if ...):
set ( OPT_LIBS ${OPT_LIBS} -lcrypto )
Yes, this is hacky, but it's 5am and I'm watching the sunrise and didn't feel like grokking the code to remove/replace the ssl dependencies.
Any cli or Gui app need a option for know the...options
actualy this grive not provide an option for know the availables options
this make REALLY difficult to know what options are availables an what no
I suggest add a
grive --help or grive -h or manpage to grive or all to know what options are available for use
I get this error:
grive: /home/tom/sources/grive/libgrive/src/drive/Resource.cc:207: void gr::Resource::FromLocal(const gr::DateTime&): Assertion `fs::exists( path )' failed.
it's not telling me where is the problem (neither with grive -V)
i discovered i had link to a deleted folder,
maybe there is some other ways to handle this exception.
stephan@tiny:~/cvs/grive$ cmake .
...
-- Found GDBM: /usr/lib/i386-linux-gnu/libgdbm.so
CMake Warning (dev) at libgrive/CMakeLists.txt:13 (find_package):
A logical block opening on the line
/home/stephan/cvs/grive/cmake/Modules/FindIberty.cmake:16 (IF)
closes on the line
/home/stephan/cvs/grive/cmake/Modules/FindIberty.cmake:18 (ENDIF)
with mis-matching arguments.
This warning is for project developers. Use -Wno-dev to suppress it.
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
IBERTY_LIBRARY
linked by target "grive" in directory /home/stephan/cvs/grive/libgrive
-- Configuring incomplete, errors occurred!
i've tried skipping that with -Wno-dev, but then cannot build:
stephan@tiny:~/cvs/grive$ make
-- Found JSON-C: /usr/lib/i386-linux-gnu/libjson.so
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
IBERTY_LIBRARY
linked by target "grive" in directory /home/stephan/cvs/grive/libgrive
-- Configuring incomplete, errors occurred!
make: *** [cmake_check_build_system] Error 1
i cannot find any seemingly relevant reference to "iberty" in the package dbs for Ubuntu. What is it and where do we get it?
When I do make install it copying libs to
/usr/lib/libgrive.so
/usr/lib/libgrive.so.0
/usr/lib/libgrive.so.0.0.5-pre
But it must use /usr/lib64 in x86_64 system
I'am try make rpm-package for grive. You can look at spec here https://github.com/RussianFedora/grive/blob/master/grive.spec
Hiho!
This time i think i was able to narrow down to why it happened:
sync:
...
Downloading "./Docs/Gaming/VEG/maps/macromap-002.jpg"
Downloading "./Docs/Gaming/VEG/maps/middle.town.jpg"
Uploading walker-000b.svg
exception: /home/stephan/cvs/grive/libgrive/src/http/Agent.cc(156): Throw in function long int gr::http::Agent::ExecCurl(const string&, gr::http::Receivable_, const Headers&)
Dynamic exception type: boost::exception_detail::clone_implgr::http::Error
std::exception::what: std::exception
[gr::expt::MsgTag_] = malformed
[gr::http::CurlCodeTag_] = 3
[gr::http::HttpResponseTag_] = 0
[gr::http::UrlTag*] = ?convert=false
i tried that twice with the same result, but i had a suspicion because of the specific file being synced...
So i find the file:
[stephan@host:~/GDrive]$ find . -name walker-000b.svg
./Docs/Gaming/VEG/svg/walkers/walker-000b.svg
and check GDrive. The dir doesn't yet exist, so i created it via the web interface, and then sync continues.
i've currently got 291 XML files in my top-level gdrive dir.
[stephan@host:~/GDrive]$ lh
total 65448
-rw-rw-r-- 1 stephan stephan 94 May 20 20:42 .grive
-rw-rw-r-- 1 stephan stephan 31889 May 20 20:42 second-184201.xml
drwxrwxr-x 3 stephan stephan 12288 May 20 20:42 .
-rw-rw-r-- 1 stephan stephan 372603 May 20 20:42 second-184200.xml
-rw-rw-r-- 1 stephan stephan 344682 May 20 20:42 second-184159.xml
-rw-rw-r-- 1 stephan stephan 345246 May 20 20:41 second-184158.xml
-rw-rw-r-- 1 stephan stephan 30425 May 20 20:41 dir-184156.xml
-rw-rw-r-- 1 stephan stephan 31889 May 20 20:26 second-182648.xml
-rw-rw-r-- 1 stephan stephan 372603 May 20 20:26 second-182647.xml
...
PS: i like that it now stores .grive in $PWD instead of ~/.
http://i.imgur.com/IA2zJ.png
2009_moztwpaper_hp.pdf is a shared document from someone
and grive will terminated.
but I can see grive crate directory from google docs
and there is a empty directory.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.