sagemath / sage

Main repository of SageMath
https://www.sagemath.org
Other
1.32k stars 451 forks source link

Make it possible to disable build of r, rpy2 using ./configure --disable-r #31409

Closed mkoeppe closed 3 years ago

mkoeppe commented 3 years ago

Prompted by a build failure of r on cygwin-standard in https://github.com/mkoeppe/sage/runs/1915093157

  [r-3.6.3]   blas.o: in function `dsymm_':
  [r-3.6.3]   /opt/sage-1e693c9ae51a53dad0fe099efc41439dc898f02f/var/tmp/sage/build/r-3.6.3/src/src/extra/blas/blas.f:2986:(.text+0x4352): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `xerbla_'

we make it possible to disable R using a configure options so that one can get a working Sage installation in this way.

(The original build failure has hopefully resolved been resolved by #29537.)

Previous tickets and discussions:

Depends on #29537 Depends on #30383

CC: @embray @dimpase @orlitzky @jhpalmieri @kiwifb @novoselt @EmmanuelCharpentier @videlec @kliem

Component: porting: Cygwin

Author: Matthias Koeppe

Branch/Commit: f04c134

Reviewer: François Bissey, John Palmieri

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

mkoeppe commented 3 years ago
comment:93

Replying to @embray:

it used to be possible to set it when running make as well. I guess it's not so important, but it feels like a regression, and was confusing to me.

I think the reasoning is that -- in contrast to SAGE_DEBUG and the compiler flags -- that it is not useful to control SAGE_FAT_BINARY for just a few packages -- you get a portable Sage distribution only if all packages are compiled like this. I would have no strong objections though to add it back though (in a separate ticket - it's unrelated to the present ticket).

mkoeppe commented 3 years ago
comment:94

The present ticket needs review - it would be nice to get this into 9.3

jhpalmieri commented 3 years ago
comment:95

./configure --help does not print --enable-r as an option.

jhpalmieri commented 3 years ago
comment:96

Although I see ./configure --disable-r, so maybe it's not important.

mkoeppe commented 3 years ago
comment:97

I think it's common practice to only show one of --enable-... and --disable-... depending on what is the default.

For our optional packages, I think we decided to list both because of the perhaps unusual semantics of --disable-... uninstalling a previously installed optional package.

mkoeppe commented 3 years ago
comment:98

Replying to @mkoeppe:

For our optional packages, I think we decided to list both because of the perhaps unusual semantics of --disable-... uninstalling a previously installed optional package.

And... of course because our default for optional depends on whether the package is already installed. And this information is not known at bootstrap time (when the help text is put together), only at configure time.

jhpalmieri commented 3 years ago

Changed reviewer from François Bissey to François Bissey, John Palmieri

jhpalmieri commented 3 years ago
comment:99

Okay, that makes sense. It works as advertised, so let's merge it.

mkoeppe commented 3 years ago
comment:100

Thanks!

mkoeppe commented 3 years ago
comment:101

Setting priority to blocker to bring this ticket to the attention of the release bot.

vbraun commented 3 years ago

Changed branch from u/mkoeppe/cygwin_standardr_build_fails_____downgrade_rrpy2_to_optional to f04c134