On 2024-08-04 12:28, Eric J Korpela via Cygwin wrote:
Was away for a couple days and just came back to this.  Reboots didn't seem
to get the DLL replaced, which
probably means something is weirdly broken with file permissions in windows
on my system.   That bodes ill for
the future, and probably means a Windows reinstall is in my future.

File permission issues on Cygwin directories and files can sometimes be clarified by running `setfacl -b|--remove-all` which removes all *extended* ACL entries, and reduces ACLs to match effective POSIX permissions, which can then be fixed by `chmod -c|-v perms files`.

I use `lsattr -adl ...` on directories, `ls -adl ...` on directories and files, `getfacl ...` on directories and files, and `icacls $(cygpath -am ...)` to look at permissions.
If `chmod -c|-v perms files` does not fix an issue, I carefully use
`setfacl -m acls files` to make ACLs look normal.

[I have found running `setfacl -k|--remove-default` which removes all default ACL entries DACLs on Cygwin or non-Cygwin directories means nothing can create anything under those directories as no DACLs are there to define default permissions.]

Eventually I booted to knoppix, deleted the offending file, booted to
windows and reinstalled the cygwin package.
That fixed the problem.

Good to hear.
You could just launch MS Windows File Explorer `cygstart .` or `cygstart /` and delete the offending file(s).

Thanks for your help.

Most such problems happen because something has been running and not yet terminated before running Cygwin Setup, or Windows Scheduled Tasks running Cygwin processes while running Cygwin Setup.

I start Task Manager, tab Details, sort by Image path name, check for anything running from Cygwin install paths, and kill them, then run Cygwin Setup.

After checking all Cygwin postinstall processes have completed, as above, I check thru /var/log/setup.log.full for any significant issues, and rerun Cygwin Setup if required.

My Cygwin login profile checks for not-yet-replaced binaries:

        /usr/{{,s}bin,lib}/*.{dll,exe}.new

and not-renamed non-permanent postinstall scripts:

        /etc/postinstall/[!0z][!pqrst][!_]*.*sh

and their existence tells me something did not complete successfully.

--
Take care. Thanks, Brian Inglis              Calgary, Alberta, Canada

La perfection est atteinte                   Perfection is achieved
non pas lorsqu'il n'y a plus rien à ajouter  not when there is no more to add
mais lorsqu'il n'y a plus rien à retirer     but when there is no more to cut
                                -- Antoine de Saint-Exupéry

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

Reply via email to