-
-
Notifications
You must be signed in to change notification settings - Fork 11.3k
gfortran: 4.7. And now builds from source. #15941
Conversation
Apple's GCC 4.2 is getting long in the tooth and has to disappear sometime. There are only two reservations I have about upgrading GFortran:
I don't think point 1 is a practical issue at this time since I am not aware of any Fortran-based formulae that use the |
@Sharpie as you, I don't care for the first point. But the second is valid. Not sure though what to do. Gcc comes with it's own regression tests (but not as advanced as building R). |
The GCC regression tests seem good enough for me. Also don't care about |
I think the real solution to this problem is that we need to finish a CI system for Homebrew that checks packages and does the grunt-work of reviewing pull requests. Running a I'm for going forward with this as the current Fortran setup makes it trivially easy to roll back to the Apple binaries if something goes horribly wrong. |
I've finished a CI system for Homebrew. We don't have any hardware to run it on. |
If you make the |
@MikeMcQuaid a CI for Homebrew, dude? A dream! |
|
@samueljohn: My installation fails, looks like something's wrong with the install step. Also, sorry for the window-wrapped output. I was too impatient to recompile with my window sized larger. |
I think I know the cause. Looks like I do need to pass |
Also, how to handle conflicts with homebrew/dupes/gcc (specifically in #{share})? EDIT: I have a pull request for homebrew/dupes/gcc at https://github.com/Homebrew/homebrew-dupes/pull/116, as well as some thoughts about solving the conflicts. |
"--bindir=#{bin}", | ||
"--with-gmp=#{gmp.opt_prefix}", | ||
"--with-mpfr=#{mpfr.opt_prefix}", | ||
"--with-mpc=#{libmpc.opt_prefix}", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
using opt_prefix now.
@staticfloat should build now. Sorry about that. Was a last-minute-fuck-up. |
I would be in favor of a Homebrew-gcc or Homebrew-compilers. |
An idea to solve conflicts between multiple GCC installations: manphiz/homebrew-dupes@bd4d0fc |
@samueljohn; re-tested, compiles and runs OpenBLAS, arpack-ng, Julia, etc.... Seems like a winner to me! Now it just needs to be bottled. :) 👍 |
@adamv depending on Apple's future plans with @manphiz had some good thoughts about the co-existance of @staticfloat thanks for testing! I will continue my tests of this gfortran build for a bit and see how the coexistence with gcc can be assured. |
@samueljohn Clang is the future on OSX; I'd rather avoid GCC in core purely to push that. |
@MikeMcQuaid alright, then lets continue down the road with this separate gfortran formula. |
@Sharpie there are tests available via |
Ahh, NVM. I see what you are referring too. I agree, adding a full GCC to the main repo is a bigger can of worms than we want at the moment. |
@Sharpie Cool, glad we're agreed. I'm actively for getting gfortran compiling, bottled and in. |
@samueljohn This good to bottle? |
Not yet. Please give me another day for testing. |
No rush dude. Ping me when it is. |
Don't know if that is an issue; there is a little warning:
Then I added the option ( As I understand gcc, it's quite normal that not all pass and one should check with their website/ML. Here is the important part of the long log:
(On 10.8 with Xcode-only) As I understand, it's a very good sign that there are no unexpected failures or even errors. |
So only thing to test now is, if the |
Ah, well, and of course the conflicts with the |
My gcc was build with |
Yep, if I
|
There is an old issue open #8539 and I wonder what to do about that. In short, that is about how to use another compiler (clang, llvm-gcc) and link to libgfortran with In theory we could install the |
There are now left only four "todo"s:
|
I tend to use |
@MikeMcQuaid Unless you want a more specific caveat for 2.) this is ready to pull and test and bottle, I'd say. |
A modification of the gcc formula that builds gcc and rips of everything except gfortran. - For maintainers added the `--check` option to run make check-fortran right after build. - We have `brew test gfortran` now.
Add the caveat if people get confused. Looks good. Should I build the bottles with that optimised bootstrap flag? |
@MikeMcQuaid Okay, we defer the caveat for now. I would need to play around with that anyway. But I tested the profiledbootstrap on my machine (10.8, sandybridge, Xcode-only) and with --check. Works like charm. |
Like I said in #8539, this is a difficult problem to advise on since there can be multiple sub-folders in |
Pushed with bottle. |
Thanks. Also thanks for the explanation why -L does not work (good) here. |
Is there a way to force |
It should not build from source unless you throw some command line option. A normal |
If I let it continue, it goes through the entire compilation process. I don't have the environment variables defined that would screw this up either:
|
There are other things that disable bottles, for example a non-standard HOMEBREW_PREFIX. |
Yes, that makes perfect sense, and is indeed the case here. Thanks. I've updated the wiki page to reflect this. |
A modification of the gcc formula that builds gcc and rips of everything except gfortran. - For maintainers added the `--check` option to run make check-fortran right after build. - We have `brew test gfortran` now. Closes Homebrew#15941. Signed-off-by: Mike McQuaid <[email protected]>
A modification of the gcc formula that builds gcc and rips of everything except gfortran. - For maintainers added the `--check` option to run make check-fortran right after build. - We have `brew test gfortran` now. Closes Homebrew#15941. Signed-off-by: Mike McQuaid <[email protected]>
A modification of the gcc formula that builds gcc and rips of everything except gfortran. - For maintainers added the `--check` option to run make check-fortran right after build. - We have `brew test gfortran` now. Closes Homebrew#15941. Signed-off-by: Mike McQuaid <[email protected]>
A modification of the gcc formula that builds gcc and rips of
everything except gfortran.
We had a small discussion on the homebrew mailing list.
Here is the first version of a gfortran formula that does not suck.
By "suck" I mean download binaries of gcc 4.2 from research.att.com, un-pax, and remove all non-fortran parts.
This formula is based on the gcc formula and removes binaries other than gfortran (you cannot really build gfortran stand-alone). Because long build is loooooooong, we should bottle it.
Please let me know if this works for you. I will do some more tests the next days.