Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Recommend Fortran compiler as a prerequisite #27054

Closed
sagetrac-gitlab-bot mannequin opened this issue Jan 14, 2019 · 26 comments
Closed

Recommend Fortran compiler as a prerequisite #27054

sagetrac-gitlab-bot mannequin opened this issue Jan 14, 2019 · 26 comments

Comments

@sagetrac-gitlab-bot
Copy link
Mannequin

sagetrac-gitlab-bot mannequin commented Jan 14, 2019

Recommend Fortran compiler as a prerequisite in the "installing from source" guide.

Depends on #26964

CC: @slel

Component: documentation

Keywords: gfortran

Author: Odile Bénassy, Samuel Lelièvre

Branch/Commit: u/slelievre/mrs/4/gfortran @ a35d77e

Reviewer: Michael Orlitzky

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

@sagetrac-gitlab-bot sagetrac-gitlab-bot mannequin added this to the sage-8.6 milestone Jan 14, 2019
@jdemeyer

This comment has been minimized.

@jdemeyer
Copy link

comment:1
  1. It's not completely correct to say that gfortran must be installed since Sage will install it if needed. It would be good to clarify that.

  2. What's up with the changes to src/sage/combinat/tutorial.py? There should be a separate ticket for that.

@dimpase
Copy link
Member

dimpase commented Jan 14, 2019

comment:3

Replying to @jdemeyer:

  1. What's up with the changes to src/sage/combinat/tutorial.py? There should be a separate ticket for that.

there is one, in fact, by the same author. Using a wrong branch, I presume.

@fchapoton
Copy link
Contributor

comment:4

NOTE: Authors should be filled with the author full name.

@embray
Copy link
Contributor

embray commented Jan 15, 2019

comment:5

Retarging tickets optimistically to the next milestone. If you are responsible for this ticket (either its reporter or owner) and don't believe you are likely to complete this ticket before the next release (8.7) please retarget this ticket's milestone to sage-pending or sage-wishlist.

@dimpase
Copy link
Member

dimpase commented Feb 11, 2019

comment:7

I don't like this from the point of Fortran point of view - it is possible to build Sage with e.g. Flang. Do not break this.

@slel
Copy link
Member

slel commented Feb 14, 2019

Changed branch from u/galois/mrs/4/gfortran to u/slelievre/mrs/4/gfortran

@slel
Copy link
Member

slel commented Feb 14, 2019

Changed keywords from none to gfortran

@slel

This comment has been minimized.

@slel
Copy link
Member

slel commented Feb 14, 2019

Changed author from Zerline to Odile Bénassy, Samuel Lelièvre

@slel
Copy link
Member

slel commented Feb 14, 2019

Changed commit from c36d9b5 to a35d77e

@slel
Copy link
Member

slel commented Feb 14, 2019

comment:9

Rephrased as a recommendation rather than a strict prerequisite.


New commits:

a35d77eRecommend Fortran compiler in installation guide

@slel slel changed the title MR4: Gfortran as a prerequisite Recommend Fortran compiler as a prerequisite Feb 14, 2019
@jhpalmieri
Copy link
Member

comment:10

On OS X, for what it's worth, I have installed gfortran (6.4.0) and I routinely build Sage with the built-in version of clang plus this gfortran. So maybe in an ideal world, the version of gfortran should match the C compiler, but it doesn't seem to be strictly necessary. Or have I just been getting lucky?

@jhpalmieri
Copy link
Member

comment:11

In more detail:

$ which gcc
/usr/bin/gcc
$ gcc --version
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 10.0.0 (clang-1000.11.45.5)
Target: x86_64-apple-darwin18.2.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
$ which gfortran
/usr/local/bin/gfortran
$ gfortran --version
GNU Fortran (GCC) 6.4.0
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

@dimpase
Copy link
Member

dimpase commented Feb 14, 2019

comment:12

Replying to @jhpalmieri:

On OS X, for what it's worth, I have installed gfortran (6.4.0) and I routinely build Sage with the built-in version of clang plus this gfortran. So maybe in an ideal world, the version of gfortran should match the C compiler, but it doesn't seem to be strictly necessary. Or have I just been getting lucky?

this is what we routinely do on OSX, so it does not look like a problem to me.

@jhpalmieri
Copy link
Member

comment:13

My comment was in response to the proposed change, which includes the line "it is necessary to have matching versions of these two compilers".

@slel
Copy link
Member

slel commented Feb 14, 2019

comment:14

Thanks for your feedback on my proposed phrasing in commit a35d77e:

A Fortran compiler (matching the C/C++ compiler) is recommended,
although not a strict requirement: if none is present, gfortran
will be built, and this might also trigger building gcc, since
it is necessary to have matching versions of these two compilers.
Thus having a Fortran compiler present and compatible with the C/C++
compiler (for example matching versions of gcc and gfortran,
or Clang and Flang) can make the build simpler and faster.

How about the following?

A Fortran compiler is recommended, although not a strict requirement:
if none is present, gfortran will be built, and this might also trigger
building gcc, depending on the OS and on what C/C++ compiler and what
version of it is present. Having a Fortran compiler compatible with the
C/C++ compiler (for example matching versions of gcc and gfortran,
or compatible versions of Clang and Flang, or of Clang and
gfortran) can thus save time and power when building Sage.

@jhpalmieri
Copy link
Member

comment:15

I'm happy with the revised version.

@embray
Copy link
Contributor

embray commented Mar 25, 2019

comment:16

Ticket retargeted after milestone closed (if you don't believe this ticket is appropriate for the Sage 8.8 release please retarget manually)

@embray embray modified the milestones: sage-8.7, sage-8.8 Mar 25, 2019
@embray
Copy link
Contributor

embray commented Jun 14, 2019

comment:17

Tickets still needing working or clarification should be moved to the next release milestone at the soonest (please feel free to revert if you think the ticket is close to being resolved).

@embray embray modified the milestones: sage-8.8, sage-8.9 Jun 14, 2019
@embray
Copy link
Contributor

embray commented Dec 30, 2019

comment:18

Ticket retargeted after milestone closed

@embray embray modified the milestones: sage-8.9, sage-9.1 Dec 30, 2019
@mkoeppe
Copy link
Contributor

mkoeppe commented Feb 8, 2020

comment:19

See also #26964, which generates the commands to install recommended system packages.

@mkoeppe
Copy link
Contributor

mkoeppe commented Feb 9, 2020

Dependencies: #26964

@mkoeppe mkoeppe removed this from the sage-9.1 milestone Feb 9, 2020
@mkoeppe
Copy link
Contributor

mkoeppe commented Feb 9, 2020

comment:21

#26964 is ready and takes care of this.

@orlitzky
Copy link
Contributor

orlitzky commented Apr 4, 2020

Reviewer: Michael Orlitzky

@fchapoton
Copy link
Contributor

comment:23

ok, thx

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

8 participants