Unable to run odt2txt


(Mike Snowhill) #1

Hello all - I am new here but been using Parrot (absolutely excellent distro btw!) for a while now. I just encountered a problem - I installed odt2txt using apt get and I get the following message:

└──╼ $odt2txt
Reading profile /etc/firejail/odt2txt.profile
Reading profile /etc/firejail/disable-common.inc
Reading profile /etc/firejail/disable-devel.inc
Reading profile /etc/firejail/disable-passwdmgr.inc
Reading profile /etc/firejail/disable-programs.inc
Parent pid 21752, child pid 21753
Warning: skipping none for private /etc
Private /etc installed in 0.08 ms
Blacklist violations are logged to syslog
Child process initialized in 68.45 ms
Error: no suitable /usr/bin/odt2txt executable found

It guess this is Firejail - but I do not know a lot about it - any idea how I can get this harmless utility to run?


(Lorenzo "Palinuro" Faletra) #2

hi, firejail has created a sandboxed profile for the odt2txt command but the binary does not exist or is not accessible by the sandbox

if the binary does not exist, then you have to install it.

otherwise it might be a firejail profile bug and you have to run the command outside the sandbox

to run the program outside the sandbox, run the full path of the original program (i.e. run /usr/bin/odt2txt instead of odt2txt)

and if you would like to contribute to the project, you can report the incident by opening an issue here https://dev.parrotsec.org/parrot/firejail/issues
you can also link this discussion in the issue


(Mike Snowhill) #3

ok - curiouser, and curiouser …I just checked the files that the package installs:

└──╼ $dpkg -L odt2txt 
/.
/usr
/usr/bin
/usr/bin/odt2txt.odt2txt
/usr/lib
/usr/lib/mime
/usr/lib/mime/packages
/usr/lib/mime/packages/odt2txt
/usr/share
/usr/share/doc
/usr/share/doc/odt2txt
/usr/share/doc/odt2txt/README.Debian
/usr/share/doc/odt2txt/changelog.Debian.amd64.gz
/usr/share/doc/odt2txt/changelog.Debian.gz
/usr/share/doc/odt2txt/copyright
/usr/share/man
/usr/share/man/man1
/usr/share/man/man1/odt2txt.odt2txt.1.gz
/usr/bin/odp2txt
/usr/bin/ods2txt
/usr/bin/sxw2txt
/usr/share/man/man1/odp2txt.1.gz
/usr/share/man/man1/ods2txt.1.gz
/usr/share/man/man1/sxw2txt.1.gz

And something funny here:

└──╼ $l -laF  /usr/bin/textodt*
lrwxrwxrwx 1 root root    25 Feb 17 23:43 /usr/bin/odt2txt -> /etc/alternatives/odt2txt*
-rwxr-xr-x 1 root root 24048 May 31  2015 /usr/bin/odt2txt.odt2txt*

Result is - when runing odt2txt from command line it does not work - I guess it called the linked file in /etc/alternatives - but as you say - If I call it directly (with absolute path) it runs - so my solution is this (and I am not entirely sure what is going on here):

alias odt2txt='/usr/bin/odt2txt'

and it works…But I am none the wiser. One thing is that this Debian package seems to be extremely old - so maybe that has something to do with it… I could also try and compile it directly from github.com - but just aint got the time at the moment.

Thanks for your help - especially tip to run it outside of sandbox by using full path. I will try and open an issue too - for the team.

Great distro - I am really lovin’ it!