Opened 4 years ago

Closed 4 years ago

Last modified 4 years ago

#26667 closed defect (fixed)

distutils no longer shows compiler commands

Reported by: Jeroen Demeyer Owned by:
Priority: critical Milestone: sage-8.5
Component: build Keywords:
Cc: Erik Bray, Julian Rüth Merged in:
Authors: Jeroen Demeyer Reviewers: Julian Rüth, Volker Braun
Report Upstream: N/A Work issues:
Branch: c8925d1 (Commits, GitHub, GitLab) Commit:
Dependencies: Stopgaps:

Status badges

Description (last modified by Jeroen Demeyer)

Running

touch src/sage/rings/rational.pyx && ./sage -b

shows

Compiling sage/rings/rational.pyx because it changed.
[1/1] Cythonizing sage/rings/rational.pyx
Executing 1 command (using 1 thread)
[1/1] Time to execute 1 command: 0.51 seconds.
Total time spent compiling C/C++ extensions: 0.57 seconds.

Note that the compiler invocation (gcc ...) is not shown. This is really annoying for debugging. This got "broken" in #24655.

Change History (15)

comment:1 Changed 4 years ago by Jeroen Demeyer

Summary: setuptools no longer shows compiler commandsdistutils no longer shows compiler commands

comment:2 Changed 4 years ago by Jeroen Demeyer

Branch: u/jdemeyer/distutils_no_longer_shows_compiler_commands

comment:3 Changed 4 years ago by Jeroen Demeyer

Authors: Jeroen Demeyer
Cc: Julian Rüth added
Commit: c8925d1bdc4e29da85efe48f5934389e52634353

New commits:

c8925d1Revert "Silence setup.py"

comment:4 Changed 4 years ago by Jeroen Demeyer

Status: newneeds_review

comment:5 Changed 4 years ago by Jeroen Demeyer

Description: modified (diff)

comment:6 Changed 4 years ago by Jeroen Demeyer

Description: modified (diff)

comment:7 Changed 4 years ago by Julian Rüth

Reviewers: Julian Rüth
Status: needs_reviewpositive_review

Sorry for that.

comment:8 Changed 4 years ago by Erik Bray

Status: positive_reviewneeds_info

I actually rather like the quieter output. Couldn't we make this an option? When not debugging the extra output is not so helpful or necessary.

comment:9 Changed 4 years ago by Julian Rüth

I agree that it's easier to see where the build process is at in the quieter version, and nicer to look at when things work. However, debugging compiler related problems is really hard like this. So, I'd propose to merge this as is, so we can debug again and then improve upon this in a follow-up.

comment:10 Changed 4 years ago by Erik Bray

It would be trivial to just add an option. I'll do it. "Merging" this isn't going to allow anyone to "debug" anything right now anyways since things get "merged" whenever Volker feels like it (if there were GitHub/GitLab? and I could just click "merge" I would agree).

comment:11 in reply to:  8 Changed 4 years ago by Jeroen Demeyer

Too much information is annoying at worst, but missing information is impossible to get after the fact. So when logging, I very much like to err on the side of too much logging.

And an option (with quiet logging by default) is only going to make it more complicated when users ask for help. It's already hard enough to get users send logs, but with Erik's proposal we add an extra hurdle of actually getting the info that we need in the logs.

And I remind that we have the environment variable SAGE_SILENT_BUILD if you don't want to see everything on your stdout. That option still keeps the logs on disk intact.

Last edited 4 years ago by Jeroen Demeyer (previous) (diff)

comment:12 Changed 4 years ago by Jeroen Demeyer

Status: needs_infoneeds_review

comment:13 Changed 4 years ago by Volker Braun

Status: needs_reviewpositive_review

You can debate what ends up being printed to the terminal, but whatever you do make sure that the compiler invocation is written to install.log...

comment:14 Changed 4 years ago by Volker Braun

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

comment:15 Changed 4 years ago by Jeroen Demeyer

Commit: c8925d1bdc4e29da85efe48f5934389e52634353
Reviewers: Julian RüthJulian Rüth, Volker Braun
Note: See TracTickets for help on using tickets.