[Python-modules-team] Bug#560631: mpmath: FTBFS: /usr/lib/pymodules/python2.5/py/impl/path/local.py:528: EnvironmentError
Lucas Nussbaum
lucas at lucas-nussbaum.net
Fri Dec 11 12:24:36 UTC 2009
Source: mpmath
Version: 0.13-1
Severity: serious
User: debian-qa at lists.debian.org
Usertags: qa-ftbfs-20091210 qa-ftbfs
Justification: FTBFS on amd64
Hi,
During a rebuild of all packages in sid, your package failed to build on
amd64.
Relevant part:
> /usr/bin/fakeroot debian/rules clean
> dh_testdir
> dh_testroot
> [ ! -d build ] || rm -rf build
> python setup.py clean;
> running clean
> rm -rf doc/build
> find . -name '*\.py[co]' -delete
> dh_clean build-stamp patch-stamp
> dpkg-source -b mpmath-0.13
> dpkg-source: info: using source format `1.0'
> dpkg-source: info: building mpmath using existing mpmath_0.13.orig.tar.gz
> dpkg-source: info: building mpmath in mpmath_0.13-1.diff.gz
> dpkg-source: info: building mpmath in mpmath_0.13-1.dsc
> debian/rules build
> dh_testdir
> python setup.py build;
> running build
> running build_py
> creating build
> creating build/lib
> creating build/lib/mpmath
> copying mpmath/__init__.py -> build/lib/mpmath
> copying mpmath/visualization.py -> build/lib/mpmath
> copying mpmath/usertools.py -> build/lib/mpmath
> copying mpmath/settings.py -> build/lib/mpmath
> copying mpmath/quadrature.py -> build/lib/mpmath
> copying mpmath/optimization.py -> build/lib/mpmath
> copying mpmath/odes.py -> build/lib/mpmath
> copying mpmath/mptypes.py -> build/lib/mpmath
> copying mpmath/matrices.py -> build/lib/mpmath
> copying mpmath/linalg.py -> build/lib/mpmath
> copying mpmath/libmpi.py -> build/lib/mpmath
> copying mpmath/libmpf.py -> build/lib/mpmath
> copying mpmath/libmpc.py -> build/lib/mpmath
> copying mpmath/libintmath.py -> build/lib/mpmath
> copying mpmath/libhyper.py -> build/lib/mpmath
> copying mpmath/libelefun.py -> build/lib/mpmath
> copying mpmath/identification.py -> build/lib/mpmath
> copying mpmath/gammazeta.py -> build/lib/mpmath
> copying mpmath/function_docs.py -> build/lib/mpmath
> copying mpmath/functions.py -> build/lib/mpmath
> copying mpmath/elliptic.py -> build/lib/mpmath
> copying mpmath/conftest.py -> build/lib/mpmath
> copying mpmath/calculus.py -> build/lib/mpmath
> creating build/lib/mpmath/tests
> copying mpmath/tests/__init__.py -> build/lib/mpmath/tests
> copying mpmath/tests/torture.py -> build/lib/mpmath/tests
> copying mpmath/tests/test_trig.py -> build/lib/mpmath/tests
> copying mpmath/tests/test_summation.py -> build/lib/mpmath/tests
> copying mpmath/tests/test_special.py -> build/lib/mpmath/tests
> copying mpmath/tests/test_rootfinding.py -> build/lib/mpmath/tests
> copying mpmath/tests/test_quad.py -> build/lib/mpmath/tests
> copying mpmath/tests/test_power.py -> build/lib/mpmath/tests
> copying mpmath/tests/test_pickle.py -> build/lib/mpmath/tests
> copying mpmath/tests/test_ode.py -> build/lib/mpmath/tests
> copying mpmath/tests/test_mpmath.py -> build/lib/mpmath/tests
> copying mpmath/tests/test_matrices.py -> build/lib/mpmath/tests
> copying mpmath/tests/test_linalg.py -> build/lib/mpmath/tests
> copying mpmath/tests/test_interval.py -> build/lib/mpmath/tests
> copying mpmath/tests/test_identify.py -> build/lib/mpmath/tests
> copying mpmath/tests/test_hp.py -> build/lib/mpmath/tests
> copying mpmath/tests/test_gammazeta.py -> build/lib/mpmath/tests
> copying mpmath/tests/test_functions2.py -> build/lib/mpmath/tests
> copying mpmath/tests/test_functions.py -> build/lib/mpmath/tests
> copying mpmath/tests/test_elliptic.py -> build/lib/mpmath/tests
> copying mpmath/tests/test_division.py -> build/lib/mpmath/tests
> copying mpmath/tests/test_diff.py -> build/lib/mpmath/tests
> copying mpmath/tests/test_convert.py -> build/lib/mpmath/tests
> copying mpmath/tests/test_compatibility.py -> build/lib/mpmath/tests
> copying mpmath/tests/test_calculus.py -> build/lib/mpmath/tests
> copying mpmath/tests/test_bitwise.py -> build/lib/mpmath/tests
> copying mpmath/tests/test_basic_ops.py -> build/lib/mpmath/tests
> copying mpmath/tests/runtests.py -> build/lib/mpmath/tests
> python mpmath/tests/runtests.py -strict -py -local
> ============================= test session starts =============================
> python: platform linux2 -- Python 2.5.4 -- pytest-1.1.1
> test object 1: /build/user-mpmath_0.13-1-amd64-gCvO3K/mpmath-0.13
>
> build/lib E
> mpmath/tests/test_basic_ops.py ............
> mpmath/tests/test_bitwise.py ..........
> mpmath/tests/test_calculus.py .......
> mpmath/tests/test_compatibility.py ...
> mpmath/tests/test_convert.py .............
> mpmath/tests/test_diff.py ..
> mpmath/tests/test_division.py .......
> mpmath/tests/test_elliptic.py ...........
> mpmath/tests/test_functions.py ...........................................
> mpmath/tests/test_functions2.py .....................................
> mpmath/tests/test_gammazeta.py ...........................
> mpmath/tests/test_hp.py ...
> mpmath/tests/test_identify.py ..
> mpmath/tests/test_interval.py .........
> mpmath/tests/test_linalg.py ..............
> mpmath/tests/test_matrices.py ........
> mpmath/tests/test_mpmath.py ........
> mpmath/tests/test_ode.py .....
> mpmath/tests/test_pickle.py .
> mpmath/tests/test_power.py ...
> mpmath/tests/test_quad.py .............
> mpmath/tests/test_rootfinding.py .......
> mpmath/tests/test_special.py .....
> mpmath/tests/test_summation.py .....
> mpmath/tests/test_trig.py ...
>
> =================================== ERRORS ====================================
> ERROR during collection /build/user-mpmath_0.13-1-amd64-gCvO3K/mpmath-0.13/build/lib
>
> collector = <Directory 'lib'>
>
> def pytest_make_collect_report(collector):
> result = excinfo = None
> try:
> > result = collector._memocollect()
>
> /usr/lib/pymodules/python2.5/py/plugin/pytest_runner.py:31:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
>
> self = <Directory 'lib'>
>
> def _memocollect(self):
> """ internal helper method to cache results of calling collect(). """
> > return self._memoizedcall('_collected', self.collect)
>
> /usr/lib/pymodules/python2.5/py/impl/test/collect.py:300:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
>
> self = <Directory 'lib'>, attrname = '_collected'
> function = <bound method Directory.collect of <Directory 'lib'>>
>
> def _memoizedcall(self, attrname, function):
> exattrname = "_ex_" + attrname
> failure = getattr(self, exattrname, None)
> if failure is not None:
> py.builtin._reraise(failure[0], failure[1], failure[2])
> if hasattr(self, attrname):
> return getattr(self, attrname)
> try:
> > res = function()
>
> /usr/lib/pymodules/python2.5/py/impl/test/collect.py:99:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
>
> self = <Directory 'lib'>
>
> def collect(self):
> l = self._deprecated_collect()
> if l is not None:
> return l
> l = []
> for path in self.fspath.listdir(sort=True):
> > res = self.consider(path)
>
> /usr/lib/pymodules/python2.5/py/impl/test/collect.py:388:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
>
> self = <Directory 'lib'>
> path = local('/build/user-mpmath_0.13-1-amd64-gCvO3K/mpmath-0.13/build/lib/mpmath')
>
> def consider(self, path):
> > if self._ignore(path):
>
> /usr/lib/pymodules/python2.5/py/impl/test/collect.py:406:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
>
> self = <Directory 'lib'>
> path = local('/build/user-mpmath_0.13-1-amd64-gCvO3K/mpmath-0.13/build/lib/mpmath')
>
> def _ignore(self, path):
> > ignore_paths = self.config.getconftest_pathlist("collect_ignore", path=path)
>
> /usr/lib/pymodules/python2.5/py/impl/test/collect.py:397:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
>
> self = <py.impl.test.config.Config object at 0x2b6fe12c5b50>
> name = 'collect_ignore'
> path = local('/build/user-mpmath_0.13-1-amd64-gCvO3K/mpmath-0.13/build/lib/mpmath')
>
> def getconftest_pathlist(self, name, path=None):
> """ return a matching value, which needs to be sequence
> of filenames that will be returned as a list of Path
> objects (they can be relative to the location
> where they were found).
> """
> try:
> > mod, relroots = self._conftest.rget_with_confmod(name, path)
>
> /usr/lib/pymodules/python2.5/py/impl/test/config.py:170:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
>
> self = <py.impl.test.conftesthandle.Conftest object at 0x2b6fe12c5bd0>
> name = 'collect_ignore'
> path = local('/build/user-mpmath_0.13-1-amd64-gCvO3K/mpmath-0.13/build/lib/mpmath')
>
> def rget_with_confmod(self, name, path=None):
> > modules = self.getconftestmodules(path)
>
> /usr/lib/pymodules/python2.5/py/impl/test/conftesthandle.py:60:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
>
> self = <py.impl.test.conftesthandle.Conftest object at 0x2b6fe12c5bd0>
> path = local('/build/user-mpmath_0.13-1-amd64-gCvO3K/mpmath-0.13/build/lib/mpmath')
>
> def getconftestmodules(self, path):
> """ return a list of imported conftest modules for the given path. """
> try:
> clist = self._path2confmods[path]
> except KeyError:
> if path is None:
> raise ValueError("missing default conftest.")
> dp = path.dirpath()
> if dp == path:
> return [self.importconftest(defaultconftestpath)]
> clist = self.getconftestmodules(dp)
> conftestpath = path.join("conftest.py")
> if conftestpath.check(file=1):
> > clist.append(self.importconftest(conftestpath))
>
> /usr/lib/pymodules/python2.5/py/impl/test/conftesthandle.py:49:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
>
> self = <py.impl.test.conftesthandle.Conftest object at 0x2b6fe12c5bd0>
> conftestpath = local('/build/user-mpmath_0.13-1-amd64-gCvO3K/mpmath-0.13/build/lib/mpmath/conftest.py')
>
> def importconftest(self, conftestpath):
> # Using caching here looks redundant since ultimately
> # sys.modules caches already
> assert conftestpath.check(), conftestpath
> if not conftestpath.dirpath('__init__.py').check(file=1):
> # HACK: we don't want any "globally" imported conftest.py,
> # prone to conflicts and subtle problems
> modname = str(conftestpath).replace('.', conftestpath.sep)
> mod = conftestpath.pyimport(modname=modname)
> else:
> > mod = conftestpath.pyimport()
>
> /usr/lib/pymodules/python2.5/py/impl/test/conftesthandle.py:79:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
>
> self = local('/build/user-mpmath_0.13-1-amd64-gCvO3K/mpmath-0.13/build/lib/mpmath/conftest.py')
> modname = 'mpmath.conftest', ensuresyspath = True
>
> def pyimport(self, modname=None, ensuresyspath=True):
> """ return path as an imported python module.
> if modname is None, look for the containing package
> and construct an according module name.
> The module will be put/looked up in sys.modules.
> """
> if not self.check():
> raise py.error.ENOENT(self)
> #print "trying to import", self
> pkgpath = None
> if modname is None:
> pkgpath = self.pypkgpath()
> if pkgpath is not None:
> if ensuresyspath:
> self._prependsyspath(pkgpath.dirpath())
> pkg = __import__(pkgpath.basename, None, None, [])
> names = self.new(ext='').relto(pkgpath.dirpath())
> names = names.split(self.sep)
> modname = ".".join(names)
> else:
> # no package scope, still make it possible
> if ensuresyspath:
> self._prependsyspath(self.dirpath())
> modname = self.purebasename
> mod = __import__(modname, None, None, ['__doc__'])
> modfile = mod.__file__
> if modfile[-4:] in ('.pyc', '.pyo'):
> modfile = modfile[:-1]
> elif modfile.endswith('$py.class'):
> modfile = modfile[:-9] + '.py'
> if not self.samefile(modfile):
> raise EnvironmentError("mismatch:\n"
> "imported module %r\n"
> "does not stem from %r\n"
> > "maybe __init__.py files are missing?" % (mod, str(self)))
> E EnvironmentError: mismatch:
> E imported module <module 'mpmath.conftest' from '/build/user-mpmath_0.13-1-amd64-gCvO3K/mpmath-0.13/mpmath/conftest.py'>
> E does not stem from '/build/user-mpmath_0.13-1-amd64-gCvO3K/mpmath-0.13/build/lib/mpmath/conftest.py'
> E maybe __init__.py files are missing?
>
> /usr/lib/pymodules/python2.5/py/impl/path/local.py:528: EnvironmentError
> ==================== 258 passed, 1 error in 43.41 seconds =====================
> make: *** [build-stamp] Error 1
The full build log is available from:
http://people.debian.org/~lucas/logs/2009/12/10/mpmath_0.13-1_lsid64.buildlog
A list of current common problems and possible solutions is available at
http://wiki.debian.org/qa.debian.org/FTBFS . You're welcome to contribute!
About the archive rebuild: The rebuild was done on about 50 AMD64 nodes
of the Grid'5000 platform, using a clean chroot. Internet was not
accessible from the build systems.
--
| Lucas Nussbaum
| lucas at lucas-nussbaum.net http://www.lucas-nussbaum.net/ |
| jabber: lucas at nussbaum.fr GPG: 1024D/023B3F4F |
More information about the Python-modules-team
mailing list