| Summary: | net-misc/grive-0.5.1_pre20171005: fails to compile (SymbolInfo.cc:121:16: error: 'bfd_get_section_vma' was not declared in this scope;) | ||
|---|---|---|---|
| Product: | Gentoo Linux | Reporter: | Christophe PEREZ <chris> |
| Component: | Current packages | Assignee: | Christoph Junghans (RETIRED) <junghans> |
| Status: | RESOLVED TEST-REQUEST | ||
| Severity: | normal | CC: | sam |
| Priority: | Normal | ||
| Version: | unspecified | ||
| Hardware: | All | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Package list: | Runtime testing required: | --- | |
| Attachments: |
emerge log
emerge --info |
||
Created attachment 662599 [details]
emerge --info
Please try the latest version of grive: 0.5.1-r1. I suspect autounmask made a versioned entry in package.accept_keywords, when really you want just "net-misc/grive". (In reply to Sam James from comment #2) > Please try the latest version of grive: 0.5.1-r1. I suspect autounmask made > a versioned entry in package.accept_keywords, when really you want just > "net-misc/grive". As I already told in my original message, I Can't use net-misc/grive-0.5.1-r1 because I can't authenticate with it : $ /usr/bin/grive Failed to refresh auth token: HTTP 401, body: exception: /var/tmp/portage/net-misc/grive-0.5.1-r1/work/grive-0.5.1/libgrive/src/protocol/OAuth2.cc(111): Throw in function void gr::OAuth2::Refresh() Dynamic exception type: boost::wrapexcept<gr::OAuth2::AuthFailed> [gr::expt::BacktraceTag*] = #0 0x55560d13c86b /usr/bin/grive gr::Exception::Exception() #1 0x55560d132e97 /usr/bin/grive gr::OAuth2::AuthFailed::AuthFailed() #2 0x55560d132cd8 /usr/bin/grive gr::OAuth2::Refresh() #3 0x55560d132e10 /usr/bin/grive gr::OAuth2::OAuth2(gr::http::Agent*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) #4 0x55560d0e3d80 /usr/bin/grive Main(int, char**) #5 0x55560d0e1f59 /usr/bin/grive main #6 0x7f48367a0d0b /lib64/libc.so.6 __libc_start_main #7 0x55560d0e2a4a /usr/bin/grive _start I already test all workarounds from https://github.com/vitalif/grive2/issues/287 But gentoo grive-0.5.1-r1 seems to not use --id --secret as parameters. So impossible to use this version. I need net-misc/grive-0.5.1_pre20171005 or I'll have to forget grive definitively and quickly find another solution to automatic sync with google drive. I suppose that if this version is always in portage tree, that says I'm not alone to use it. So that bug is not resolved. I downloaded 0.5.2, used same ebuild than grive-0.5.1-r1. I finaly could have it working following https://github.com/vitalif/grive2#different-oauth2-client-to-workaround-over-quota-and-google-approval-issues You have to delete .grive even if new auth is registered in it. grive-0.5.1-r1 has the --id --secret options, too. They just don't show up in the help. And grive-0.5.2 hasn't been tagged yet (see https://github.com/vitalif/grive2/releases), so not bumping the version, yet. But I will package the latest commit as grive-0.5.2_pre20200205. (In reply to Christoph Junghans from comment #5) > grive-0.5.1-r1 has the --id --secret options, too. They just don't show up > in the help. This is what made me think I needed a newer version. > And grive-0.5.2 hasn't been tagged yet (see > https://github.com/vitalif/grive2/releases), so not bumping the version, yet. I know. I just wanted to be specific and point out what it worked with. But with net-misc/grive-0.5.1-r1 I have the same error : 10:15:40 chris@coffee ~/gdrive $ equery l grive * Searching for grive ... [IP-] [ ] net-misc/grive-0.5.1-r1:0 10:16:24 chris@coffee ~/gdrive $ /usr/bin/grive --dry-run -p ~/gdrive/ Failed to refresh auth token: HTTP 401, body: exception: /var/tmp/portage/net-misc/grive-0.5.1-r1/work/grive-0.5.1/libgrive/src/protocol/OAuth2.cc(111): Throw in function void gr::OAuth2::Refresh() Dynamic exception type: boost::wrapexcept<gr::OAuth2::AuthFailed> [gr::expt::BacktraceTag*] = #0 0x56261cec086b /usr/bin/grive gr::Exception::Exception() #1 0x56261ceb6e97 /usr/bin/grive gr::OAuth2::AuthFailed::AuthFailed() #2 0x56261ceb6cd8 /usr/bin/grive gr::OAuth2::Refresh() #3 0x56261ceb6e10 /usr/bin/grive gr::OAuth2::OAuth2(gr::http::Agent*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) #4 0x56261ce67d80 /usr/bin/grive Main(int, char**) #5 0x56261ce65f59 /usr/bin/grive main #6 0x7f7a0f795d0b /lib64/libc.so.6 __libc_start_main #7 0x56261ce66a4a /usr/bin/grive _start May be because I don't apply 299.patch to 0.5.2 The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9130c8b50f2b515a096f42a7ff39f1a2764d5e38 commit 9130c8b50f2b515a096f42a7ff39f1a2764d5e38 Author: Christoph Junghans <junghans@gentoo.org> AuthorDate: 2020-09-27 14:19:56 +0000 Commit: Christoph Junghans <junghans@gentoo.org> CommitDate: 2020-09-27 14:20:17 +0000 net-misc/grive: version bump Bug: https://bugs.gentoo.org/744892 Package-Manager: Portage-3.0.4, Repoman-3.0.1 Signed-off-by: Christoph Junghans <junghans@gentoo.org> net-misc/grive/Manifest | 1 + net-misc/grive/grive-0.5.2_pre20200205.ebuild | 35 +++++++++++++++++++++++++++ 2 files changed, 36 insertions(+) (In reply to Christophe PEREZ from comment #6) > May be because I don't apply 299.patch to 0.5.2 PR 299 was already merge in the latest version. > But with net-misc/grive-0.5.1-r1 I have the same error : > > 10:15:40 chris@coffee ~/gdrive $ equery l grive > * Searching for grive ... > [IP-] [ ] net-misc/grive-0.5.1-r1:0 > 10:16:24 chris@coffee ~/gdrive $ /usr/bin/grive --dry-run -p ~/gdrive/ > Failed to refresh auth token: HTTP 401, body: I think the error message suggests to refresh your auth token. I just removed my .grive file in my main folder and did grive -a --id <client_id> --secret <client_secret> and it works for me. (In reply to Christoph Junghans from comment #8) > (In reply to Christophe PEREZ from comment #6) > > May be because I don't apply 299.patch to 0.5.2 > PR 299 was already merge in the latest version. > > > But with net-misc/grive-0.5.1-r1 I have the same error : > > > > 10:15:40 chris@coffee ~/gdrive $ equery l grive > > * Searching for grive ... > > [IP-] [ ] net-misc/grive-0.5.1-r1:0 > > 10:16:24 chris@coffee ~/gdrive $ /usr/bin/grive --dry-run -p ~/gdrive/ > > Failed to refresh auth token: HTTP 401, body: > I think the error message suggests to refresh your auth token. > > I just removed my .grive file in my main folder and did > grive -a --id <client_id> --secret <client_secret> > and it works for me. May be you're right, even if I don't understand why we have to redo all the procedure when the version changes. But, it works only the first time for me. $ grive -a --id MYID --secret MYSECRET ----------------------- Please go to this URL and get an authentication code: https://accounts.google.com/o/oauth2/auth?scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fdrive&redirect_uri=urn:ietf:wg:oauth:2.0:oob&response_type=code&client_id=MYID ----------------------- Please input the authentication code here: GOOGLECODE Reading local directories Reading remote server file list Synchronizing files Finished! $ grive Failed to refresh auth token: HTTP 401, body: exception: /var/tmp/portage/net-misc/grive-0.5.1-r1/work/grive-0.5.1/libgrive/src/protocol/OAuth2.cc(111): Throw in function void gr::OAuth2::Refresh() Dynamic exception type: boost::wrapexcept<gr::OAuth2::AuthFailed> [gr::expt::BacktraceTag*] = #0 0x55f1f2c4886b grive gr::Exception::Exception() #1 0x55f1f2c3ee97 grive gr::OAuth2::AuthFailed::AuthFailed() #2 0x55f1f2c3ecd8 grive gr::OAuth2::Refresh() #3 0x55f1f2c3ee10 grive gr::OAuth2::OAuth2(gr::http::Agent*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) #4 0x55f1f2befd80 grive Main(int, char**) #5 0x55f1f2bedf59 grive main #6 0x7f62455e1d0b /lib64/libc.so.6 __libc_start_main #7 0x55f1f2beea4a grive _start (In reply to Christophe PEREZ from comment #9) > May be you're right, even if I don't understand why we have to redo all the > procedure when the version changes. > But, it works only the first time for me. > $ grive > Failed to refresh auth token: HTTP 401, body: For me the second time works, too: $ grive Reading local directories Reading remote server file list Synchronizing files Finished! (In reply to Christophe PEREZ from comment #9) > But, it works only the first time for me. .grive with 0.5.1-r1 has not the same form/content as 0.5.2 0.5.1-r1 .grive : {"refresh_token":"1//MYTOKEN"} 0.5.2 .grive : {"id":"MYID","refresh_token":"1//MYTOKEN","secret":"MYSECRET"} So, ID and SECRET are not registered in .grive with 0.5.1-r1. You have to add them in the command line at each use. (In reply to Christoph Junghans from comment #10) > (In reply to Christophe PEREZ from comment #9) > > May be you're right, even if I don't understand why we have to redo all the > > procedure when the version changes. > > But, it works only the first time for me. > > $ grive > > Failed to refresh auth token: HTTP 401, body: > > For me the second time works, too: > $ grive > Reading local directories > Reading remote server file list > Synchronizing files > Finished! I don't understand why. I'll continue with 0.5.2 for the moment. (In reply to Christophe PEREZ from comment #12) > I'll continue with 0.5.2 for the moment. To be clear I am using grive-0.5.2_pre20200205. (In reply to Christophe PEREZ from comment #11) > (In reply to Christophe PEREZ from comment #9) > > But, it works only the first time for me. > > .grive with 0.5.1-r1 has not the same form/content as 0.5.2 > > 0.5.1-r1 .grive : > {"refresh_token":"1//MYTOKEN"} > > 0.5.2 .grive : > {"id":"MYID","refresh_token":"1//MYTOKEN","secret":"MYSECRET"} > > So, ID and SECRET are not registered in .grive with 0.5.1-r1. You have to > add them in the command line at each use. Yeah that is correct, I just realized for grive-0.5.1-r1 I had aliased grive to 'grive --id MYID --secret MYSECRET', but with grive-0.5.2_pre20200205 it will remember the id and secret from the .grive file as you pointed out. (In reply to Christoph Junghans from comment #13) > Yeah that is correct, I just realized for grive-0.5.1-r1 I had aliased grive > to 'grive --id MYID --secret MYSECRET', but with grive-0.5.2_pre20200205 it > will remember the id and secret from the .grive file as you pointed out. Ok I thought I was going crazy Could at least 0.5.1_pre20171005 be cleaned up now? |
Created attachment 662596 [details] emerge log After update, I needed to recompile grive, but. net-misc/grive-0.5.1_pre20171005 doesn't compile anymore /var/tmp/portage/net-misc/grive-0.5.1_pre20171005/work/grive-0.5.1_pre20171005/libgrive/src/bfd/SymbolInfo.cc:121:16: error: 'bfd_get_section_vma' was not declared in this scope; did you mean 'bfd_set_section_vma'? 121 | bfd_vma vma = bfd_get_section_vma(abfd, section); | ^~~~~~~~~~~~~~~~~~~ | bfd_set_section_vma /var/tmp/portage/net-misc/grive-0.5.1_pre20171005/work/grive-0.5.1_pre20171005/libgrive/src/bfd/SymbolInfo.cc:127:40: error: cannot convert 'bfd*' to 'const asection*' {aka 'const bfd_section*'} 127 | bfd_size_type size = bfd_section_size(abfd, section); | ^~~~ | | | bfd* And I can't use net-misc/grive-0.5.1-r1 because impossible to auth with it.