Opened 6 years ago

Closed 6 years ago

Last modified 6 years ago

#21479 closed enhancement (fixed)

./configure --prefix=SAGE_LOCAL

Reported by: Matthias Köppe Owned by:
Priority: major Milestone: sage-8.0
Component: build Keywords:
Cc: Jeroen Demeyer, Erik Bray, François Bissey, Leif Leonhardy, Dima Pasechnik Merged in:
Authors: Matthias Koeppe, Jeroen Demeyer Reviewers: Jeroen Demeyer, Erik Bray, Matthias Koeppe
Report Upstream: N/A Work issues:
Branch: e5926b1 (Commits, GitHub, GitLab) Commit:
Dependencies: Stopgaps:

Status badges

Description (last modified by Jeroen Demeyer)

I propose to support choosing a location for the SAGE_LOCAL tree, using

./configure --prefix=SAGE_LOCAL

(the default would be, as before, the local subdirectory of SAGE_ROOT - see patch on the ticket).

I am fully aware that Sage's build system does not have a separation between 'make' and 'make install'; see #21495 for that.

Nevertheless, SAGE_LOCAL should be considered the same as the prefix in the sense of the autotools.

This ticket is a step towards #21566.

Release manager configure tarball: http://sage.ugent.be/www/jdemeyer/sage/configure-214.tar.gz

Change History (129)

comment:1 Changed 6 years ago by Matthias Köppe

Branch: u/mkoeppe/__configure___prefix_sage_local

comment:2 Changed 6 years ago by Matthias Köppe

Commit: fa16faeb0677d6dec1b9c07f7580b3fe5046bb88
Description: modified (diff)

New commits:

fa16faeUse AC_PREFIX_DEFAULT to default prefix to SAGE_ROOT/local

comment:3 Changed 6 years ago by Matthias Köppe

Authors: Matthias Koeppe

comment:4 Changed 6 years ago by Matthias Köppe

Description: modified (diff)

comment:5 Changed 6 years ago by Matthias Köppe

Description: modified (diff)

comment:6 Changed 6 years ago by Felix Salfelder

(i completely agree with this)

a main obstacle is: the build system writes to $prefix during the build...

i suggest to do the transition one-package-at-a-time, and after --disable-$package is in place.

with --disable-all, it will be easiest to avoid writing to $prefix.

comment:7 Changed 6 years ago by Matthias Köppe

On this *short term* ticket, we do allow "make" to write into $prefix; and "make install" will be a no-op.

More ambitious plans are to be discussed on the *long term* ticket #21495, not on this ticket. Thanks.

comment:8 Changed 6 years ago by Felix Salfelder

i agree that there are intermediate steps to take. but i don't yet fully understand this approach.

i think the behaviour of just "make" should not change, regardless of --prefix. it works perfectly well and *as intended* right now. clearly it should do something different under the hood, but that's not on this ticket.

we do allow "make" to write into $prefix

why would you need/want that? can you please give an example?

my feeling is, that entangling prefix and SAGE_LOCAL further complicates the transition considerably. there will be no way to tell whether "this part still uses SAGE_LOCAL" vs. "this has already been cleaned". newcomers tend to grep a variable from the code, see how it is used and use it the same way. for a looong time to come.

Last edited 6 years ago by Felix Salfelder (previous) (diff)

comment:9 Changed 6 years ago by Jeroen Demeyer

Authors: Matthias KoeppeMatthias Koeppe, Jeroen Demeyer
Milestone: sage-7.4sage-7.5

comment:10 Changed 6 years ago by Jeroen Demeyer

Authors: Matthias Koeppe, Jeroen DemeyerMatthias Koeppe
Dependencies: #21501
Description: modified (diff)

I made a new ticket (#21501) to allow $SAGE_LOCAL to be changed.

comment:11 Changed 6 years ago by Felix Salfelder

i wrote

entangling prefix and SAGE_LOCAL further complicates the transition considerably.

@mkoeppe i've thought about it. it seems, the alternatives are much worse (#21501) or much more ambitious.

please go ahead with prefix==SAGE_LOCAL.

please consider to add a remark in some documentation (better place: configure --help?) on this temporary sort of prefix, such as

"currently, make install is a no-op, that will change (hopefully). you should not expect a fully functional installation in $prefix before make install has finished."

comment:12 Changed 6 years ago by Matthias Köppe

Thanks Felix for the discussion.

If you want to help, could you work on rebasing #15105.

comment:13 Changed 6 years ago by git

Commit: fa16faeb0677d6dec1b9c07f7580b3fe5046bb88924b30bbe2cd1daf28f32ea73293b8f0107ab001

Branch pushed to git repo; I updated commit sha1. New commits:

64e697dAllow a custom $SAGE_LOCAL directory
dc81cf6Merge remote-tracking branch 'trac/u/jdemeyer/ticket/21501' into t/21479/__configure___prefix_sage_local
ac12edcMerge tag '7.4.beta5' into t/21479/__configure___prefix_sage_local
924b30bHandle --prefix

comment:14 Changed 6 years ago by git

Commit: 924b30bbe2cd1daf28f32ea73293b8f0107ab0016f8eaac5088a39b83859f89fa3ea5ff9e437ad74

Branch pushed to git repo; I updated commit sha1. New commits:

6f8eaacFixup

comment:15 Changed 6 years ago by Matthias Köppe

Cc: Jeroen Demeyer added
Status: newneeds_review

Here's a first version of what I have in mind.

Some concerns:

  • bootstrap. It's somewhat unclear what to do here. By the way, is it supposed to use the distribution's Python or ours?
  • sage-location.

comment:16 Changed 6 years ago by Jeroen Demeyer

I don't like the duplication in build/make/install and src/bin/sage-env.

Here is a suggestion: add a new file, say src/bin/sage-config (or whatever you want to call it) to deal with configurable things like SAGE_LOCAL. You can also define the other SAGE_* directories (except SAGE_ROOT) there.

Then you can source this file in both src/bin/sage-env and build/make/install, which can then be independent of configure.

And I don't see the point of changing $SAGE_ROOT/sage because that is additional duplication.

comment:17 in reply to:  15 Changed 6 years ago by Jeroen Demeyer

Replying to mkoeppe:

Some concerns:

  • bootstrap. It's somewhat unclear what to do here. By the way, is it supposed to use the distribution's Python or ours?
  • sage-location.

In both cases, I don't get what the problem is.

comment:18 Changed 6 years ago by git

Commit: 6f8eaac5088a39b83859f89fa3ea5ff9e437ad7466fc193a9e0e1bf9b0aa2a204ccc0bd13609bbde

Branch pushed to git repo; I updated commit sha1. New commits:

c9091f5Have sage-env, sage, install read in generated file sage-env-config
66fc193Fix for locating sage-env-config from sage-env

comment:19 in reply to:  16 Changed 6 years ago by Matthias Köppe

Replying to jdemeyer:

Here is a suggestion: add a new file, say src/bin/sage-config (or whatever you want to call it) to deal with configurable things like SAGE_LOCAL. You can also define the other SAGE_* directories (except SAGE_ROOT) there.

Thanks for the suggestion. The ticket is indeed simpler that way. Please take a look.

comment:20 Changed 6 years ago by Jeroen Demeyer

For easier testing, I plan to review this after #21501 and #21480 are in a beta release. You can remind me when that happens.

comment:21 Changed 6 years ago by git

Commit: 66fc193a9e0e1bf9b0aa2a204ccc0bd13609bbdee0dc9a374286e38c82516c313d598bd7df5806c3

Branch pushed to git repo; I updated commit sha1. New commits:

e0dc9a3Merge tag '7.4.beta6' into t/21479/__configure___prefix_sage_local

comment:22 Changed 6 years ago by git

Commit: e0dc9a374286e38c82516c313d598bd7df5806c382152547946c7776c2d5c28ef44d7da86c22eaf0

Branch pushed to git repo; I updated commit sha1. Last 10 new commits:

751bd0fReword TODO item
3a8cc0eFix typo in comment
0dd9c50Respect environment variable MAKE
17f90d8beautification
e5f9065More comments
7791cd9Remove --buildbase code
74169e7Pass SAGE_SRC to generate_py_source.mk
0394333Add new file to MANIFEST.in
fdedb02Install SAGE_LOCAL/bin/sage instead of SAGE_ROOT/sage as Jupyter kernel
8215254Merge branch 't/21480/keep_src__clean_by_using___build_base_when_building_sagelib' into t/21479/__configure___prefix_sage_local

comment:23 Changed 6 years ago by Matthias Köppe

Cc: Erik Bray François Bissey Leif Leonhardy added

Branch is now on top of 7.4.beta6 (which has #21501) + #21480.

Last edited 6 years ago by Matthias Köppe (previous) (diff)

comment:24 Changed 6 years ago by Matthias Köppe

Description: modified (diff)

comment:25 in reply to:  15 Changed 6 years ago by Erik Bray

Replying to mkoeppe:

Here's a first version of what I have in mind.

Some concerns:

  • bootstrap. It's somewhat unclear what to do here. By the way, is it supposed to use the distribution's Python or ours?

Just to answer this question: the bootstrap package is intended to use the system Python (after all, it's needed well before Sage's Python is ever built).

comment:26 Changed 6 years ago by git

Commit: 82152547946c7776c2d5c28ef44d7da86c22eaf006fe631ba0cd657c145f048280ea0c80fce7acd1

Branch pushed to git repo; I updated commit sha1. New commits:

06fe631Merge tag '7.4.rc1' into t/21479/__configure___prefix_sage_local

comment:27 Changed 6 years ago by Matthias Köppe

Branch is now on top of 7.4.rc1.

Jeroen - ready for review.

comment:28 Changed 6 years ago by git

Commit: 06fe631ba0cd657c145f048280ea0c80fce7acd11adc18ce0174f9399f53f817bfe1b06b1b250a9b

Branch pushed to git repo; I updated commit sha1. New commits:

1adc18cMerge tag '7.4' into t/21479/__configure___prefix_sage_local

comment:29 Changed 6 years ago by Matthias Köppe

Now on top of 7.4.

comment:30 Changed 6 years ago by git

Commit: 1adc18ce0174f9399f53f817bfe1b06b1b250a9bd82cfbc4bd54dfccda1fa3564bc8d39bd4fba216

Branch pushed to git repo; I updated commit sha1. New commits:

d82cfbcMerge tag '7.5.beta0' into t/21479/__configure___prefix_sage_local

comment:31 Changed 6 years ago by Matthias Köppe

Cc: Dima Pasechnik added

comment:32 Changed 6 years ago by Jeroen Demeyer

What does this comment mean:

## The first test does not actually work (see above).

("see above" can be really confusing because you don't know where to look.

Comments like these don't belong in the sources but in a Trac ticket:

	# TODO: Making directories in $prefix
	# should be done by 'make', not configure.
# TODO: Should the install hierarchy (local) really be deleted by make distclean?
#SAGE_ENV_DIR=`dirname $0`    ### Does not work. $0 is /bin/bash
## Note this is a bashism, not sure if this is allowed in this file.
Last edited 6 years ago by Jeroen Demeyer (previous) (diff)

comment:33 Changed 6 years ago by Jeroen Demeyer

Then a more serious remark: I doubt that you are using BASH_SOURCE correctly. From the bash man page:

       BASH_SOURCE
              An array variable whose members are the source filenames where the corresponding shell function names in the FUNCNAME array variable  are
              defined.  The shell function ${FUNCNAME[$i]} is defined in the file ${BASH_SOURCE[$i]} and called from ${BASH_SOURCE[$i+1]}.

At the very least, I need more explanation of why your code does the right thing.

comment:34 Changed 6 years ago by Jeroen Demeyer

Status: needs_reviewneeds_work

comment:35 in reply to:  32 ; Changed 6 years ago by Matthias Köppe

Replying to jdemeyer:

What does this comment mean:

## The first test does not actually work (see above).

("see above" can be really confusing because you don't know where to look.

It's referring to dirname $0 -- which does not give the location of sage-env but rather /bin/bash. This is because sage-env is sourced (.) rather than executed.

Note this is existing code in sage-env which simply never worked.

Comments like these don't belong in the sources but in a Trac ticket:

I know, these comments are for the reviewer. I'll be happy remove them *after* we had a discussion about them... So do you have a comment on these?

	# TODO: Making directories in $prefix
	# should be done by 'make', not configure.
# TODO: Should the install hierarchy (local) really be deleted by make distclean?
#SAGE_ENV_DIR=`dirname $0`    ### Does not work. $0 is /bin/bash
## Note this is a bashism, not sure if this is allowed in this file.

comment:36 in reply to:  33 Changed 6 years ago by Matthias Köppe

Replying to jdemeyer:

Then a more serious remark: I doubt that you are using BASH_SOURCE correctly. From the bash man page:

       BASH_SOURCE
              An array variable whose members are the source filenames where the corresponding shell function names in the FUNCNAME array variable  are
              defined.  The shell function ${FUNCNAME[$i]} is defined in the file ${BASH_SOURCE[$i]} and called from ${BASH_SOURCE[$i+1]}.

At the very least, I need more explanation of why your code does the right thing.

BASH_SOURCE[0] gives the source of the "currently running function". See https://www.gnu.org/software/bash/manual/html_node/Bash-Variables.html (you need to read the entries for FUNCNAME and BASH_SOURCE).

comment:37 in reply to:  35 Changed 6 years ago by Jeroen Demeyer

Replying to mkoeppe:

Replying to jdemeyer:

What does this comment mean:

## The first test does not actually work (see above).

("see above" can be really confusing because you don't know where to look.

It's referring to dirname $0 -- which does not give the location of sage-env but rather /bin/bash. This is because sage-env is sourced (.) rather than executed.

Don't tell me but tell the person reading sage-env (i.e. clarify the comment in the file).

I know, these comments are for the reviewer. I'll be happy remove them *after* we had a discussion about them... So do you have a comment on these?

Comments for the reviewer can go on Trac.

comment:38 Changed 6 years ago by git

Commit: d82cfbc4bd54dfccda1fa3564bc8d39bd4fba216c3477688c36c27cd240ca074d683f93fa1f6cb22

Branch pushed to git repo; I updated commit sha1. New commits:

c5998eaRemove TODO comment; reflected in #21775
bd8d2c7Remove TODO comment; reflected in #21524
ce48cf8src/bin/sage-env: Improve comments
c347768src/bin/sage-env: Remove broken "dirname $0" code

comment:39 Changed 6 years ago by Matthias Köppe

Status: needs_workneeds_review

OK, done; please take a look

comment:40 Changed 6 years ago by git

Commit: c3477688c36c27cd240ca074d683f93fa1f6cb224275121e18f8e7e46dd016bd0ccd96fcbc94ce54

Branch pushed to git repo; I updated commit sha1. New commits:

4275121Installation manual: Document configure --prefix

comment:41 Changed 6 years ago by git

Commit: 4275121e18f8e7e46dd016bd0ccd96fcbc94ce54ea994cc736493d3ab78dc5ed659cf49af2a00a5c

Branch pushed to git repo; I updated commit sha1. New commits:

ea994ccMerge tag '7.5.beta1' into t/21479/__configure___prefix_sage_local

comment:42 Changed 6 years ago by Matthias Köppe

ping?

comment:43 Changed 6 years ago by Jeroen Demeyer

Dependencies: #21501
Reviewers: Jeroen Demeyer
Status: needs_reviewneeds_work

Running ./configure without arguments:

[...]
config.status: creating build/make/Makefile-auto
config.status: creating src/Makefile
config.status: creating src/bin/sage-env-config
config.status: executing depfiles commands
config.status: executing mkdirs commands
config.status: creating directory /usr/local/src/sage-config/logs/pkgs
config.status: creating directory NONE
config.status: creating directory NONE/bin
config.status: creating directory NONE/etc
config.status: creating directory NONE/include
config.status: creating directory NONE/lib
config.status: creating directory NONE/share
config.status: creating directory NONE/var/lib/sage/installed
config.status: creating symbolic link lib64 -> lib

comment:44 Changed 6 years ago by Jeroen Demeyer

This is just because you write SAGE_LOCAL instead of "$SAGE_LOCAL".

When you fix this, I suggest to squash the commits to one commit and rebase to 7.5.beta1.

comment:45 Changed 6 years ago by Jeroen Demeyer

The file sage-env-config needs to be ignored by .gitignore and deleted when running make distclean.

comment:46 Changed 6 years ago by Jeroen Demeyer

This line in sage needs quoting:

. $SAGE_ROOT/src/bin/sage-env-config

And since you're running bash anyway, you might as well use source instead of . which is more visible.

comment:47 Changed 6 years ago by Jeroen Demeyer

And do you really need this:

if [ $? -ne 0 ]; then
    echo >&2 "Error: $SAGE_ROOT/src/bin/sage-env-config could not be read"
fi

The shell will already write an error message, no need for an additional message.

comment:48 Changed 6 years ago by Jeroen Demeyer

I also think that determining $SAGE_LOCAL should be done after

# If this is a freshly-unpacked binary tarball then run the installer
# Note: relocate-once.py deletes itself upon successful completion
if [ -x "$SAGE_ROOT/relocate-once.py" ]; then
    "$SAGE_ROOT/relocate-once.py"
fi

comment:49 Changed 6 years ago by Jeroen Demeyer

Can you explain under which circumstances it is needed to read sage-env-config from sage-env? It seems to me that sage-env-config would already be read, either by the top-level sage script or by build/make/install.

comment:50 Changed 6 years ago by Jeroen Demeyer

It is good style to start all error messages with Error: and write them to stderr. build/make/install doesn't do that.

comment:51 Changed 6 years ago by git

Commit: ea994cc736493d3ab78dc5ed659cf49af2a00a5c4f832c2b1d814a3fd2dc8f2ccd2ab77bfde74451

Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:

4f832c2Add configure option --prefix=SAGE_LOCAL

comment:52 Changed 6 years ago by Matthias Köppe

Squashed and rebased on 7.5.beta1

comment:53 Changed 6 years ago by git

Commit: 4f832c2b1d814a3fd2dc8f2ccd2ab77bfde744515fcda8326cf504dfd1b32300bcc3493e3f398e86

Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:

6308c3bAdd configure option --prefix=SAGE_LOCAL
ff48d5aFixup configure without --prefix
67baa7aSource sage-env-config after calling relocate-once.py
5fcda83top-level sage script: Remove redundant sage-env-config error message

comment:54 Changed 6 years ago by git

Commit: 5fcda8326cf504dfd1b32300bcc3493e3f398e86e52554739a9a321de2180d5bf39b45f205fd6efc

Branch pushed to git repo; I updated commit sha1. New commits:

1d0aa34src/bin/sage-env-config: Prefix error message with 'Error:'
a0f90afmake misc-clenan: Delete src/bin/sage-env-config
e525547Add sage-env-config to .gitignore

comment:55 Changed 6 years ago by git

Commit: e52554739a9a321de2180d5bf39b45f205fd6efc600639a680efa970e2fc4c0047d51504b5053e77

Branch pushed to git repo; I updated commit sha1. New commits:

600639asage-env: Quoting fix

comment:56 in reply to:  49 ; Changed 6 years ago by Matthias Köppe

Replying to jdemeyer:

Can you explain under which circumstances it is needed to read sage-env-config from sage-env? It seems to me that sage-env-config would already be read, either by the top-level sage script or by build/make/install.

$SAGE_LOCAL/bin/sage becomes directly executable; one does not have to go through that top-level script.

comment:57 in reply to:  46 Changed 6 years ago by Matthias Köppe

Replying to jdemeyer:

since you're running bash anyway, you might as well use source instead of . which is more visible.

I'm not sure, I like . more than source.

comment:58 Changed 6 years ago by Matthias Köppe

Status: needs_workneeds_review

comment:59 in reply to:  56 ; Changed 6 years ago by Jeroen Demeyer

Replying to mkoeppe:

$SAGE_LOCAL/bin/sage becomes directly executable; one does not have to go through that top-level script.

Then let me turn the question around: why do you need to change $SAGE_ROOT/sage?

comment:60 Changed 6 years ago by Jeroen Demeyer

I'm still not entirely convinced that BASH_SOURCE[0] really does what we want. Why not use $SAGE_ROOT/src/bin/sage-env-config?

Or maybe we should just source both sage-env-config and sage-env from src/bin/sage?

comment:61 Changed 6 years ago by Jeroen Demeyer

Status: needs_reviewneeds_work

comment:62 in reply to:  60 ; Changed 6 years ago by Matthias Köppe

Replying to jdemeyer:

Why not use $SAGE_ROOT/src/bin/sage-env-config?

Things installed in SAGE_LOCAL definitely should not depend on the source directory.

Or maybe we should just source both sage-env-config and sage-env from src/bin/sage?

That would be possible. There might be a few more places though that need to source the extra file.

comment:63 in reply to:  59 ; Changed 6 years ago by Matthias Köppe

Replying to jdemeyer:

Replying to mkoeppe:

$SAGE_LOCAL/bin/sage becomes directly executable; one does not have to go through that top-level script.

Then let me turn the question around: why do you need to change $SAGE_ROOT/sage?

$SAGE_ROOT/sage sources $SAGE_ROOT/src/bin/sage-env-config so that it works when nothing has been installed so far.

comment:64 in reply to:  63 ; Changed 6 years ago by Jeroen Demeyer

Replying to mkoeppe:

$SAGE_ROOT/sage sources $SAGE_ROOT/src/bin/sage-env-config so that it works when nothing has been installed so far.

Sorry, I don't follow. What is the "it" in the sentence above? In other words, what would not work?

comment:65 Changed 6 years ago by git

Commit: 600639a680efa970e2fc4c0047d51504b5053e77a3467bf751cbfbdff0d85c2dfa895f78d32310b4

Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:

f6c4513Add configure option --prefix=SAGE_LOCAL
7d44f0bFixup configure without --prefix
387ab94Source sage-env-config after calling relocate-once.py
fc66139top-level sage script: Remove redundant sage-env-config error message
fe19d3fsrc/bin/sage-env-config: Prefix error message with 'Error:'
269ad80make misc-clean: Delete src/bin/sage-env-config
727123aAdd sage-env-config to .gitignore
be4c390sage-env: Quoting fix
a3467bftop-level sage script: No need to source sage-env-config

comment:66 in reply to:  64 Changed 6 years ago by Matthias Köppe

Replying to jdemeyer:

Replying to mkoeppe:

$SAGE_ROOT/sage sources $SAGE_ROOT/src/bin/sage-env-config so that it works when nothing has been installed so far.

Sorry, I don't follow. What is the "it" in the sentence above? In other words, what would not work?

I retract my comment.

I have removed this code from $SAGE_ROOT/sage. (Also rebased on latest beta.)

comment:67 in reply to:  62 Changed 6 years ago by Matthias Köppe

Replying to mkoeppe:

Or maybe we should just source both sage-env-config and sage-env from src/bin/sage?

That would be possible. There might be a few more places though that need to source the extra file.

I think I wouldn't like to change this on this ticket. There are indeed a few places that source sage-env: build/bin/sage-spkg, build/make/deps, src/bin/sage-update-src. Probably not so nice if we have to change all of them.

comment:68 in reply to:  56 Changed 6 years ago by Matthias Köppe

Replying to mkoeppe:

$SAGE_LOCAL/bin/sage becomes directly executable; one does not have to go through that top-level script.

I realized that this is not entirely true. sage-env contains some code for discovering SAGE_ROOT when it is not set, but that code fails if $SAGE_LOCAL is not a direct subdirectory of $SAGE_ROOT. I suppose I could add the definition of SAGE_ROOT to sage-env-config. But that could go on a follow-up ticket as well.

comment:69 Changed 6 years ago by Matthias Köppe

Status: needs_workneeds_review

comment:70 Changed 6 years ago by Matthias Köppe

*ping*

comment:71 Changed 6 years ago by Erik Bray

Reviewers: Jeroen DemeyerJeroen Demeyer, Erik Bray
Status: needs_reviewpositive_review

Looks good to me at least, but I don't have a complete view of the implications. I also still think #21495 has merit, but that shouldn't hold this up, as it's a step in the right direction I think regardless of what anyone thinks about #21495 or if anything is done about it.

comment:72 Changed 6 years ago by Matthias Köppe

Milestone: sage-7.5sage-7.6

comment:73 Changed 6 years ago by Volker Braun

Doesn't work if you dont have autotools

19make -j2 build/make/Makefile
20make[1]: Entering directory `/home/buildbot/slave/sage_git/build'
21make[1]: warning: -jN forced in submake: disabling jobserver mode.
22./bootstrap -d
23make[2]: Entering directory `/home/buildbot/slave/sage_git/build'
24rm -rf config configure build/make/Makefile-auto.in
25make[2]: Leaving directory `/home/buildbot/slave/sage_git/build'
26src/bin/sage-env: line 206: /home/buildbot/slave/sage_git/build/src/bin/sage-env-config: No such file or directory
27sage-env: Error: /home/buildbot/slave/sage_git/build/src/bin/sage-env-config could not be read.
28./bootstrap: line 31: aclocal: command not found
29Bootstrap failed, downloading required files instead.
30./bootstrap: line 61: sage-download-file: command not found
31Error: downloading configure-200.tar.gz failed
32make[1]: *** [configure] Error 1
33make[1]: Target `build/make/Makefile' not remade because of errors.
34make[1]: Leaving directory `/home/buildbot/slave/sage_git/build'
35make: *** [start] Error 2
36program finished with exit code 2

comment:74 Changed 6 years ago by Volker Braun

Status: positive_reviewneeds_work

comment:75 Changed 6 years ago by git

Commit: a3467bf751cbfbdff0d85c2dfa895f78d32310b452826b18b1474c5f92c9c42f4cc75c6a301c1e87

Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:

928f67dAdd configure option --prefix=SAGE_LOCAL
66a8066Fixup configure without --prefix
b5ecc81Source sage-env-config after calling relocate-once.py
c1c36fftop-level sage script: Remove redundant sage-env-config error message
ae6263bsrc/bin/sage-env-config: Prefix error message with 'Error:'
27189bemake misc-clean: Delete src/bin/sage-env-config
eb922b8Add sage-env-config to .gitignore
4cdaa43sage-env: Quoting fix
71f88cctop-level sage script: No need to source sage-env-config
52826b1bootstrap: Don't use sage-env, set PATH directly

comment:76 in reply to:  73 Changed 6 years ago by Matthias Köppe

Status: needs_workneeds_review

Replying to vbraun:

Doesn't work if you dont have autotools

Thanks for catching this. Fixed. Needs review.

comment:77 Changed 6 years ago by Matthias Köppe

Erik, if you could take another look...

comment:78 Changed 6 years ago by Erik Bray

I'm not really clear about what changed. I don't understand what the issue with autotools was or how this was fixed. I see that you did do something to address that but I don't understand the original issue in the first place--would be better if Volker commented since he pointed it out.

comment:79 Changed 6 years ago by Matthias Köppe

Jeroen, could you take another look?

comment:80 Changed 6 years ago by Matthias Köppe

This ticket needs review.

comment:81 Changed 6 years ago by Matthias Köppe

*pong*

comment:82 Changed 6 years ago by Jeroen Demeyer

Why does this require changes to bootstrap anyway?

comment:83 in reply to:  82 Changed 6 years ago by Dima Pasechnik

Replying to jdemeyer:

Why does this require changes to bootstrap anyway?

I gather it's to resolve some chicken vs egg problem with autotools hosted by Sage itself.

comment:84 Changed 6 years ago by Matthias Köppe

That's right. As the comment in setup_bootstrap_env explains, bootstrap needs to work both pre-build and post-build.

comment:85 Changed 6 years ago by Jeroen Demeyer

Branch: u/mkoeppe/__configure___prefix_sage_localu/jdemeyer/__configure___prefix_sage_local

comment:86 Changed 6 years ago by Jeroen Demeyer

Commit: 52826b18b1474c5f92c9c42f4cc75c6a301c1e87acd688dd6e42f932f0c100cf8acac28e35e3c029

Rebased to 7.6.rc0


New commits:

e55184eAdd configure option --prefix=SAGE_LOCAL
004221cFixup configure without --prefix
ba4dc01Source sage-env-config after calling relocate-once.py
734c2detop-level sage script: Remove redundant sage-env-config error message
5bb47bbsrc/bin/sage-env-config: Prefix error message with 'Error:'
aa84b6fmake misc-clean: Delete src/bin/sage-env-config
c7a8508Add sage-env-config to .gitignore
75b1174sage-env: Quoting fix
1a6bfb4top-level sage script: No need to source sage-env-config
acd688dbootstrap: Don't use sage-env, set PATH directly

comment:87 Changed 6 years ago by Jeroen Demeyer

Two details:

  1. Why remove this comment: # Assume current directory is SAGE_ROOT
  1. Use 4 spaces indentation: SAGE_LOCAL=local

comment:88 Changed 6 years ago by Jeroen Demeyer

Do you expect sage-env-config to be installed in $SAGE_LOCAL/bin? Currently, that's a bit random, depending on whether or not src/bin/sage-env-config exists when running ./configure.

Personally, I think that it should not be installed for an obvious reason: in order to find sage-env-config, you need to know SAGE_LOCAL, for which you need to source sage-env-config, for which you need to find sage-env-config...

Given that it should not be installed, a better place might be build/bin/sage-env-config instead of src/bin/sage-env-config.

And then you might as well drop the whole complicated stuff to figure out the directory of sage-env and just use $SAGE_ROOT/build/bin/sage-env-config.

If you agree, I could implement this.

comment:89 Changed 6 years ago by Jeroen Demeyer

Status: needs_reviewneeds_info

comment:90 Changed 6 years ago by Matthias Köppe

Branch: u/jdemeyer/__configure___prefix_sage_localu/mkoeppe/__configure___prefix_sage_local

comment:91 in reply to:  88 ; Changed 6 years ago by Matthias Köppe

Commit: acd688dd6e42f932f0c100cf8acac28e35e3c029e653bba03ed4642a7d86e9d75e550587fde5241c

Replying to jdemeyer:

Do you expect sage-env-config to be installed in $SAGE_LOCAL/bin? Currently, that's a bit random, depending on whether or not src/bin/sage-env-config exists when running ./configure.

Yes, it should be installed.

Personally, I think that it should not be installed for an obvious reason: in order to find sage-env-config, you need to know SAGE_LOCAL, for which you need to source sage-env-config, for which you need to find sage-env-config...

sage-env-config is intended as a place for more variables defined by configure, to be used by $SAGE_LOCAL/bin/sage. ($SAGE_LOCAL is just the first one that uses this file.) This is why it should be installed.

The idea is that $SAGE_LOCAL/bin/sage would be able to work without having to go through the script $SAGE_ROOT/sage (and without depending on $SAGE_ROOT being set). As I realized in comment 68 above, it does not quite work yet -- because sage-env still tries to discover SAGE_ROOT. A complete solution would be to add a line that sets SAGE_ROOT to sage-bin-config as well. If this sounds agreeable, I could do this.

Given that it should not be installed, a better place might be build/bin/sage-env-config instead of src/bin/sage-env-config.

See #21707 for a discussion regarding a distinction between build-time and run-time config variables; but I think SAGE_LOCAL (and SAGE_ROOT) should be defined in src/bin/sage-env-config (and installed in SAGE_LOCAL/bin/sage-env-config).

And then you might as well drop the whole complicated stuff to figure out the directory of sage-env and just use $SAGE_ROOT/build/bin/sage-env-config.

If you agree, I could implement this.

In the end, anything that moves this ticket forward is fine with me. But note there is more work planned that depends on this -- in particular #21469 (Enable VPATH builds).


New commits:

927b2c8Restore lost comment
e653bbaIndentation fix

comment:92 in reply to:  91 ; Changed 6 years ago by Jeroen Demeyer

Replying to mkoeppe:

The idea is that $SAGE_LOCAL/bin/sage would be able to work without having to go through the script $SAGE_ROOT/sage (and without depending on $SAGE_ROOT being set).

Personally, I think it's reasonable to ask for either SAGE_ROOT or SAGE_LOCAL to be defined.

comment:93 in reply to:  92 ; Changed 6 years ago by Matthias Köppe

Replying to jdemeyer:

Replying to mkoeppe:

The idea is that $SAGE_LOCAL/bin/sage would be able to work without having to go through the script $SAGE_ROOT/sage (and without depending on $SAGE_ROOT being set).

Personally, I think it's reasonable to ask for either SAGE_ROOT or SAGE_LOCAL to be defined.

I disagree; a main goal of this ticket is so that one can install into a prefix hierarchy that can just be used normally (in particular without depending on some environment variables).

comment:94 in reply to:  93 Changed 6 years ago by Jeroen Demeyer

Replying to mkoeppe:

I disagree; a main goal of this ticket is so that one can install into a prefix hierarchy that can just be used normally (in particular without depending on some environment variables).

Let me clarify: $SAGE_LOCAL/bin/sage should not require SAGE_ROOT or SAGE_LOCAL to be set because sage-env can determine it. I'm mainly talking about the logic to determine sage-env-config: I think there we already know either SAGE_ROOT or SAGE_LOCAL so we can simplify that.

comment:95 Changed 6 years ago by Matthias Köppe

Thanks for the clarification; I agree that the installed $SAGE_LOCAL/bin/sage would be able to determine SAGE_LOCAL. But it would have to read $SAGE_ROOT from $SAGE_LOCAL/bin/sage-env-config. And the non-installed $SAGE_ROOT/sage would be able to determine SAGE_ROOT, but would have to read SAGE_LOCAL from somewhere (currently $SAGE_ROOT/src/bin/sage-env-config). If you'd like to implement something like this, please go ahead.

comment:96 Changed 6 years ago by Jeroen Demeyer

Branch: u/mkoeppe/__configure___prefix_sage_localu/jdemeyer/__configure___prefix_sage_local

comment:97 Changed 6 years ago by Jeroen Demeyer

Authors: Matthias KoeppeMatthias Koeppe, Jeroen Demeyer
Commit: e653bba03ed4642a7d86e9d75e550587fde5241c4554dfaae60f455f41923dad9979b1c9f7179699
Milestone: sage-7.6sage-8.0
Status: needs_infoneeds_work

New commits:

4554dfaInstall sage-env-config, not sage-env-config.in

comment:98 Changed 6 years ago by git

Commit: 4554dfaae60f455f41923dad9979b1c9f7179699fe5a7ad50073d4aeeb1b33feec6e8be88dc2bfec

Branch pushed to git repo; I updated commit sha1. New commits:

fe5a7adUse SAGE_SCRIPTS_DIR to source sage-env-config

comment:99 Changed 6 years ago by Jeroen Demeyer

What do you think of these changes?

I still have to look at the bootstrap script.

comment:100 in reply to:  84 Changed 6 years ago by Jeroen Demeyer

Replying to mkoeppe:

That's right. As the comment in setup_bootstrap_env explains, bootstrap needs to work both pre-build and post-build.

For bootstrap, why not just try to source sage-env and ignore any errors? I feel like the current solution is over-engineered: in the case where you want to use autotools from $SAGE_LOCAL, the file sage-env-config will exist. So the current code in bootstrap is a complicated work-around for a non-existing problen.

comment:101 Changed 6 years ago by git

Commit: fe5a7ad50073d4aeeb1b33feec6e8be88dc2bfeccadd18e3dc5cec3408f0a968565d32b5f52c1207

Branch pushed to git repo; I updated commit sha1. New commits:

cadd18eSource sage-env but silence errors

comment:102 Changed 6 years ago by Matthias Köppe

I agree that this is a simpler solution for the purposes of this ticket. (setup_bootstrap_env was unnecessarily ambitious -- it set up a cleaner build environment without all the settings that sage-env does)

comment:103 in reply to:  99 Changed 6 years ago by Matthias Köppe

Replying to jdemeyer:

What do you think of these changes?

Fine with me from looking at it (didn't check that it works).

comment:104 Changed 6 years ago by git

Commit: cadd18e3dc5cec3408f0a968565d32b5f52c12074fe509c906fb6c0686e0a0c024ac7276571cb79a

Branch pushed to git repo; I updated commit sha1. New commits:

4b40094Let "make install" build Sage
4fe509cRevert unneeded changes

comment:105 Changed 6 years ago by Jeroen Demeyer

Status: needs_workneeds_review

comment:106 Changed 6 years ago by Erik Bray

I've had a look and it looks good to me. It might be nice in the future to properly support other standard configure options like --bindir and --libdir, but that's a separate issue.

comment:107 Changed 6 years ago by Erik Bray

Status: needs_reviewpositive_review

comment:108 in reply to:  106 Changed 6 years ago by Matthias Köppe

Replying to embray:

It might be nice in the future to properly support other standard configure options like --bindir and --libdir, but that's a separate issue.

I agree. Could you open a ticket for it? Note that it would require more invasive patching (or autotoolization) of many spkgs that are not autotools-based.

comment:109 Changed 6 years ago by Matthias Köppe

Reviewers: Jeroen Demeyer, Erik BrayJeroen Demeyer, Erik Bray, Matthias Koeppe

Jeroen, I've built a version with your changes, and it all looks good. I've added my name to the list of reviewers.

comment:110 Changed 6 years ago by Volker Braun

Status: positive_reviewneeds_work

Doesnt work if autotools aren't installed:

make -j2 -k start
 in dir /home/buildbot/slave/sage_git/build (timeout 86400 secs)
 watching logfiles {'symmetrica': 'logs/buildbot/symmetrica.log', 'sage': 'logs/buildbot/sage.log', 'gd': 'logs/buildbot/gd.log', 'networkx': 'logs/buildbot/networkx.log', 'libgap': 'logs/buildbot/libgap.log', 'csage': 'logs/buildbot/csage.log', 'cython': 'logs/buildbot/cython.log', 'iconv': 'logs/buildbot/iconv.log', 'iml': 'logs/buildbot/iml.log', 'flintqs': 'logs/buildbot/flintqs.log', 'sympy': 'logs/buildbot/sympy.log', 'freetype': 'logs/buildbot/freetype.log', 'mpc': 'logs/buildbot/mpc.log', 'g2red': 'logs/buildbot/genus2reduction.log', 'scipy': 'logs/buildbot/scipy.log', 'flint': 'logs/buildbot/flint.log', 'polytopes': 'logs/buildbot/polytopes_db.log', 'givaro': 'logs/buildbot/givaro.log', 'python3': 'logs/buildbot/python3.log', 'python2': 'logs/buildbot/python2.log', 'patch': 'logs/buildbot/patch.log', 'mpmath': 'logs/buildbot/mpmath.log', 'cephes': 'logs/buildbot/cephes.log', 'pynac': 'logs/buildbot/pynac.log', 'pkgconf': 'logs/buildbot/pkgconf.log', 'sagenb': 'logs/buildbot/sagenb.log', 'palp': 'logs/buildbot/palp.log', 'seadata': 'logs/buildbot/pari_seadata_small.log', 'sympow': 'logs/buildbot/sympow.log', 'docutils': 'logs/buildbot/docutils.log', 'ell_curves': 'logs/buildbot/elliptic_curves.log', 'eclib': 'logs/buildbot/eclib.log', 'libpng': 'logs/buildbot/libpng.log', 'boost': 'logs/buildbot/boost_cropped.log', 'cliquer': 'logs/buildbot/cliquer.log', 'ecm': 'logs/buildbot/ecm.log', 'ecl': 'logs/buildbot/ecl.log', 'cvxopt': 'logs/buildbot/cvxopt.log', 'matplotlib': 'logs/buildbot/matplotlib.log', 'galdata': 'logs/buildbot/pari_galdata.log', 'ntl': 'logs/buildbot/ntl.log', 'lcalc': 'logs/buildbot/lcalc.log', 'ipython': 'logs/buildbot/ipython.log', 'sagetex': 'logs/buildbot/sagetex.log', 'libfplll': 'logs/buildbot/libfplll.log', 'pillow': 'logs/buildbot/pillow.log', 'conway': 'logs/buildbot/conway_polynomials.log', 'polybori': 'logs/buildbot/polybori.log', 'tachyon': 'logs/buildbot/tachyon.log', 'ppl': 'logs/buildbot/ppl.log', 'linbox': 'logs/buildbot/linbox.log', 'pygments': 'logs/buildbot/pygments.log', 'm4rie': 'logs/buildbot/m4rie.log', 'git': 'logs/buildbot/git.log', 'pexpect': 'logs/buildbot/pexpect.log', 'r-project': 'logs/buildbot/r.log', 'm4ri': 'logs/buildbot/m4ri.log', 'pkgconfig': 'logs/buildbot/pkgconfig.log', 'cddlib': 'logs/buildbot/cddlib.log', 'zeromq': 'logs/buildbot/zeromq.log', 'numpy': 'logs/buildbot/numpy.log', 'pyzmq': 'logs/buildbot/pyzmq.log', 'sqlalchemy': 'logs/buildbot/sqlalchemy.log', 'ncurses': 'logs/buildbot/ncurses.log', 'gdmodule': 'logs/buildbot/gdmodule.log', 'pari': 'logs/buildbot/pari.log', 'gap': 'logs/buildbot/gap.log', 'mpfi': 'logs/buildbot/mpfi.log', 'gf2x': 'logs/buildbot/gf2x.log', 'zlib': 'logs/buildbot/zlib.log', 'setuptools': 'logs/buildbot/setuptools.log', 'sqlite': 'logs/buildbot/sqlite.log', 'mpir': 'logs/buildbot/mpir.log', 'bzip2': 'logs/buildbot/bzip2.log', 'six': 'logs/buildbot/six.log', 'rubiks': 'logs/buildbot/rubiks.log', 'scons': 'logs/buildbot/scons.log', 'openblas': 'logs/buildbot/openblas.log', 'zn_poly': 'logs/buildbot/zn_poly.log', 'singular': 'logs/buildbot/singular.log', 'tornado': 'logs/buildbot/tornado.log', 'boehm_gc': 'logs/buildbot/boehm_gc.log', 'gfan': 'logs/buildbot/gfan.log', 'gcc': 'logs/buildbot/gcc.log', 'readline': 'logs/buildbot/readline.log', 'glpk': 'logs/buildbot/glpk.log', 'ratpoints': 'logs/buildbot/ratpoints.log', 'sphinx': 'logs/buildbot/sphinx.log', 'pycrypto': 'logs/buildbot/pycrypto.log', 'jmol': 'logs/buildbot/jmol.log', 'graphs': 'logs/buildbot/graphs.log', 'jinja2': 'logs/buildbot/jinja2.log', 'mpfr': 'logs/buildbot/mpfr.log', 'gsl': 'logs/buildbot/gsl.log', 'maxima': 'logs/buildbot/maxima.log'}
 argv: ['make', '-j2', '-k', 'start']
 environment:
  DOT_SAGE=/home/buildbot/slave/sage_git/dot_sage
  HOME=/var/lib/buildbot
  LANG=en_US.UTF-8
  LOGNAME=buildbot
  MAIL=/var/mail/buildbot
  MAKE=make -j2
  PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
  PWD=/home/buildbot/slave/sage_git/build
  SAGE_CRASH_LOGS=/home/buildbot/slave/sage_git/crashlogs
  SAGE_PARALLEL_SPKG_BUILD=yes
  SAGE_SERVER=http://sagepad.org/
  SHELL=/bin/sh
  USER=buildbot
 using PTY: False
make -j2 build/make/Makefile
make[1]: Entering directory `/home/buildbot/slave/sage_git/build'
make[1]: warning: -jN forced in submake: disabling jobserver mode.
./bootstrap -d
make[2]: Entering directory `/home/buildbot/slave/sage_git/build'
rm -rf config configure build/make/Makefile-auto.in
make[2]: Leaving directory `/home/buildbot/slave/sage_git/build'
./bootstrap: line 30: aclocal: command not found
Bootstrap failed, downloading required files instead.
./bootstrap: line 59: sage-download-file: command not found
Error: downloading configure-212.tar.gz failed
make[1]: *** [configure] Error 1
make[1]: Target `build/make/Makefile' not remade because of errors.
make[1]: Leaving directory `/home/buildbot/slave/sage_git/build'
make: *** [start] Error 2
program finished with exit code 2

comment:111 Changed 6 years ago by Matthias Köppe

Jeroen, since you did not like my solution to this problem in https://git.sagemath.org/sage.git/commit?id=acd688dd6e42f932f0c100cf8acac28e35e3c029, would you like to fix it?

comment:112 Changed 6 years ago by git

Commit: 4fe509c906fb6c0686e0a0c024ac7276571cb79a3b1ee6863a5e2e3b0f7604c9e9a1f000685e02c1

Branch pushed to git repo; I updated commit sha1. This was a forced push. Last 10 new commits:

221bd47sage-env: Quoting fix
ec0a435top-level sage script: No need to source sage-env-config
7a43067bootstrap: Don't use sage-env, set PATH directly
b4fae11Restore lost comment
4ec741cIndentation fix
01a5706Install sage-env-config, not sage-env-config.in
1effacdUse SAGE_SCRIPTS_DIR to source sage-env-config
13205aeSource sage-env but silence errors
d9f83d2Let "make install" build Sage
3b1ee68Revert unneeded changes

comment:113 Changed 6 years ago by Jeroen Demeyer

Rebased to 7.6, nothing changed yet.

comment:114 in reply to:  111 Changed 6 years ago by Jeroen Demeyer

Replying to mkoeppe:

Jeroen, since you did not like my solution to this problem in https://git.sagemath.org/sage.git/commit?id=acd688dd6e42f932f0c100cf8acac28e35e3c029, would you like to fix it?

The problem is that this comment is wrong:

    # Try to get autotools from our own package into PATH (Trac #21214)
    # This will fail for initial bootstrap, when sage-env-config has
    # not been created yet.

It's not just about autotools, it's also about getting sage-download-file in the $PATH.

comment:115 Changed 6 years ago by git

Commit: 3b1ee6863a5e2e3b0f7604c9e9a1f000685e02c1890d4178cfd9a7c6184cade473668a9e5bf74be1

Branch pushed to git repo; I updated commit sha1. New commits:

890d417Hardcode path to sage-download-file

comment:116 Changed 6 years ago by Jeroen Demeyer

Status: needs_workneeds_review

This should work...

comment:117 Changed 6 years ago by Matthias Köppe

Status: needs_reviewpositive_review

comment:118 Changed 6 years ago by Volker Braun

Status: positive_reviewneeds_work
config.status: creating directory /Users/buildslave-sage/slave/sage_git/build/local/share
config.status: creating directory /Users/buildslave-sage/slave/sage_git/build/local/var/lib/sage/installed
build/bin/sage-logger \
		"cd build/make && ./install 'start'" logs/install.log
./install: line 12: /Users/buildslave-sage/slave/sage_git/build/src/bin/sage-env-config: No such file or directory
Error: Failed to read sage-env-config.  Did you run configure?

comment:119 Changed 6 years ago by Matthias Köppe

Status: needs_workpositive_review

No, this error disappears if you run autoreconf - and regenerate the configure package for the release using your scripts.

comment:120 in reply to:  119 Changed 6 years ago by Jeroen Demeyer

Status: positive_reviewneeds_work

Replying to mkoeppe:

regenerate the configure package for the release using your scripts.

If only the release manager would do this when testing a ticket...

comment:121 Changed 6 years ago by git

Commit: 890d4178cfd9a7c6184cade473668a9e5bf74be12a069b194037f7dd406055f0072a93c525f768ea

Branch pushed to git repo; I updated commit sha1. New commits:

2a069b1Update configure tarball

comment:122 Changed 6 years ago by Jeroen Demeyer

Description: modified (diff)
Status: needs_workpositive_review

comment:123 Changed 6 years ago by Volker Braun

Status: positive_reviewneeds_work

merge failure

comment:124 Changed 6 years ago by Matthias Köppe

... with the configure tarball version

comment:125 Changed 6 years ago by git

Commit: 2a069b194037f7dd406055f0072a93c525f768eae5926b1513e224e392cc10bd82c7ec7244a16c44

Branch pushed to git repo; I updated commit sha1. This was a forced push. Last 10 new commits:

f624c95bootstrap: Don't use sage-env, set PATH directly
2dccfb0Restore lost comment
2aafa6fIndentation fix
4eeb130Install sage-env-config, not sage-env-config.in
8965a08Use SAGE_SCRIPTS_DIR to source sage-env-config
7b4dfbfSource sage-env but silence errors
44110ceLet "make install" build Sage
7d2595cRevert unneeded changes
1e98d9cHardcode path to sage-download-file
e5926b1Update configure tarball

comment:126 Changed 6 years ago by Jeroen Demeyer

Description: modified (diff)
Status: needs_workpositive_review

Hopefully this is the final thing needed for this ticket...

comment:127 Changed 6 years ago by Volker Braun

Branch: u/jdemeyer/__configure___prefix_sage_locale5926b1513e224e392cc10bd82c7ec7244a16c44
Resolution: fixed
Status: positive_reviewclosed

comment:128 Changed 6 years ago by John Palmieri

Commit: e5926b1513e224e392cc10bd82c7ec7244a16c44

As a consequence of this ticket, with a fresh tarball or after running make distclean, ./sage -i PKG fails, as does ./sage --sh. The error message says

Error: You must set either the SAGE_LOCAL or SAGE_SCRIPTS_DIR environment variable to run this
Error setting environment variables by sourcing '/Users/palmieri/Desktop/TEMP/sage-8.0.beta1/src/bin/sage-env';
possibly contact sage-devel (see http://groups.google.com/group/sage-devel).

Should these commands work out of the box? Running ./configure fixes this, I think, so should the error message be changed, at least?

comment:129 Changed 6 years ago by Volker Braun

I think its reasonable to ask that one runs at least configure once before trying to launch any scripts in the source tarball. So +1 for changing the error message...

Note: See TracTickets for help on using tickets.