Subject: Re: [bug#34204] [PATCH 1/3] gnu: python-tornado: Update to 5.1.1.

From: Mathieu Lirzin <[email-masked]>
Date: Sat, 26 Jan 2019 15:29:40 +0100

Hello Ricardo,

Ricardo Wurmus <[email-masked]> writes:

> The arguments field says:
>
>     (arguments
>      '(;; FIXME: Two tests error out with:
>        ;; AssertionError: b'Error in atexit._run_exitfuncs:\nFileNotF[44 chars]ry\n' != b''
>        ;; #:phases
>        ;; (modify-phases %standard-phases
>        ;;   (replace 'check
>        ;;     (lambda _
>        ;;       ;; 'setup.py test' hits an AssertionError on BSD-specific
>        ;;       ;; "tornado/platform/kqueue.py". This is the supported method:
>        ;;       (invoke- "python" "-m" "tornado.test")
>        ;;       #t)))
>        #:tests? #f))
>
> Is this still the case or can we enable the tests?

It doesn't seem to work.  Here is the error I got:

--8<---------------cut here---------------start------------->8---
starting phase `check'
running "python setup.py" with command "test" and parameters ()
running test
running egg_info
writing tornado.egg-info/PKG-INFO
writing dependency_links to tornado.egg-info/dependency_links.txt
writing top-level names to tornado.egg-info/top_level.txt
reading manifest file 'tornado.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
no previously-included directories found matching 'docs/build'
warning: no files found matching 'tornado/test/README'
writing manifest file 'tornado.egg-info/SOURCES.txt'
running build_ext
building 'tornado.speedups' extension
gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -I/gnu/store/b7fqhszxl02g6pfm3vw6b3cjz472qrly-python-3.7.0/include/python3.7m -c tornado/speedups.c -o build/temp.linux-x86_64-3.7/tornado/speedups.o
gcc -pthread -shared -Wl,-rpath=/gnu/store/b7fqhszxl02g6pfm3vw6b3cjz472qrly-python-3.7.0/lib build/temp.linux-x86_64-3.7/tornado/speedups.o -L/gnu/store/b7fqhszxl02g6pfm3vw6b3cjz472qrly-python-3.7.0/lib -lpython3.7m -o /tmp/guix-build-python-tornado-5.1.1.drv-0/tornado-5.1.1/tornado/speedups.cpython-37m-x86_64-linux-gnu.so
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "setup.py", line 195, in <module>
    **kwargs
  File "/gnu/store/b7fqhszxl02g6pfm3vw6b3cjz472qrly-python-3.7.0/lib/python3.7/site-packages/setuptools/__init__.py", line 129, in setup
    return distutils.core.setup(**attrs)
  File "/gnu/store/b7fqhszxl02g6pfm3vw6b3cjz472qrly-python-3.7.0/lib/python3.7/distutils/core.py", line 148, in setup
    dist.run_commands()
  File "/gnu/store/b7fqhszxl02g6pfm3vw6b3cjz472qrly-python-3.7.0/lib/python3.7/distutils/dist.py", line 966, in run_commands
    self.run_command(cmd)
  File "/gnu/store/b7fqhszxl02g6pfm3vw6b3cjz472qrly-python-3.7.0/lib/python3.7/distutils/dist.py", line 985, in run_command
    cmd_obj.run()
  File "/gnu/store/b7fqhszxl02g6pfm3vw6b3cjz472qrly-python-3.7.0/lib/python3.7/site-packages/setuptools/command/test.py", line 226, in run
    self.run_tests()
  File "/gnu/store/b7fqhszxl02g6pfm3vw6b3cjz472qrly-python-3.7.0/lib/python3.7/site-packages/setuptools/command/test.py", line 248, in run_tests
    exit=False,
  File "/gnu/store/b7fqhszxl02g6pfm3vw6b3cjz472qrly-python-3.7.0/lib/python3.7/unittest/main.py", line 100, in __init__
    self.parseArgs(argv)
  File "/gnu/store/b7fqhszxl02g6pfm3vw6b3cjz472qrly-python-3.7.0/lib/python3.7/unittest/main.py", line 124, in parseArgs
    self._do_discovery(argv[2:])
  File "/gnu/store/b7fqhszxl02g6pfm3vw6b3cjz472qrly-python-3.7.0/lib/python3.7/unittest/main.py", line 244, in _do_discovery
    self.createTests(from_discovery=True, Loader=Loader)
  File "/gnu/store/b7fqhszxl02g6pfm3vw6b3cjz472qrly-python-3.7.0/lib/python3.7/unittest/main.py", line 154, in createTests
    self.test = loader.discover(self.start, self.pattern, self.top)
  File "/gnu/store/b7fqhszxl02g6pfm3vw6b3cjz472qrly-python-3.7.0/lib/python3.7/unittest/loader.py", line 347, in discover
    tests = list(self._find_tests(start_dir, pattern))
  File "/gnu/store/b7fqhszxl02g6pfm3vw6b3cjz472qrly-python-3.7.0/lib/python3.7/unittest/loader.py", line 404, in _find_tests
    full_path, pattern, namespace)
  File "/gnu/store/b7fqhszxl02g6pfm3vw6b3cjz472qrly-python-3.7.0/lib/python3.7/unittest/loader.py", line 481, in _find_test_path
    tests = self.loadTestsFromModule(package, pattern=pattern)
  File "/gnu/store/b7fqhszxl02g6pfm3vw6b3cjz472qrly-python-3.7.0/lib/python3.7/site-packages/setuptools/command/test.py", line 52, in loadTestsFromModule
    tests.append(self.loadTestsFromName(submodule))
  File "/gnu/store/b7fqhszxl02g6pfm3vw6b3cjz472qrly-python-3.7.0/lib/python3.7/unittest/loader.py", line 191, in loadTestsFromName
    return self.loadTestsFromModule(obj)
  File "/gnu/store/b7fqhszxl02g6pfm3vw6b3cjz472qrly-python-3.7.0/lib/python3.7/site-packages/setuptools/command/test.py", line 52, in loadTestsFromModule
    tests.append(self.loadTestsFromName(submodule))
  File "/gnu/store/b7fqhszxl02g6pfm3vw6b3cjz472qrly-python-3.7.0/lib/python3.7/unittest/loader.py", line 154, in loadTestsFromName
    module = __import__(module_name)
  File "/tmp/guix-build-python-tornado-5.1.1.drv-0/tornado-5.1.1/tornado/platform/kqueue.py", line 22, in <module>
    assert hasattr(select, 'kqueue'), 'kqueue not supported'
AssertionError: kqueue not supported
Backtrace:
           5 (primitive-load "/gnu/store/g5qipxm84gwwndfybxim7n906mr…")
In ice-9/eval.scm:
   191:35  4 (_ _)
In srfi/srfi-1.scm:
   863:16  3 (every1 #<procedure 735020 at /gnu/store/4r04fsfcryy5h…> …)
In /gnu/store/4r04fsfcryy5h4v2h3g6lzlibafmmdjm-module-import/guix/build/gnu-build-system.scm:
   799:28  2 (_ _)
In /gnu/store/4r04fsfcryy5h4v2h3g6lzlibafmmdjm-module-import/guix/build/python-build-system.scm:
    142:8  1 (check #:tests? _ #:test-target _ #:use-setuptools? _)
In /gnu/store/4r04fsfcryy5h4v2h3g6lzlibafmmdjm-module-import/guix/build/utils.scm:
    616:6  0 (invoke _ . _)

/gnu/store/4r04fsfcryy5h4v2h3g6lzlibafmmdjm-module-import/guix/build/utils.scm:616:6: In procedure invoke:
Throw to key `srfi-34' with args `(#<condition &invoke-error [program: "python" arguments: ("-c" "import setuptools, tokenize;__file__='setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\\r\\n', '\\n');f.close();exec(compile(code, __file__, 'exec'))" "test") exit-status: 1 term-signal: #f stop-signal: #f] 491d40>)'.
builder for `/gnu/store/1naw0y63i0dwmmyrngadsqf1g66vra6h-python-tornado-5.1.1.drv' failed with exit code 1
build of /gnu/store/1naw0y63i0dwmmyrngadsqf1g66vra6h-python-tornado-5.1.1.drv failed
View build log at '/var/log/guix/drvs/1n/aw0y63i0dwmmyrngadsqf1g66vra6h-python-tornado-5.1.1.drv.bz2'.
guix build: error: build of `/gnu/store/1naw0y63i0dwmmyrngadsqf1g66vra6h-python-tornado-5.1.1.drv' failed
--8<---------------cut here---------------end--------------->8---

> A number of important packages depend on python-tornado, such as
> python-matplotlib, jupyter, and python-scikit-image.  Since this is a
> major version bump I wonder if you have tried building some of these
> related packages to make sure they don’t fail.
>
> (We can of course respond to breakage once we discover it when building
> the new evaluations, but it would be nicer if we could have some
> reassurance.)

I was a bit lazy by not checking such kind of things beforehand.

The upgrade of ‘python-tornado’ didn't triggered a rebuild of
‘python-matplotlib’.  ‘python-python-terminado’, ‘python-scikit-image’,
and ‘jupyter’ succeeds building on my machine.

Thanks for the review.

-- 
Mathieu Lirzin
GPG: F2A3 8D7E EB2B 6640 5761  070D 0ADE E100 9460 4D37