You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I have compiled dozens of programs but sagemaths compilation is not user friendly. It needs extra features to make compilation easier.
Three suggestions i want to make are:
Add -C option to make
for example:
cd ~/sage/build
make -C ~/sage/src
This allows a user to build out of tree from a dedicated build directory which they can create themselves. This way one does not have to worry about how the developers have configured make clean and make distclean which varies between Makefile's. A quick rm -rf build and one can start re-compiling if something goes wrong.
Add DESTDIR option
I like to convert my source code installs into RPM packages before installing it. This requires me to use the DESTDIR option to set up a staging directory for the installation. I tried this with sagemath and it seemed to split the installtion between this staging area and the --prefix
Add make install
I understand the decision to have make do both building and installing as it allows users to do both in one command (and its easier for developers). However this makes compiling rigid and causes problems when a user needs to customize their installation. For example, if one wishes to convert the source code directory to an RPM or DEB package.
These three suggestions can enhance the user experience.
This looks like a duplicate of several other tickets. See #21479 (./configure --prefix=...), #21469 (enable VPATH builds), #21495 (make install), #21566. What parts of this ticket are not covered by those?
Thanks for your interest in helping to improve Sage's build/install experience. These are all well-known issues and most of them either have good reasons for them, or are actively being worked on (including work I'm doing, e.g. in #24024). I am also working in several directions to increase the number of dependencies Sage can inherit from the system rather than building its own (see e.g. #24919--a very important enhancement that desperately needs review).
You seem well-versed in build/packaging issues, so if you'd like to help out I can definitely point you in the right direction for contributing to ongoing work :)
I have compiled dozens of programs but sagemaths compilation is not user friendly. It needs extra features to make compilation easier.
Three suggestions i want to make are:
-C
option to makefor example:
cd ~/sage/build
make -C ~/sage/src
This allows a user to build out of tree from a dedicated build directory which they can create themselves. This way one does not have to worry about how the developers have configured
make clean
andmake distclean
which varies betweenMakefile
's. A quickrm -rf build
and one can start re-compiling if something goes wrong.Add
DESTDIR
optionI like to convert my source code installs into
RPM
packages before installing it. This requires me to use theDESTDIR
option to set up a staging directory for the installation. I tried this with sagemath and it seemed to split the installtion between this staging area and the--prefix
Add
make install
I understand the decision to have
make
do both building and installing as it allows users to do both in one command (and its easier for developers). However this makes compiling rigid and causes problems when a user needs to customize their installation. For example, if one wishes to convert the source code directory to anRPM
orDEB
package.These three suggestions can enhance the user experience.
Component: build
Keywords: make, make install, DESTDIR, make -C
Issue created by migration from https://trac.sagemath.org/ticket/25851
The text was updated successfully, but these errors were encountered: