Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 744892 - 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;)
Summary: net-misc/grive-0.5.1_pre20171005: fails to compile (SymbolInfo.cc:121:16: err...
Status: RESOLVED TEST-REQUEST
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Christoph Junghans (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-09-26 23:46 UTC by Christophe PEREZ
Modified: 2021-02-14 21:12 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
emerge log (net-misc:grive-0.5.1_pre20171005:20200926-234105.log,49.48 KB, text/x-log)
2020-09-26 23:46 UTC, Christophe PEREZ
Details
emerge --info (emerge.info,6.28 KB, application/x-info)
2020-09-26 23:47 UTC, Christophe PEREZ
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Christophe PEREZ 2020-09-26 23:46:50 UTC
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.
Comment 1 Christophe PEREZ 2020-09-26 23:47:22 UTC
Created attachment 662599 [details]
emerge --info
Comment 2 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2020-09-27 00:13:26 UTC
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".
Comment 3 Christophe PEREZ 2020-09-27 02:44:54 UTC
(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.
Comment 4 Christophe PEREZ 2020-09-27 04:07:47 UTC
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.
Comment 5 Christoph Junghans (RETIRED) gentoo-dev 2020-09-27 14:08:23 UTC
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.
Comment 6 Christophe PEREZ 2020-09-27 14:19:27 UTC
(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
Comment 7 Larry the Git Cow gentoo-dev 2020-09-27 14:22:42 UTC
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(+)
Comment 8 Christoph Junghans (RETIRED) gentoo-dev 2020-09-27 14:28:30 UTC
(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.
Comment 9 Christophe PEREZ 2020-09-27 14:44:17 UTC
(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
Comment 10 Christoph Junghans (RETIRED) gentoo-dev 2020-09-27 14:48:46 UTC
(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!
Comment 11 Christophe PEREZ 2020-09-27 14:50:36 UTC
(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.
Comment 12 Christophe PEREZ 2020-09-27 14:52:04 UTC
(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.
Comment 13 Christoph Junghans (RETIRED) gentoo-dev 2020-09-27 14:57:41 UTC
(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.
Comment 14 Christophe PEREZ 2020-09-27 15:02:37 UTC
(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
Comment 15 Andreas Sturmlechner gentoo-dev 2021-02-14 21:12:34 UTC
Could at least 0.5.1_pre20171005 be cleaned up now?