diddlesnaps / makemkv

Backup your Bluray and DVD discs
MIT License
43 stars 4 forks source link

cannot update nor remove #7

Closed kz6fittycent closed 4 years ago

kz6fittycent commented 4 years ago

During testing of the newest --edge version, I just ran into this issue:

sudo snap remove makemkv 
error: cannot perform the following tasks:
- Disconnect makemkv:unity7 from snapd:unity7 (cannot setup mount for snap "makemkv": cannot update mount namespace of snap "makemkv": cannot update preserved namespace of snap "makemkv": 
-----
utils.go:684: cannot change mount namespace of snap "makemkv" according to change unmount (/usr/lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu none rbind,x-snapd.synthetic,x-snapd.needed-by=/usr/lib/jvm,x-snapd.detach 0 0): invalid argument
utils.go:684: cannot change mount namespace of snap "makemkv" according to change unmount (/usr/lib/valgrind /usr/lib/valgrind none rbind,x-snapd.synthetic,x-snapd.needed-by=/usr/lib/jvm,x-snapd.detach 0 0): invalid argument
utils.go:684: cannot change mount namespace of snap "makemkv" according to change unmount (/usr/lib/tmpfiles.d /usr/lib/tmpfiles.d none rbind,x-snapd.synthetic,x-snapd.needed-by=/usr/lib/jvm,x-snapd.detach 0 0): invalid argument
utils.go:684: cannot change mount namespace of snap "makemkv" according to change unmount (/usr/lib/tc /usr/lib/tc none rbind,x-snapd.synthetic,x-snapd.needed-by=/usr/lib/jvm,x-snapd.detach 0 0): invalid argument
utils.go:684: cannot change mount namespace of snap "makemkv" according to change unmount (/usr/lib/tar /usr/lib/tar none rbind,x-snapd.synthetic,x-snapd.needed-by=/usr/lib/jvm,x-snapd.detach 0 0): invalid argument
utils.go:684: cannot change mount namespace of snap "makemkv" according to change unmount (/usr/lib/sysusers.d /usr/lib/sysusers.d none rbind,x-snapd.synthetic,x-snapd.needed-by=/usr/lib/jvm,x-snapd.detach 0 0): invalid argument
utils.go:684: cannot change mount namespace of snap "makemkv" according to change unmount (/usr/lib/systemd /usr/lib/systemd none rbind,x-snapd.synthetic,x-snapd.needed-by=/usr/lib/jvm,x-snapd.detach 0 0): invalid argument
utils.go:684: cannot change mount namespace of snap "makemkv" according to change unmount (/usr/lib/sysctl.d /usr/lib/sysctl.d none rbind,x-snapd.synthetic,x-snapd.needed-by=/usr/lib/jvm,x-snapd.detach 0 0): invalid argument
utils.go:684: cannot change mount namespace of snap "makemkv" according to change unmount (/usr/lib/sudo /usr/lib/sudo none rbind,x-snapd.synthetic,x-snapd.needed-by=/usr/lib/jvm,x-snapd.detach 0 0): invalid argument
utils.go:684: cannot change mount namespace of snap "makemkv" according to change unmount (/usr/lib/ssl /usr/lib/ssl none rbind,x-snapd.synthetic,x-snapd.needed-by=/usr/lib/jvm,x-snapd.detach 0 0): invalid argument
utils.go:684: cannot change mount namespace of snap "makemkv" according to change unmount (/usr/lib/snapd /usr/lib/snapd none rbind,x-snapd.synthetic,x-snapd.needed-by=/usr/lib/jvm,x-snapd.detach 0 0): invalid argument
utils.go:684: cannot change mount namespace of snap "makemkv" according to change unmount (/usr/lib/python3 /usr/lib/python3 none rbind,x-snapd.synthetic,x-snapd.needed-by=/usr/lib/jvm,x-snapd.detach 0 0): invalid argument
utils.go:684: cannot change mount namespace of snap "makemkv" according to change unmount (/usr/lib/python3.8 /usr/lib/python3.8 none rbind,x-snapd.synthetic,x-snapd.needed-by=/usr/lib/jvm,x-snapd.detach 0 0): invalid argument
utils.go:684: cannot change mount namespace of snap "makemkv" according to change unmount (/usr/lib/python3.7 /usr/lib/python3.7 none rbind,x-snapd.synthetic,x-snapd.needed-by=/usr/lib/jvm,x-snapd.detach 0 0): invalid argument
utils.go:684: cannot change mount namespace of snap "makemkv" according to change unmount (/usr/lib/python3.6 /usr/lib/python3.6 none rbind,x-snapd.synthetic,x-snapd.needed-by=/usr/lib/jvm,x-snapd.detach 0 0): invalid argument
utils.go:684: cannot change mount namespace of snap "makemkv" according to change unmount (/usr/lib/pm-utils /usr/lib/pm-utils none rbind,x-snapd.synthetic,x-snapd.needed-by=/usr/lib/jvm,x-snapd.detach 0 0): invalid argument
utils.go:684: cannot change mount namespace of snap "makemkv" according to change unmount (/usr/lib/os-release /usr/lib/os-release none bind,x-snapd.kind=file,x-snapd.synthetic,x-snapd.needed-by=/usr/lib/jvm 0 0): invalid argument
utils.go:684: cannot change mount namespace of snap "makemkv" according to change unmount (/usr/lib/openssh /usr/lib/openssh none rbind,x-snapd.synthetic,x-snapd.needed-by=/usr/lib/jvm,x-snapd.detach 0 0): invalid argument
utils.go:684: cannot change mount namespace of snap "makemkv" according to change unmount (/usr/lib/modules-load.d /usr/lib/modules-load.d none rbind,x-snapd.synthetic,x-snapd.needed-by=/usr/lib/jvm,x-snapd.detach 0 0): invalid argument
utils.go:684: cannot change mount namespace of snap "makemkv" according to change unmount (/usr/lib/mime /usr/lib/mime none rbind,x-snapd.synthetic,x-snapd.needed-by=/usr/lib/jvm,x-snapd.detach 0 0): invalid argument
utils.go:684: cannot change mount namespace of snap "makemkv" according to change unmount (/usr/lib/locale /usr/lib/locale none rbind,x-snapd.synthetic,x-snapd.needed-by=/usr/lib/jvm,x-snapd.detach 0 0): invalid argument
utils.go:684: cannot change mount namespace of snap "makemkv" according to change unmount (/usr/lib/libnss_extrausers.so.2 /usr/lib/libnss_extrausers.so.2 none bind,x-snapd.kind=file,x-snapd.synthetic,x-snapd.needed-by=/usr/lib/jvm 0 0): invalid argument
utils.go:684: cannot change mount namespace of snap "makemkv" according to change unmount (/usr/lib/kernel /usr/lib/kernel none rbind,x-snapd.synthetic,x-snapd.needed-by=/usr/lib/jvm,x-snapd.detach 0 0): invalid argument
cannot update snap namespace: no such file or directory
-----)
- Disconnect makemkv:unity7 from snapd:unity7 (cannot update mount namespace of snap "makemkv": cannot update preserved namespace of snap "makemkv": 
-----
utils.go:684: cannot change mount namespace of snap "makemkv" according to change unmount (/usr/lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu none rbind,x-snapd.synthetic,x-snapd.needed-by=/usr/lib/jvm,x-snapd.detach 0 0): invalid argument
utils.go:684: cannot change mount namespace of snap "makemkv" according to change unmount (/usr/lib/valgrind /usr/lib/valgrind none rbind,x-snapd.synthetic,x-snapd.needed-by=/usr/lib/jvm,x-snapd.detach 0 0): invalid argument
utils.go:684: cannot change mount namespace of snap "makemkv" according to change unmount (/usr/lib/tmpfiles.d /usr/lib/tmpfiles.d none rbind,x-snapd.synthetic,x-snapd.needed-by=/usr/lib/jvm,x-snapd.detach 0 0): invalid argument
utils.go:684: cannot change mount namespace of snap "makemkv" according to change unmount (/usr/lib/tc /usr/lib/tc none rbind,x-snapd.synthetic,x-snapd.needed-by=/usr/lib/jvm,x-snapd.detach 0 0): invalid argument
utils.go:684: cannot change mount namespace of snap "makemkv" according to change unmount (/usr/lib/tar /usr/lib/tar none rbind,x-snapd.synthetic,x-snapd.needed-by=/usr/lib/jvm,x-snapd.detach 0 0): invalid argument
utils.go:684: cannot change mount namespace of snap "makemkv" according to change unmount (/usr/lib/sysusers.d /usr/lib/sysusers.d none rbind,x-snapd.synthetic,x-snapd.needed-by=/usr/lib/jvm,x-snapd.detach 0 0): invalid argument
utils.go:684: cannot change mount namespace of snap "makemkv" according to change unmount (/usr/lib/systemd /usr/lib/systemd none rbind,x-snapd.synthetic,x-snapd.needed-by=/usr/lib/jvm,x-snapd.detach 0 0): invalid argument
utils.go:684: cannot change mount namespace of snap "makemkv" according to change unmount (/usr/lib/sysctl.d /usr/lib/sysctl.d none rbind,x-snapd.synthetic,x-snapd.needed-by=/usr/lib/jvm,x-snapd.detach 0 0): invalid argument
utils.go:684: cannot change mount namespace of snap "makemkv" according to change unmount (/usr/lib/sudo /usr/lib/sudo none rbind,x-snapd.synthetic,x-snapd.needed-by=/usr/lib/jvm,x-snapd.detach 0 0): invalid argument
utils.go:684: cannot change mount namespace of snap "makemkv" according to change unmount (/usr/lib/ssl /usr/lib/ssl none rbind,x-snapd.synthetic,x-snapd.needed-by=/usr/lib/jvm,x-snapd.detach 0 0): invalid argument
utils.go:684: cannot change mount namespace of snap "makemkv" according to change unmount (/usr/lib/snapd /usr/lib/snapd none rbind,x-snapd.synthetic,x-snapd.needed-by=/usr/lib/jvm,x-snapd.detach 0 0): invalid argument
utils.go:684: cannot change mount namespace of snap "makemkv" according to change unmount (/usr/lib/python3 /usr/lib/python3 none rbind,x-snapd.synthetic,x-snapd.needed-by=/usr/lib/jvm,x-snapd.detach 0 0): invalid argument
utils.go:684: cannot change mount namespace of snap "makemkv" according to change unmount (/usr/lib/python3.8 /usr/lib/python3.8 none rbind,x-snapd.synthetic,x-snapd.needed-by=/usr/lib/jvm,x-snapd.detach 0 0): invalid argument
utils.go:684: cannot change mount namespace of snap "makemkv" according to change unmount (/usr/lib/python3.7 /usr/lib/python3.7 none rbind,x-snapd.synthetic,x-snapd.needed-by=/usr/lib/jvm,x-snapd.detach 0 0): invalid argument
utils.go:684: cannot change mount namespace of snap "makemkv" according to change unmount (/usr/lib/python3.6 /usr/lib/python3.6 none rbind,x-snapd.synthetic,x-snapd.needed-by=/usr/lib/jvm,x-snapd.detach 0 0): invalid argument
utils.go:684: cannot change mount namespace of snap "makemkv" according to change unmount (/usr/lib/pm-utils /usr/lib/pm-utils none rbind,x-snapd.synthetic,x-snapd.needed-by=/usr/lib/jvm,x-snapd.detach 0 0): invalid argument
utils.go:684: cannot change mount namespace of snap "makemkv" according to change unmount (/usr/lib/os-release /usr/lib/os-release none bind,x-snapd.kind=file,x-snapd.synthetic,x-snapd.needed-by=/usr/lib/jvm 0 0): invalid argument
utils.go:684: cannot change mount namespace of snap "makemkv" according to change unmount (/usr/lib/openssh /usr/lib/openssh none rbind,x-snapd.synthetic,x-snapd.needed-by=/usr/lib/jvm,x-snapd.detach 0 0): invalid argument
utils.go:684: cannot change mount namespace of snap "makemkv" according to change unmount (/usr/lib/modules-load.d /usr/lib/modules-load.d none rbind,x-snapd.synthetic,x-snapd.needed-by=/usr/lib/jvm,x-snapd.detach 0 0): invalid argument
utils.go:684: cannot change mount namespace of snap "makemkv" according to change unmount (/usr/lib/mime /usr/lib/mime none rbind,x-snapd.synthetic,x-snapd.needed-by=/usr/lib/jvm,x-snapd.detach 0 0): invalid argument
utils.go:684: cannot change mount namespace of snap "makemkv" according to change unmount (/usr/lib/locale /usr/lib/locale none rbind,x-snapd.synthetic,x-snapd.needed-by=/usr/lib/jvm,x-snapd.detach 0 0): invalid argument
utils.go:684: cannot change mount namespace of snap "makemkv" according to change unmount (/usr/lib/libnss_extrausers.so.2 /usr/lib/libnss_extrausers.so.2 none bind,x-snapd.kind=file,x-snapd.synthetic,x-snapd.needed-by=/usr/lib/jvm 0 0): invalid argument
utils.go:684: cannot change mount namespace of snap "makemkv" according to change unmount (/usr/lib/kernel /usr/lib/kernel none rbind,x-snapd.synthetic,x-snapd.needed-by=/usr/lib/jvm,x-snapd.detach 0 0): invalid argument
cannot update snap namespace: no such file or directory
-----)

