The problem is how actually determine whether shared lib is executable. `file
--mime-type` applied against these binaries says 'application/x-sharedlib',
g_file_query_info contains the same mime type. But in glib opinion this type is
not executable (g_content_type_can_be_executable for 'application/x-sharedlib'
will return FALSE). I'm attaching a simple program which demonstrates this
There should be another way to check whether file is executable instead of
relying on mime type.
--- Comment #2 from Andrey Vihrov <[hidden email]> ---
I am not sure if there is any reasonable way, except treating all files with
executable bit as executables. Checking a test executable and a regular shared
library with "readelf -h" shows that they both have type "DYN (Shared object
file)" and both have an entry point.
If Thunar uses g_content_type_can_be_executable(), then perhaps I should
forward this bug report to Glib developers?
--- Comment #3 from Viktor Odintsev <[hidden email]> ---
glib developers can't solve this since not all 'application/x-sharedlib' can be
actually executed. The problem is more fundamental: even `file` utility returns
this mime type. The difference only in that executable shared libs have INTERP
header (so `file` utility prints 'interpreter /lib64/ld-linux-x86-64.so.2').
So no matter where it will be changed: in glib or in thunar directly. Replying
on mime type now is bad idea (but thunar does it).