I have seen this: Remove unneeded dependencies from Cygwin ... but it appears that that script is only proposing to identify packages on which no other package depends: which makes it a very clever script, but perhaps not entirely all you need... and (it seems to me) it would then involve manual removal of packages, perhaps in several stages (because each removal might reveal further packages needing removal). Also I'd just like to know whether a more elegant solution exists within Cygwin by any chance.

I made the mistake of not first copying my Cygwin directory before installing make. I only installed it because of a small specific experiment I wanted to do.

make of course led to the entire C language being installed... increasing the size of my Cygwin setup by 1.5 GB!

Uninstalling make (surprise!) only uninstalled the cherry on top of the mountain of whipped cream below. I realise that uninstalling every dependency needed by make would no doubt break everything I need... but is there any chance that Cygwin keeps some "log" of what was installed, when and even possibly why... ? And then that there is some mechanism to undo a recent install action?


After David Posthill's helpful revelation that there is a log this unfortunately revealed additional dependency complexities: identifying precisely what had to be removed.

What one really needs is a utility to produce a DAG of installed dependencies, presumably combined with a chronology of what was installed when and why... and a utility to do all the examination and removal work!

It's slightly surprising to me because, correct me if I'm wrong, Linux package managers are indeed capable of this sort of thing: you install a high-level package... and when you uninstall it also removes all the dependencies which weren't there before and aren't needed by any subsequently installed packages... It seems like no such mechanism exists for Cygwin.

  • 1
    /var/log/setup.log and /var/log/setup.log.full (which is smaller than setup.log for some reason)
    – DavidPostill
    Jan 5, 2018 at 20:58
  • Thanks ... I had a look at that and it's a bit tricky: for example, I have to uninstall "clang"... but in the Cygwin install utility (View: Category) searching for "clang" brings up the "obviously recently" installed package "clang" ... but what about the several installed versions of "libclang"s? Hmm ... my installation is fairly new: think I may just reinstall and adopt a more "defensive" strategy (copying before installing new packages) in future. Jan 6, 2018 at 11:15


You must log in to answer this question.

Browse other questions tagged .