Why /usr/bin/*.dll must be executable?

Václav Zeman vhaisman@gmail.com
Fri Apr 20 13:08:00 GMT 2012

On 20 April 2012 15:02, De-Jian Zhao wrote:
> Hi,
> When I type "cyg" and Tab, many executables starting with "cyg" are listed
> (Display all 262 possibilities? (y or n) y). I find that many of them are
> *.dll libraries under /usr/bin/. This is inconvenient to find the real
> executable applications (*.exe). Since *.dll files are only libraries, they
> are not necessary to have the attribute of "x". Thus, I run the command
> "chmod a-x /usr/bin/*.dll". Unexpectedly, cygwin is corrupted. I closed the
> terminal and failed to restart Cygwin. I started my  older version of Cygwin
> (I did not deleted it after installing a new version), and added "x" to the
> previous *.dll files. The dead Cygwin revived.
> I am confused why /usr/bin/*.dll should be executable. I thought they were
> only library files. When I tried to run a dll file, bash says "cannot
> execute binary file". Are there some hidden stories?
DLLs are executables thus they need the +x bit. This is a Windows thing.



Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple

More information about the Cygwin mailing list