It' s a lot, I know, but I can't remove the snap. Solus does some funky stuff with snapd and we Solus users have to deal with it differently than other distro users. This is new.

Thought I'd let you know. You may know what to do...cause I don't!

Relates to: https://github.com/diddlesnaps/makemkv/issues/6

kz6fittycent commented 4 years ago

I'm still not having any luck reinstalling makemkv. I DID get it to uninstall (wouldn't run after above errors). It fails during:

- Run install hook of "makemkv" snap if present (run hook "install": 

INFO:

 snap --version
snap    2.39.3
snapd   2.39.3
series  16
solus   4.1
kernel  5.5.7-150.current
kz6fittycent commented 4 years ago

Kind of odd. No other snaps behave this way on Solus, but just installed makemkv on Pop! and it's all good.

kz6fittycent commented 4 years ago

Okay, I was able to get it fixed on my two Solus boxes.

Solus doesn't have the directories or files that the install scripts are trying to copy from (i.e. /etc/ld.so.conf.d/ & /etc/ld.so.conf) into the snap directory.

I created a dummy file (/etc/ld.so.conf.d/ld.so.conf) to get around this and copied the real file that Solus does have (i.e. /etc/ld.so.cache) into /etc/ld.so.conf.d/.

Maybe running a check against those files and folder, then creating them (I don't know if this is a good idea or not!), and finishing the install would be a workaround?

Otherwise, other Solus users are gonna experience this.

I'll write something up and send a PR if you'd prefer that. Just let me know.