When compiling and installing libxfce4util-4.12.x, libraries are installed with permissions 0644 and not as executables. [root@localhost libxfce4util-4.12.1]# ./configure <snip> configure: creating ./config.status config.status: creating Makefile config.status: creating docs/version.xml config.status: creating docs/Makefile config.status: creating libxfce4util/libxfce4util-1.0.pc config.status: creating libxfce4util/libxfce4util-config.h config.status: creating libxfce4util/Makefile config.status: creating po/Makefile.in config.status: creating xfce4-kiosk-query/Makefile config.status: creating config.h config.status: executing depfiles commands config.status: executing libtool commands config.status: executing default-1 commands config.status: executing po/stamp-it commands Build Configuration: * Debug Support: minimum * GNU Visibility: yes [root@localhost libxfce4util-4.12.1]# make <snip> [root@localhost libxfce4util-4.12.1]# make install Making install in libxfce4util make[1]: Entering directory '/home/vmuser/Downloads/libxfce4util-4.12.1/libxfce4util' make install-am make[2]: Entering directory '/home/vmuser/Downloads/libxfce4util-4.12.1/libxfce4util' make[3]: Entering directory '/home/vmuser/Downloads/libxfce4util-4.12.1/libxfce4util' /bin/mkdir -p '/usr/local/lib' /bin/sh ../libtool --mode=install /bin/install -c libxfce4util.la '/usr/local/lib' libtool: install: /bin/install -c -m 644 .libs/libxfce4util.so.7.0.0 /usr/local/lib/libxfce4util.so.7.0.0 <snip> Permissions of the installed libraries - lrwxrwxrwx. 1 root root 21 Mar 1 13:16 libxfce4util.so -> libxfce4util.so.7.0.0 lrwxrwxrwx. 1 root root 21 Mar 1 13:16 libxfce4util.so.7 -> libxfce4util.so.7.0.0 -rw-r--r--. 1 root root 231816 Mar 1 13:16 libxfce4util.so.7.0.0 This should be 755.
Well, on my system the libs are mode 444, and i dont see an issue with that. Why should they be executable ?
Well, this may be something more for the rpm world than anywhere else. rpm wont properly detect soname provides unless the library is executable, so it's somewhat convention there. Some libraries you can actually exec: % /lib64/libc.so.6 GNU C Library (GNU libc) development release version 2.21.90, by Roland McGrath et al. Copyright (C) 2015 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Compiled by GNU CC version 5.0.0 20150226 (Red Hat 5.0.0-0.18). Available extensions: The C stubs add-on version 2.1.2. crypt add-on version 2.1 by Michael Glad and others GNU Libidn by Simon Josefsson Native POSIX Threads Library by Ulrich Drepper et al BIND-8.2.3-T5B RT using linux kernel aio libc ABIs: UNIQUE IFUNC For bug reporting instructions, please see: <http://www.gnu.org/software/libc/bugs.html>. Some ldd implementations complain when shared libraries aren't executable: % ldd libfoo.so ldd: warning: you do not have execution permission for `./libfoo.so' So, nothing hard and fast here, but it would be nice for the rpm world. Does it cause any problems on your machine to have it 755?
What i know is that on OpenBSD, basesystem libs have mode 444, and most of the libs from the ports-tree/packages too. Istr if the lib has the executable flag it might cause issues with PIE or things like that. But we're using an old toolchain..... Basesystem libs for NetBSD/FreeBSD are mode 444 too, and most of the third-party libs mode 755. From what i can see, debian installs most of its libs as mode 644. Turn the thing the other way... why would you want to have them executable, if they dont need to be ? What sick mind thought "oh itd be a neat idea to have libc executable" ? :) From the history lesson i've been told, only HP-UX really deeply cared if shared libs had the executable bit set.
Closing old bugs