-
-
Notifications
You must be signed in to change notification settings - Fork 15.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
python35Packages.tornado fails to build #14634
Comments
This works for me on master, but have run in to this very same problem. Very weird. |
cc @FRidh |
@FRidh I'm using My nixpkgs was at commit 4897276, I just I presume that maybe the tornado tests aren't properly isolated/reproducible and will fail on a Ubuntu system while running fine on Nixos? |
@berdario I see. Maybe of interest to you is This is an interesting problem. Do you have any packageOverrides in your |
Indeed, I have a few. This is my config.nix |
it happens more often that we encounter Windows-only "bugs" with Python packages on Nix. A couple of times I encountered Pandas bugs which are reported upstream as only to happen with Windows. It seems to happen when searching for unit tests. Since the setuptools upgrade the unittest test runner is quite aggressive with trying to find tests. I've seen before differences in its behavior between the Python versions. Could you try with
|
I'll try it when I'll get back at my computer... But where should I add the py. Test dependency? To my project shell.nix? Or to tornado's definition in my nixpkgs clone?Sent from mobile. Please excuse my brevity. |
Tornados expression in nixpkgs
|
Indeed, it seems that the error disappears, but there are even more failures in other parts of the test suite: https://gist.github.com/anonymous/7c7c58620b7b96aca8e4f7dfcd73c37f |
That's unfortunately often the case when changing test runner. What I don't like is that the behaviour is different with Nix than on
|
Do you mean this chroot? |
With nix-env you can use.
|
Uhm, the nix installer doesn't setup users and groups... I haven't been able to find the instructions to do it in the nixos manual. I adapted the instructions from the ones specified in the Guix manual and I executed
But I get the same error |
FWIW, I suspect that running a chrooted Both |
I have a very similar issue. I attempt a build via
A bit of googling reveals that |
@benthor do you have more you can show? Did it fail during building, or during testing? Tornado imports Apparently that succeeds, so it imports code from Tornado's kqueue module, where it checks again whether Note that it is possible that, based on what you showed, it went straight to the second part instead of the first part. If that's the case I'm pretty sure it failed for @benthor in the check phase. |
I apologize. Posting more of the relevant output:
Is this more informative? |
Thanks. So this is also in the |
Tests of Tornado have been disabled for now (5b78292). |
@garbas If I understand correctly what is happening, The problem is the test runner (#14849). It tries to import all modules to determine whether is has tests, including the one with Do we support Nix on |
ahh, darwin of course uses kqueue. |
we could override the checkPhase with |
getting the same error: running install tests |
what is your nixpkgs version? |
nix-channel (Nix) 1.11.2 nix-env (Nix) 1.11.2 nix-shell (Nix) 1.11.2 is that correct? nixos.python35Packages.tornado_4_0_1 python3.5-tornado-4.0.1 maybe I sjould try specifying 4.2.1? |
No, that is the version of the package manager. I need to know the version of the packages repository, that is, this repository. If you are on NixOS, you can run
Otherwise,
|
nixos-version nix-instantiate --eval '' -A lib.nixpkgsVersion |
This fix hasn't been backported to 16.03 stable. It is available on unstable and the upcoming 16.09. |
anything I can add to my default.nix to get it working today? I think just turning off the tests will work? we could override the checkPhase with python -m unittest discover "test.py" since tornado uses this pattern instead of the more usual "test.py" I'll google it, but if it is possuible to overide the check phase and that solves it then thanks, |
The test runner would import all modules to check whether they might have tests. On a Linux system it would load the Tornado module that depends on kqueue, which is BSD only, and fail. (cherry picked from commit 6876eab)
I've pushed the fix to |
(cherry picked from commit 5b78292)
The test runner would import all modules to check whether they might have tests. On a Linux system it would load the Tornado module that depends on kqueue, which is BSD only, and fail. (cherry picked from commit 6876eab)
Issue description
This is the traceback:
doing anything with
tornado/platform/windows.py
seems obviously wrong.Python3.4 seems to build fine.
This causes a build failure for reverse-depends packages like urllib3... urllib3's tests are disabled on Python3, and tornado is only a test dependency, which can thus be safely removed.
I also tried to upgrade to Tornado 4.3, but the error is still there.
I tried to simply remove the tornado dependency by overriding it with
But I get this weird error:
(I sorted it out by completely duplicating the urllib3 definition, if you have any suggestions, please chime in)
Steps to reproduce
Technical details
nixos-version
, Ubuntu/Fedora:lsb_release -a
, ...)Ubuntu 16.04
nix-env --version
)nix-env (Nix) 1.11.2
nix-instantiate --eval '<nixpkgs>' -A lib.nixpkgsVersion
)git trunk
The text was updated successfully, but these errors were encountered: