Should really `make configure` download files on error?

49 views
Skip to first unread message

Martin Pépin

unread,
Sep 16, 2022, 11:43:22 AM9/16/22
to sage-...@googlegroups.com
Hi all,

I had a weird issue with sage recently which boiled down to `make build`
completing without an error (at first glance) but giving me an
ill-configured sage.

What happened is that the `bootstrap` script, in charge of building the
`configure` script, had failed to build and decided to download a
configure script from sage's mirrors as a fallback (as told by the -d flag).
Because this only prints an error message but does not fail, `make
build` kept running and completed successfully. I didn't see the error
message in the pile of logs that it produces.

While I understand that downloading a fallback configure script can be
okay in many cases, I don't think this is a good default behaviour.
I would rather have `make build` fail, tell me about `./bootstrap -d`,
and let me decide if I want to address the problem or use the fallback
script.

Do you have any opinion on this? I'm happy to open a ticket implementing
my suggestion.
(And sorry if that's been discussed already.)

Cheers,
Martin

Dima Pasechnik

unread,
Sep 16, 2022, 12:15:38 PM9/16/22
to sage-devel
IMHO ./bootsrtap should not be invoked by any of our 'make' targets.

same for ./configure (I can't recall any real reason, apart from convenience, that we do this)





--
You received this message because you are subscribed to the Google Groups "sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/sage-devel/81df7ef1-d924-9e31-3348-8988fbea89e8%40gmail.com.

Matthias Koeppe

unread,
Sep 16, 2022, 1:06:03 PM9/16/22
to sage-devel
On Friday, September 16, 2022 at 8:43:22 AM UTC-7 mpn7...@gmail.com wrote:
What happened is that the `bootstrap` script, in charge of building the
`configure` script, had failed to build and decided to download a
configure script from sage's mirrors as a fallback (as told by the -d flag).
Because this only prints an error message but does not fail, `make
build` kept running and completed successfully. I didn't see the error
message in the pile of logs that it produces.

While I understand that downloading a fallback configure script can be
okay in many cases, I don't think this is a good default behaviour.
I would rather have `make build` fail, tell me about `./bootstrap -d`,
and let me decide if I want to address the problem or use the fallback
script.

Do you have any opinion on this?

It's a mechanism that is suitable/convenient for the majority of all tickets and users.

Only developers who work with tickets that add packages or make changes to the build infrastructure run into the problem that the downloaded "configure" is not suitable.

 

Martin Pépin

unread,
Sep 17, 2022, 5:07:21 AM9/17/22
to sage-...@googlegroups.com
> Only developers who work with tickets that add packages or make changes
> to the build infrastructure run into the problem that the downloaded
> "configure" is not suitable.

And yet I think this is worth addressing. Those contributors who add
packages may, just like me, know nothing of sage's build infrastructure
and waste a lot of time in debugging, or simply give up.

I hear that it is convenient for many contributors. I am not willing to
remove this. I just would like it not to happen in back when building sage.
Because it leads to hard to debug issues when adding packages (and also
because I think it sort of defeats the purpose of building from source,
but this might be a more personal opinion).

I believe it would be better to halt the building process when this
happens and let the user make an inform choice about what they want.

Matthias Koeppe

unread,
Sep 17, 2022, 8:15:36 AM9/17/22
to sage-devel
On Saturday, September 17, 2022 at 2:07:21 AM UTC-7 mpn7...@gmail.com wrote:
> Only developers who work with tickets that add packages or make changes
> to the build infrastructure run into the problem that the downloaded
> "configure" is not suitable.

And yet I think this is worth addressing. Those contributors who add
packages may, just like me, know nothing of sage's build infrastructure

The documentation is clear that developers that do this need the _bootstrap prerequisites.
 
Reply all
Reply to author
Forward
0 new messages