Setup 2.774 texlive postinstall takes 10+ hours)
Corinna Vinschen
corinna-cygwin@cygwin.com
Thu Nov 13 14:18:00 GMT 2014
On Nov 11 12:53, Corinna Vinschen wrote:
> On Nov 10 22:33, Yaakov Selkowitz wrote:
> > On 2014-11-10 22:23, Yaakov Selkowitz wrote:
> > >Dependency order of packages: libgcc1 base-cygwin cygwin dash tzcode
> > >libstdc++6 terminfo sed gzip libpcre1 grep libreadline7 bash
> > >libncursesw10
> > [snip]
> >
> > Now that I think about it, regardless of libgcc1, that still doesn't make
> > much sense. sed, grep, and bash depend on libintl8, which depends on
> > libiconv2, and libreadline7 (which is required by bash) itself depends on
> > libncursesw10, so that should be at least two places earlier. All of those
> > dependencies are listed in setup.hint (and hence setup.ini), so is there
> > something wrong with setup itself?
>
> What about dependency loops?
>
> AFAICS, coreutils depends on tzcode, tzcode depends on coreutils. Both
> depend on libgcc1. This introduces a big problem in dependency
> resolution because there's no unambiguous starting point.
>
> What if we remove the coretuls dep from tzcode.
>
> Or, actually, what if we make sure that Base packages only depend
> on libs, but never on any other Base package?
Ok, now after a collegue of mine informed me about the existence of
tsort (*blush*), I could finally produce some more info about loops
in our dependencies. I wrote a simple script:
awk '/^@ /{ left=$2; }
/^requires: /{ for (i=2; i<=NF; ++i) print left " " $i; }
' < setup.ini | tsort
It found the following dependency loops which have to be fixed.
Most notably are the dep loops of _autorebase and _update-info-dir,
which we'll fix ASAP.
GConf2 -> libgconf2_4 -> gconf-desktop-schemas -> GConf2
xf86-video-dummy -> xorg-server -> xf86-video-dummy
xf86-video-nested -> xorg-server -> xf86-video-nested
texlive -> texlive-collection-basic -> texlive
libautotrace3 -> libMagickCore5 -> libautotrace3
libgeoclue0 -> geoclue -> libgeoclue0
shared-mime-info -> libglib2.0_0 -> shared-mime-info
libatspi0 -> at-spi2-core -> libatspi0
libfam0 -> gamin -> libglib2.0_0 -> libfam0
gsettings-desktop-schemas -> libglib2.0_0 -> gsettings-desktop-schemas
libdbus1_3 -> dbus -> libdbus1_3
php-Archive_Tar -> php-PEAR -> php-Archive_Tar
autogen -> libopts-devel -> autogen
python-libxslt -> python-libxml2 -> python-libxslt
libopenldap2_4_2 -> libsasl2_3 -> libopenldap2_4_2
perl-Mozilla-CA -> perl-IO-Socket-SSL -> perl-Mozilla-CA
rubygems -> ruby-io-console -> ruby -> rubygems
ruby-rake -> rubygems -> ruby-rake
ruby-rdoc -> rubygems -> ruby-rdoc
ruby-rdoc -> rubygems -> ruby-io-console -> ruby -> ruby-rdoc
mingw64-i686-runtime -> mingw64-i686-gcc-core -> mingw64-i686-runtime
mingw64-x86_64-runtime -> mingw64-x86_64-gcc-core -> mingw64-x86_64-runtime
_autorebase -> rebase -> sed -> libintl8 -> libiconv2 -> libgcc1 -> _autorebase
_autorebase -> rebase -> coreutils -> libgmp10 -> _autorebase
tesseract-ocr-eng -> tesseract-ocr -> tesseract-ocr-eng
openmpi -> libopenmpi -> openmpi
_autorebase -> rebase -> grep -> libpcre1 -> _autorebase
_autorebase -> rebase -> grep -> bash -> libreadline7 -> libncursesw10 -> libstdc++6 -> _autorebase
_update-info-dir -> bash -> _update-info-dir
_update-info-dir -> bash -> coreutils -> _update-info-dir
_update-info-dir -> info -> _update-info-dir
Corinna
--
Corinna Vinschen Please, send mails regarding Cygwin to
Cygwin Maintainer cygwin AT cygwin DOT com
Red Hat
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://cygwin.com/pipermail/cygwin/attachments/20141113/703da6c5/attachment.sig>
More information about the Cygwin
mailing list