[SOLVED] Encrypt/sign failed! (Inappropriate ioctl for device) Code = 32870
On a different topic, I briefly mentioned the above error, which pops up when selecting some text and going to Services > OpenPGP: Sign Selection (see attached image). I can still select one of my keys on the first pop-up, but then it fails with the error.
As far as I can understand, this somehow means that communication with the
gpg-agent is using the 'wrong'
tty (or file-based socket? I really have no idea).
There is a reference on how to fix this at GitHub — allegedly, it does even work in macOS, but the replies on that issue are related to shell usage. I have had
export GPG_TTY=$(tty) in my
.bash_profile for a long time, but I assume that this only applies to things directly called from the shell... I haven't quite understood how
gpg-agent is launched (aye, I've read all the instructions I could!) but it seems to me that there might be an issue at some point about what
tty is actually being used for it.
Innapropriate ioctl for device is the error
ENOTTY (code 32870 is basically the value of
GPG_ERR_ENOTTY in decimal, defined on
Some more references: https://stackoverflow.com/a/1605290/1035977 and of course 'Not a typewriter' on Wikipedia.
I'm assuming that this is not a 'problem' of GPGtools but rather a misconfiguration on my side (currently running macOS Big Sur v11.0.1 (20B29)) — since this has been working flawlessly for a while, although it's true that I had the issue before adding the
export GPG_TTY=$(tty) line to my
.bashrc. I can speculate that either a)
gpg-agent is not reading
.bashrc when being launched from whatever launches it (while it did previously at some point in time) or possibly b) GPG Services is using a file-based socket to communicate with
gpg-agent which, for some reason, is not correctly configured/accessed (but possibly this can be fixed easily, if you can point me to the right direction — there are a few file-based sockets inside
~/.gnupg, all of them
rwx for my user, the same one that
gpg-agent runs under).
FYI, this is the content of my configuration files:
~/.gnupg/gpg-agent.conf: default-cache-ttl 600 max-cache-ttl 7200 ~/.gnupg/gpg.conf: #keyserver-options no-emit-version default-key [my key here] auto-key-retrieve
Any suggestion is welcome!
Comments are currently closed for this discussion. You can start a new one.
|?||Show this help|
|ESC||Blurs the current field|
|r||Focus the comment reply box|
|^ + ↩||Submit the comment|
You can use
Command ⌘ instead of
Control ^ on Mac
Support Staff 1 Posted by Steve on 15 Nov, 2020 11:29 PM
Did you ever install a custom gpg version with fink/macports/brew/homebrew/from source? If so, could you remove it, repeat the steps and see if you are still running into the error message.
Support Staff 2 Posted by Steve on 24 Nov, 2020 12:28 PM
Closing, since no further user feedback was received. Should your problem persist, feel free to re-open this discussion any time.
All the best,
Steve closed this discussion on 24 Nov, 2020 12:28 PM.
Gwyneth Llewelyn re-opened this discussion on 08 Dec, 2020 01:25 AM
3 Posted by Gwyneth Llewely... on 08 Dec, 2020 01:25 AM
I'm really sorry — unfortunately, I missed the reply and subsequent closing of the thread.
You were right: I had installed GnuPG with
brew(a slightly more recent version than yours), and it overrode MacGPG2 when it was upgraded :-( As soon as I restored it (basically, removing some symlinks) everything started to work again.
Thanks for the tip!
Gwyneth Llewelyn closed this discussion on 08 Dec, 2020 01:25 AM.