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

Run sage -ba instead of sage -b after upgrading Cython #4797

Closed
sagetrac-mabshoff mannequin opened this issue Dec 14, 2008 · 18 comments
Closed

Run sage -ba instead of sage -b after upgrading Cython #4797

sagetrac-mabshoff mannequin opened this issue Dec 14, 2008 · 18 comments

Comments

@sagetrac-mabshoff
Copy link
Mannequin

sagetrac-mabshoff mannequin commented Dec 14, 2008

We should really run sage -ba when we upgrade Cython and not just sage -b.

CC: @robertwb

Component: build

Keywords: upgrade cython

Reviewer: Jeroen Demeyer

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

@sagetrac-mabshoff sagetrac-mabshoff mannequin added this to the sage-3.4 milestone Dec 14, 2008
@sagetrac-mabshoff sagetrac-mabshoff mannequin self-assigned this Dec 14, 2008
@sagetrac-mabshoff

This comment has been minimized.

@sagetrac-mabshoff sagetrac-mabshoff mannequin modified the milestones: sage-3.4, sage-3.2.2, sage-3.2.3 Dec 15, 2008
@sagetrac-mabshoff
Copy link
Mannequin Author

sagetrac-mabshoff mannequin commented Dec 26, 2008

comment:3

I can live with this issue being fixed in 3.3 since we will not upgrade Cython in 3.2.2->3.2.3.

Cheers,

Michael

@sagetrac-mabshoff
Copy link
Mannequin Author

sagetrac-mabshoff mannequin commented Dec 26, 2008

comment:4

Ooops. Reassigned this time :)

Cheers,

Michael

@sagetrac-mabshoff sagetrac-mabshoff mannequin modified the milestones: sage-3.2.3, sage-3.4 Dec 26, 2008
@williamstein
Copy link
Contributor

comment:5

Does anybody have any idea how to implement this? Here is one idea. We make it so there is a command like "sage -ba" that doesn't actually rebuild the sage library, then we make the cython spkg-install call that command. It could be called "sage -ba_nobuild" or something. This is way better, I think, than "sage -ba" trying to detect if cython was upgraded.

The disadvantage is that it might make testing installing the cython SPKG inconvenient.

@robertwb
Copy link
Contributor

comment:6

Yes, this would make testing Cython spkgs a major pain. I think this probably best belongs in the upgrade script--it could touch all .pyx files after upgrading the Cython script.

@sagetrac-mabshoff
Copy link
Mannequin Author

sagetrac-mabshoff mannequin commented Dec 29, 2008

comment:7

Yes and no. When I test Cython releases I delete the build tree and then do a -ba anyway since that is the only reliable way to test. Obviously if someone is testing "just" the spkg this ought to be not enforced, so RobertWB's idea seems the way to go.

Cheers,

Michael

@robertwb
Copy link
Contributor

comment:8

Yep, when you test a Cython release (assuming I've done my job) it should just work. That's different when I'm hunting down a bug and want to keep re-compiling a certain file (e.g. that last memory leak).

@williamstein
Copy link
Contributor

comment:9

If we've released for months and months without fixing this, it doesn't make sense to keep it as a blocker.

@jdemeyer
Copy link

jdemeyer commented Nov 2, 2010

Changed keywords from none to upgrade cython

@jdemeyer

This comment has been minimized.

@jdemeyer jdemeyer changed the title upgrade -- if upgrading Cython run -ba instead of -b Run sage -ba instead of sage -b after upgrading Nov 2, 2010
@nexttime
Copy link
Mannequin

nexttime mannequin commented Nov 3, 2010

comment:11

This is just due to missing dependencies in module_list.py, so if everybody updating spkgs carefully checked them and added missing ones, this would be a non-issue. (And I consider it as such. Perhaps worth a work-around hint in the Developer's and / or Installation Guide.)

At least for upgrades to final versions, this should IMHO never be necessary.

@nexttime
Copy link
Mannequin

nexttime mannequin commented Nov 3, 2010

comment:12

P.S.: Explicitly touching some files in spkg-install that are contained in the extension modules' include_dirs can also avoid sage -ba, though of course a hack.

@jdemeyer

This comment has been minimized.

@jdemeyer
Copy link

jdemeyer commented Nov 4, 2010

comment:13

Replying to @nexttime:

This is just due to missing dependencies in module_list.py, so if everybody updating spkgs carefully checked them and added missing ones, this would be a non-issue. (And I consider it as such. Perhaps worth a work-around hint in the Developer's and / or Installation Guide.)

I created ticket #10124 to implement this.

@jdemeyer jdemeyer changed the title Run sage -ba instead of sage -b after upgrading Run sage -ba instead of sage -b after upgrading Cython Nov 4, 2010
@nexttime
Copy link
Mannequin

nexttime mannequin commented Nov 4, 2010

comment:14

Replying to @jdemeyer:

I created ticket #10124 to implement this.

#10214

@nexttime
Copy link
Mannequin

nexttime mannequin commented Nov 4, 2010

comment:15

Running sage -ba explicitly is not even necessary upon (true) Cython upgrades, though we could implement this in spkg/install.

We just have to make any Cython file / extension module depend on a single, distinct file of the Cython distribution (e.g. header) and preferably make sure this is only touched when really necessary.

Therefore it would make sense to use a Sage-specific file for such, which is created and managed by our spkg-install for Cython.

People upgrading the Cython package will best know if a complete rebuild will be necessary, depending on the Cython version found in the current installation subject to upgrade.

@jdemeyer
Copy link

jdemeyer commented Oct 5, 2012

Reviewer: Jeroen Demeyer

@jdemeyer
Copy link

jdemeyer commented Oct 5, 2012

comment:16

Closing this since I haven't seen this problem at all recently.

@jdemeyer jdemeyer closed this as completed Oct 5, 2012
@jdemeyer jdemeyer removed this from the sage-5.4 milestone Oct 5, 2012
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

3 participants