Skip to content
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

networkx fails to build with SAGE_CHECK="yes" #27253

Closed
Konrad127123 opened this issue Feb 10, 2019 · 21 comments
Closed

networkx fails to build with SAGE_CHECK="yes" #27253

Konrad127123 opened this issue Feb 10, 2019 · 21 comments

Comments

@Konrad127123
Copy link

After #26326, networkx fails to build with SAGE_CHECK="yes" unless the optional package nose is installed.

[networkx-2.2] Running the test suite for networkx-2.2...
[networkx-2.2] Testing networkx requires the package nose to be installed
[networkx-2.2]
[networkx-2.2] real     0m0.004s
[networkx-2.2] user     0m0.004s
[networkx-2.2] sys      0m0.001s
[networkx-2.2] ************************************************************************
[networkx-2.2] Error testing package networkx-2.2
[networkx-2.2] ************************************************************************

Component: packages: standard

Keywords: networkx, nose

Author: Konrad K. Dabrowski

Branch: e1ce380

Reviewer: Dima Pasechnik

Issue created by migration from https://trac.sagemath.org/ticket/27253

@Konrad127123
Copy link
Author

@Konrad127123
Copy link
Author

comment:2

Suggested fix: add nose as a runtime dependency of networkx. This means nose needs to be a standard package.


New commits:

e1ce380networkx needs a runtime dependency on nose, otherwise it fails to build with SAGE_CHECK="yes". This means nose has to be upgraded to a standard package.

@Konrad127123
Copy link
Author

Author: Konrad K. Dabrowski

@Konrad127123
Copy link
Author

Commit: e1ce380

@dimpase
Copy link
Member

dimpase commented Feb 10, 2019

comment:3

Can you dig up the info on nose's license. Cause it needs to be GPL-compatible to be standard.

@dimpase
Copy link
Member

dimpase commented Feb 11, 2019

comment:4

OK, it's fine. See https://github.com/nose-devs/nose/blob/master/lgpl.txt
Could you please update the nose's SPKG.txt file with this info?

@Konrad127123
Copy link
Author

comment:5

nose's SPKG.txt already contains

== License ==

GNU LGPL

@dimpase
Copy link
Member

dimpase commented Feb 11, 2019

Reviewer: Dima Pasechnik

@dimpase
Copy link
Member

dimpase commented Feb 11, 2019

comment:6

OK, sorry, I was obviously blind :-)

@vbraun
Copy link
Member

vbraun commented Feb 14, 2019

@vbraun
Copy link
Member

vbraun commented Feb 18, 2019

Changed commit from e1ce380 to none

@vbraun
Copy link
Member

vbraun commented Feb 18, 2019

comment:8

Guys, test harnesses are not automatically standard packages. Instead the spkg-check script should just abort if nose is not found.

@jhpalmieri
Copy link
Member

comment:9

So is nose going to be standard (bypassing the required discussion and vote) or is this change going to be reverted?

@dimpase
Copy link
Member

dimpase commented Feb 19, 2019

comment:10

I think this falls under a situation of a new requirement by a standard package.
We have been adding various Python deps like this quite easily...

@jhpalmieri
Copy link
Member

comment:11

I view Volker's comment as disagreeing with you. Could you respond to that, please?

@dimpase
Copy link
Member

dimpase commented Feb 19, 2019

comment:12

Building a standard package with SAGE_CHECK=yes must work. If anyone can offer a different solution to this, without making nose standard, fine...

But please do not offer removing checks just cause you do not want to promote nose...

@jhpalmieri
Copy link
Member

comment:13

Replying to @dimpase:

Building a standard package with SAGE_CHECK=yes must work. If anyone can offer a different solution to this, without making nose standard, fine...

Volker did that.

But please do not offer removing checks just cause you do not want to promote nose...

But you don't like his solution, so you're discarding it.

The use of nose was added at #26326, and that ticket description says quite clearly, "Note that self tests require nose which is optional only." So it's not like this situation is a surprise or was unintended when the self-tests were implemented. I would deduce that the intention was: if nose is present, use it, otherwise skip the self tests. Or maybe the intention was: most people don't run the self tests, and those that do can install nose. In any case, I don't agree that #26326 forces everyone to install nose.

@dimpase
Copy link
Member

dimpase commented Feb 19, 2019

comment:14

A Dieselgate-style "solution" is not a solution. This is already merged, and let us not start track ticket wars caused by a 300K addition to Sage tarballs.

@embray
Copy link
Contributor

embray commented Mar 20, 2019

comment:15

ISTM running the tests for networkx also requires scipy, so perhaps scipy should be a prerequisite dependency.

@dimpase
Copy link
Member

dimpase commented Mar 20, 2019

comment:16

Replying to @embray:

ISTM running the tests for networkx also requires scipy, so perhaps scipy should be a prerequisite dependency.

yes, this is a good catch. Should we do a quick gitlab fix?

@embray
Copy link
Contributor

embray commented Mar 20, 2019

comment:17

Followup in #27515

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants