This is the mail archive of the cygwin mailing list for the Cygwin project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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

On 2012-4-20 21:07, VÃclav Zeman wrote:
On 20 April 2012 15:02, De-Jian Zhao wrote:

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.

If this is a windows thing, removing the x bit should not affect Cygwin. Instead, Cygwin is corrupted after removing the x bit.

Problem reports:
Unsubscribe info:

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]