gpg-agent ha smesso di funzionare

4

Ho utilizzato con successo il pacchetto gnupg21 da MacPorts per diversi mesi. Nei giorni scorsi ho aggiornato la mia installazione di MacPorts ( sudo port -d selfupdate ) e mi sono assicurato di essere aggiornato ( sudo port upgrade outdated ). Da allora gpgv2 non funziona più:

tartarus:~ sbooth$ gpg2 -K
gpg: can't connect to the agent: IPC connect call failed

tartarus:~ sbooth$ gpg-connect-agent
gpg-connect-agent: no running gpg-agent - starting '/opt/local/bin/gpg-agent'
gpg-connect-agent: waiting for the agent to come up ... (5s)
gpg-connect-agent: waiting for the agent to come up ... (4s)
gpg-connect-agent: waiting for the agent to come up ... (3s)
gpg-connect-agent: waiting for the agent to come up ... (2s)
gpg-connect-agent: waiting for the agent to come up ... (1s)
gpg-connect-agent: can't connect to the agent: IPC connect call failed
gpg-connect-agent: error sending standard options: No agent running

tartarus:~ sbooth$ gpg-agent --help
Assertion failed: (res == 0), function enter_npth, file npth.c, line 123.
Abort trap: 6

Ho completamente disinstallato l'installazione di MacPorts ( rm -rf /opt/local ) e reinstallato tutto, senza alcun risultato. C'è qualcos'altro che posso provare?

Sono in esecuzione macOS Sierra 10.12.1 (16B2657).

    
posta sbooth 22.11.2016 - 06:52
fonte

1 risposta

4

Sto riscontrando esattamente lo stesso problema e, secondo un rapporto bug MacPorts , viene da libgpg-error e non visto con GnuPG versione 2.1.16.

Sembra quindi che dobbiamo aspettare che la porta gnupg21 si sposti dalla 2.1.15 alla 2.1.16 o modificare e ricostruire localmente la porta gnupg21 (e forse alcune delle sue dipendenze?) per l'aggiornamento prima dell'aggiornamento ufficiale. Non sono sicuro di voler fare quest'ultimo con qualcosa come GnuPG, anche se questa è solo una reazione istintiva.

Soluzione

Invece di aggiornare gnupg21 ho scoperto che downgrade libgpg-error fa scomparire il problema (l'ho provato a causa del commento nelle post di mailing list di GnuPG collegato dal bug report che è l'aggiornamento di libgpg-error da 1,24 a 1,25 che ha causato il problema) .

MacPorts fornisce indicazioni sul downgrade di una porta e su uno dei miei Mac mi è ancora successo di avere 1,24 disponibili ( Ho installato MacPorts senza privilegi di root quindi l'omissione di sudo qui):

$ port installed inactive | grep libgpg
  libgpg-error @1.24
$ port activate libgpg-error @1.24
--->  Computing dependencies for libgpg-error
--->  Deactivating libgpg-error @1.25_0
--->  Cleaning libgpg-error
--->  Activating libgpg-error @1.24_0
--->  Cleaning libgpg-error
$ port installed inactive | grep libgpg
  libgpg-error @1.25
$ gpg2 -K

No error, much joy :)

Non è così semplice se la vecchia versione è stata rimossa ma funziona anche per me (e dato il riferimento agli errori di collegamento potrebbe essere prudente disinstallare e reinstallare gnupg21 dopo aver eseguito il downgrade di libgpg-error se si utilizza il metodo sopra) :

$ svn checkout -r 150579
https://svn.macports.org/repository/macports/trunk/dports/devel/libgpg-error
Error validating server certificate for 'https://svn.macports.org:443':
 - The certificate is not issued by a trusted authority. Use the
   fingerprint to validate the certificate manually!
Certificate information:
 - Hostname: *.macports.org
 - Valid: from Mar  2 07:47:38 2016 GMT until May  2 01:19:52 2017 GMT
 - Issuer: GlobalSign Domain Validation CA - SHA256 - G2, GlobalSign nv-sa, BE
 - Fingerprint: 3E:AF:D7:EA:81:A4:92:33:B6:BC:DA:38:76:C3:15:54:9A:09:50:E0
(R)eject, accept (t)emporarily or accept (p)ermanently? t
A    libgpg-error/files
A    libgpg-error/files/patch-configure.diff
A    libgpg-error/Portfile
Checked out revision 150579.
$ cd libgpg-error/
$ port install
--->  Computing dependencies for libgpg-error
--->  Fetching distfiles for libgpg-error
--->  Verifying checksums for libgpg-error
--->  Extracting libgpg-error
--->  Applying patches to libgpg-error
--->  Configuring libgpg-error
--->  Building libgpg-error
--->  Staging libgpg-error into destroot
--->  Installing libgpg-error @1.24_0
--->  Deactivating libgpg-error @1.25_0
--->  Cleaning libgpg-error
--->  Activating libgpg-error @1.24_0
--->  Cleaning libgpg-error
--->  Updating database of binaries
--->  Scanning binaries for linking errors
--->  Found 16 broken file(s), matching files to ports
--->  Found 1 broken port(s), determining rebuild order
--->  Rebuilding in order
     gnupg21 @2.1.15 +pinentry_mac
Portfile changed since last build; discarding previous state.
--->  Computing dependencies for gnupg21
--->  Cleaning gnupg21
--->  Scanning binaries for linking errors
--->  Found 16 broken file(s), matching files to ports
--->  Found 1 broken port(s), determining rebuild order
--->  Rebuilding in order
     gnupg21 @2.1.15 +pinentry_mac
--->  Computing dependencies for gnupg21
--->  Fetching distfiles for gnupg21
--->  Verifying checksums for gnupg21
--->  Extracting gnupg21
--->  Configuring gnupg21
--->  Building gnupg21
--->  Staging gnupg21 into destroot
--->  Deactivating gnupg21 @2.1.15_0+pinentry_mac
--->  Cleaning gnupg21
--->  Uninstalling gnupg21 @2.1.15_0+pinentry_mac
--->  Cleaning gnupg21
--->  Computing dependencies for gnupg21
--->  Installing gnupg21 @2.1.15_0+pinentry_mac
--->  Activating gnupg21 @2.1.15_0+pinentry_mac

GPG 2.1 uses a new format for its key files. Therefore you cannot use it together with any earlier version of GPG. Neither can you
easily go back to an older version as the old version cannot read the new format.

--->  Cleaning gnupg21
--->  Updating database of binaries
--->  Scanning binaries for linking errors
--->  No broken files found.
    
risposta data 22.11.2016 - 10:56
fonte

Leggi altre domande sui tag