Opened 11 years ago
Closed 11 years ago
#7484 closed defect (invalid)
update README.txt to require Fortran as a pre-requisite for compiling Sage on Linux
Reported by: | jason | Owned by: | tbd |
---|---|---|---|
Priority: | major | Milestone: | sage-duplicate/invalid/wontfix |
Component: | build | Keywords: | |
Cc: | schilly | Merged in: | |
Authors: | Jason Grout, Minh Van Nguyen | Reviewers: | David Kirkby |
Report Upstream: | N/A | Work issues: | |
Branch: | Commit: | ||
Dependencies: | Stopgaps: |
Description (last modified by )
Here's a patch for README.txt to document this:
--- README.txt.orig 2009-11-17 20:02:26.833640422 -0600 +++ README.txt 2009-11-17 20:11:28.183327521 -0600 @@ -47,6 +47,14 @@ >= 10.4.x and certain Linux distributions are 100% supported. See below for a complete list. + NOTE: If you're making or using Sage on a platform for which the included g95 + binaries do not work (e.g., Itanium or Ubuntu 9.10), you must use a system-wide + gfortran. You must set the SAGE_FORTRAN and SAGE_FORTRAN_LIB environment + variables before making Sage. Do this by typing + + export SAGE_FORTRAN=/exact/path/to/gfortran + export SAGE_FORTRAN_LIB=/path/to/fortran/libs/libgfortran.so + 2. Extract the tarball: tar xvf sage-*.tar @@ -75,13 +83,6 @@ Use Sage on Microsoft Windows via VMware. We do not always test on OS X 10.4, but Sage should work there fine. -NOTE: If you're using Fortran on a platform without g95 binaries included - with Sage, e.g., Itanium, you must use a system-wide gfortran. You - have to explicitly tell the build process about the fortran - compiler and library location. Do this by typing - - export SAGE_FORTRAN=/exact/path/to/gfortran - export SAGE_FORTRAN_LIB=/path/to/fortran/libs/libgfortran.so NOT OFFICIALLY SUPPORTED, BUT NEARLY WORKS: PROCESSOR OPERATING SYSTEM
Ticket #8806 fixes many issues that are dealt with in the current ticket.
Attachments (2)
Change History (17)
comment:1 Changed 11 years ago by
- Description modified (diff)
- Status changed from new to needs_review
comment:2 Changed 11 years ago by
comment:3 Changed 11 years ago by
See #7485
comment:4 Changed 11 years ago by
- Report Upstream set to N/A
- Summary changed from Sage does not build on stock Ubuntu 9.10 without installing gfortran and setting SAGE_FORTRAN(_LIB) to update README.txt to require Fortran as a pre-requisite for compiling Sage on Linux
Due to #7485, Linux Fortran binaries are now removed from the Fortran spkg. This means that under Linux, Fortran is a pre-requisite for compiling Sage from source just as the GCC suite of compilers is a pre-requisite. The new README.txt states that Fortran is a pre-requisite for compiling Sage on Linux. This file is based on that in Sage 4.3.1.rc1. The diff file README.diff shows differences between the attached README.txt and the one in Sage 4.3.1.rc1. Don't apply this diff file. Just replace the current README.txt under SAGE_ROOT with the attached README.txt.
comment:5 follow-up: ↓ 9 Changed 11 years ago by
- Reviewers set to David Kirkby
- Status changed from needs_review to needs_work
I think it is important to add on platforms such as Solaris, AIX and HP-UX, where both 32 and 64-bit builds are supported, the library path must point to the 32-bit library if building 32-bit, and must point to a 64-bit library if building 64-bit.
(How about OS X? Perhaps the fortran.spkg takes care of that.)
On Solaris that will probably be the following, though this would need checking.
SAGE_FORTRAN=/path/to/gcc/install/directory/bin/gfortran (SPARC and x86) SAGE_FORTRAN_LIB=/path/to/gcc/install/directory/lib/libgfortran.so (32-bit SPARC) SAGE_FORTRAN_LIB=/path/to/gcc/install/directory/lib/sparcv9/libgfortran.so (64-bit SPARC) SAGE_FORTRAN_LIB=/path/to/gcc/install/directory/lib/libgfortran.so (32-bit x86) SAGE_FORTRAN_LIB=/path/to/gcc/install/directory/lib/amd64/libgfortran.so (64-bit x64)
Dave
comment:6 Changed 11 years ago by
(How about OS X? Perhaps the fortran.spkg takes care of that.)
Do *NOT* require gfortran on OS X, since we still supply it with Sage.
comment:7 Changed 11 years ago by
William, you said on sage-devel, on the subject of SAGE_FORTRAN and OS X.
Use the binary included in Sage if SAGE_FORTRAN is not specified. Otherwise, use the one pointed to by the that environment variable.
http://groups.google.com/group/sage-devel/browse_thread/thread/e2867ea2efe7e052
Therefore, SAGE_FORTRAN_LIB might be important if someone wanted to use their own version of gcc, rather than the one in Sage. In which case, the question arises as to what would be the path to the library. Would it be different for 32 and 64-bit builds, as it is on Solaris and HP-UX?
Dave
comment:8 Changed 11 years ago by
Ticket #8080 updates the Installation Guide to require gfortran as a pre-requisite for compiling Sage on Linux.
comment:9 in reply to: ↑ 5 Changed 11 years ago by
- Status changed from needs_work to needs_review
Replying to drkirkby:
I think it is important to add on platforms such as Solaris, AIX and HP-UX, where both 32 and 64-bit builds are supported, the library path must point to the 32-bit library if building 32-bit, and must point to a 64-bit library if building 64-bit.
Done. Fixed in the updated README.txt.
(How about OS X? Perhaps the fortran.spkg takes care of that.)
Also fixed in the updated README.txt. For Mac OS X, I have removed the reference to ticket #7095, as the issue contained therein has been fixed.
comment:10 Changed 11 years ago by
README.txt also fixes #8106.
comment:11 follow-up: ↓ 14 Changed 11 years ago by
- Status changed from needs_review to needs_work
A few comments: Those in bold are specifically about Fortran. The others are not, so you can ignore them for this ticket, tough you might chose to update them, as they are minor changes:
- Line 22: says Sage is distributed under the GPL, but does say what version. I believe it should be GPL 2 (or at your option any later version).
- Line 110 should make it clear Sage 4.3.0.1 does work on Solaris 10 SPARC and more recent versions nearly work.
- Line 113 mentions gFortran. I believe the F should be changed to lower case
- Line 127 should make it clear this port is for x64. OpenSolaris does exist on SPARC, though I do not believe it has many users.
- Lines 144 + 145. Again refers to a gFortran. Also, there is no reason gfortran needs to be installed system wide. Someone can create their own private copy of gcc with Fortran support.
- Line 168. I think changing 32- to 32-bit would be preferable.
- Line 299. I would change to simply Sage needs GCC >= 4.0.1
- Line 300 seems a bit pointless, as long as we say Sage needs gcc >=4.0.1
- Line 301 can be removed, as it is totally impossible to build Sage with that. The 'prereq' script will exit immediately with an error.
Dave
comment:12 Changed 11 years ago by
- Cc schilly added
From IRC:
04:31 < schilly> mvngu: the README.txt still says that arch linux is not supported. i guess we can drop that ^^
comment:13 Changed 11 years ago by
- Description modified (diff)
comment:14 in reply to: ↑ 11 Changed 11 years ago by
README.txt was recently updated, so this will need to be rebased again. Is the original problem still a problem, given the latest one?
With respect to drkirkby's comments, I think the following remain:
- Line 22: says Sage is distributed under the GPL, but does say what version. I believe it should be GPL 2 (or at your option any later version).
This seems reasonable to change.
- Lines 144 + 145. Again refers to a gFortran. Also, there is no reason gfortran needs to be installed system wide. Someone can create their own private copy of gcc with Fortran support.
I have no idea if this is true, but at any rate we still use the phrase "system-wide" in line 137.
- Line 299. I would change to simply Sage needs GCC >= 4.0.1
- Line 300 seems a bit pointless, as long as we say Sage needs gcc >=4.0.1
- Line 301 can be removed, as it is totally impossible to build Sage with that. The 'prereq' script will exit immediately with an error.
These three seem to be a matter of taste. As long as we accurately document what Sage builds with, we might as well leave it alone. And warnings of things that fail are good if they prevent people from wasting time trying to make them fail :)
comment:15 Changed 11 years ago by
- Milestone changed from sage-4.5.3 to sage-duplicate/invalid/wontfix
- Resolution set to invalid
- Status changed from needs_work to closed
This has already been taken care of at least as of Sage 4.5.2. I'm going to mark it as invalid now.
Regarding this ticket: