[tahoe-lafs-trac-stream] [Tahoe-LAFS] #2468: updates to indirect dependencies cause build failures

Tahoe-LAFS trac at tahoe-lafs.org
Thu Jul 16 15:25:32 UTC 2015


#2468: updates to indirect dependencies cause build failures
---------------------------+----------------------------------
     Reporter:  daira      |      Owner:  daira
         Type:  defect     |     Status:  new
     Priority:  normal     |  Milestone:  undecided
    Component:  packaging  |    Version:  1.10.1
   Resolution:             |   Keywords:  packaging setuptools
Launchpad Bug:             |
---------------------------+----------------------------------
Description changed by daira:

Old description:

> Consider the case where Tahoe initially depends on foo >= X.0, and foo
> X.0 depends on bar Y.0. Then foo X.1 is released which depends on bar
> Y.1. (This is a common situation, especially when foo and bar have
> overlapping development teams.)
>
> Suppose that a particular machine has bar Y.0 installed globally. What is
> supposed to happen is that, in the case where a Tahoe build on that
> machine downloads foo X.1, it also downloads bar Y.1 and builds it under
> `support/`.
>
> However, that doesn't happen. Instead we get an error:
> {{{
> error: Installed distribution bar Y.0 conflicts with requirement bar>=Y.1
> }}}
>
> For a concrete example, see [https://tahoe-lafs.org/buildbot-tahoe-
> lafs/builders/memcheck-32/builds/96/steps/compile/logs/stdio]:
> {{{
> Need pyasn1-modules>=0.0.5
> Searching for pyasn1-modules>=0.0.5
> Reading http://pypi.python.org/simple/pyasn1-modules/
> Best match: pyasn1-modules 0.0.6
> Downloading
> https://pypi.python.org/packages/2.7/p/pyasn1-modules/pyasn1_modules-0.0.6-py2.7.egg#md5=c5d2ed9c850538f57effed3c7b74bbfb
> Processing pyasn1_modules-0.0.6-py2.7.egg
> creating /home/bb-tahoe/bb-tahoe/memcheck-32/build/support/lib/python2.7
> /site-packages/pyasn1_modules-0.0.6-py2.7.egg
> Extracting pyasn1_modules-0.0.6-py2.7.egg to /home/bb-tahoe/bb-
> tahoe/memcheck-32/build/support/lib/python2.7/site-packages
> Adding pyasn1-modules 0.0.6 to easy-install.pth file
>
> Installed /home/bb-tahoe/bb-tahoe/memcheck-32/build/support/lib/python2.7
> /site-packages/pyasn1_modules-0.0.6-py2.7.egg
>   found pyasn1-modules 0.0.6 (/home/bb-tahoe/bb-
> tahoe/memcheck-32/build/support/lib/python2.7/site-
> packages/pyasn1_modules-0.0.6-py2.7.egg)
>   adding subdependency pyasn1>=0.1.8
>
> Need pyasn1>=0.1.4
>   found pyasn1 0.1.7 (/usr/lib/python2.7/dist-packages)
>   no subdependencies to add
>
> [...]
> error: Installed distribution pyasn1 0.1.7 conflicts with requirement
> pyasn1>=0.1.8
> }}}
>
> setuptools delenda est.

New description:

 Consider the case where Tahoe initially depends on foo >= X.0, and foo X.0
 depends on bar Y.0. Then foo X.1 is released which depends on bar Y.1.
 (This is a common situation, especially when foo and bar have overlapping
 development teams.)

 Suppose that a particular machine has bar Y.0 installed globally. What is
 supposed to happen is that, in the case where a Tahoe build on that
 machine downloads foo X.1, it also downloads bar Y.1 and builds it under
 `support/`.

 However, that doesn't happen. Instead we get an error:
 {{{
 error: Installed distribution bar Y.0 conflicts with requirement bar>=Y.1
 }}}

 For a concrete example, see [https://tahoe-lafs.org/buildbot-tahoe-
 lafs/builders/memcheck-32/builds/96/steps/compile/logs/stdio]:
 {{{
 Need allmydata-tahoe==1.10.1.post5
   found allmydata-tahoe 1.10.1.post5 (/home/bb-tahoe/bb-
 tahoe/memcheck-32/build/src)
   adding subdependencies [...]; pyasn1-modules>=0.0.5; pyasn1>=0.1.4;
 [...]

 [...]
 Need pyasn1-modules>=0.0.5
 Searching for pyasn1-modules>=0.0.5
 Reading http://pypi.python.org/simple/pyasn1-modules/
 Best match: pyasn1-modules 0.0.6
 Downloading
 https://pypi.python.org/packages/2.7/p/pyasn1-modules/pyasn1_modules-0.0.6-py2.7.egg#md5=c5d2ed9c850538f57effed3c7b74bbfb
 Processing pyasn1_modules-0.0.6-py2.7.egg
 creating /home/bb-tahoe/bb-tahoe/memcheck-32/build/support/lib/python2.7
 /site-packages/pyasn1_modules-0.0.6-py2.7.egg
 Extracting pyasn1_modules-0.0.6-py2.7.egg to /home/bb-tahoe/bb-
 tahoe/memcheck-32/build/support/lib/python2.7/site-packages
 Adding pyasn1-modules 0.0.6 to easy-install.pth file

 Installed /home/bb-tahoe/bb-tahoe/memcheck-32/build/support/lib/python2.7
 /site-packages/pyasn1_modules-0.0.6-py2.7.egg
   found pyasn1-modules 0.0.6 (/home/bb-tahoe/bb-
 tahoe/memcheck-32/build/support/lib/python2.7/site-
 packages/pyasn1_modules-0.0.6-py2.7.egg)
   adding subdependency pyasn1>=0.1.8

 Need pyasn1>=0.1.4
   found pyasn1 0.1.7 (/usr/lib/python2.7/dist-packages)
   no subdependencies to add

 [...]
 error: Installed distribution pyasn1 0.1.7 conflicts with requirement
 pyasn1>=0.1.8
 }}}

 setuptools delenda est.

--

--
Ticket URL: <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/2468#comment:1>
Tahoe-LAFS <https://Tahoe-LAFS.org>
secure decentralized storage


More information about the tahoe-lafs-trac-stream mailing list