-
Notifications
You must be signed in to change notification settings - Fork 35
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
julia: Fix install. #6
Conversation
samueljohn
commented
Aug 23, 2012
- julia can build in parallel.
- Copy doc and examples to share/julia.
- CPPFLAGS/CFLAGS changing no longer needed.
- Use FC is set. (needed to support gfortran-4.7)
- Copy the "test" into lib/julia (is missing from install)
- julia.rb should not be executable (unix rights)
@staticfloat this is just to let you know my current (working) version of julia.rb. However |
This is going to change back as soon as the next version of OpenBLAS is released... which, in fact already happened. So I'm going to switch back to using OpenBLAS on Darwin nowish... |
@staticfloat then we should begin to check if Homebrew's keg-only OpenBLAS can be made to work with Julia. @StefanKarpinski is OpenBLAS faster or has it got more features? Thanks for the hint! |
@StefanKarpinski, right now, Homebrew's OpenBlas formula builds without LAPACK |
I believe that OpenBLAS recently surpassed the system BLAS and LAPACK in performance, so yes, these days it is. I also think it may have more features. It certainly seems to have all the features we've needed so far. I'm pretty sure we use the LAPACK part too, so you may want to enable that somehow, maybe optionally? Although, if someone is using OpenBLAS for BLAS, it's hard to imagine that they wouldn't also want LAPACK features based on OpenBLAS. I think that having SuiteSparse link against a different BLAS is ok but it will bloat the resisting binaries that link against both. @ViralBShah has done a lot of work trying to reduce this bloat in Julia, but it's a slog. |
Openblas was about 5-10% faster than Accelerate when I had tested (Use Do build openblas with LAPACK, as it patches some of the key LAPACK functions and results in higher performance than standalone LAPACK. This results in libopenblas, which includes both, BLAS and LAPACK. It is ok if suitesparse uses Accelerate - but it is preferable to use the same set of libraries everywhere. |
cp_r "test", "#{lib}/julia/" | ||
|
||
# link libglpk.0.dylib is installed but not libglpk. Todo: Fix the glpk formula! | ||
ln_s "#{Formula.factory('glpk').lib}/libglpk.dylib", "usr/lib" |
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.
What is broken about the glpk
formula? I get a libglpk.dylib
and libglpk.0.dylib
installed in my HOMEBREW_PREFIX/lib
.
I like copying |
wait... i repush (install working) |
@@ -30,10 +33,6 @@ def patches | |||
|
|||
def install | |||
ENV.fortran | |||
ENV.deparallelize |
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.
really I never had problems with parallel builds. It builds blazing fast (on 4-core i7 here), so it makes a difference.
If you insist on it, why not adding if build.debug?
(not tested if it is called that way, may be named similar)
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.
I have never had problems with parallel builds either; It was just because when having troubles installed dependencies (like I did earlier on) it made it very difficult for other users to figure out what was going wrong. Having it as if build.debug?
is a wonderful idea, thanks!
This all looks really good, I'm going to merge it with a few changes;
|
@@ -45,11 +44,15 @@ def install | |||
# Build up list of build options | |||
build_opts = ["PREFIX=#{prefix}"] | |||
|
|||
# Tell julia about our gfortran | |||
# (this enables to use gfortran-4.7 from the tap homebrew-dupes/gcc.rb) | |||
build_opts << "FC=#{ENV['FC']}" |
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.
This does not hurt if you use the usual brew install gfortran
. I prefer the brew install gcc --enable-fortran
in order to get the 4.7 version (which I need for numpy/scipy). That version rocks. But I need to set FC
, since hombrew-dupes appends the "-4.7" and most software doesn't find gfortran then.
- julia can build in parallel. - Copy doc and examples to share/julia. - CPPFLAGS/CFLAGS changing no longer needed. - Use FC is set. (needed to support gfortran-4.7) - Copy the "test" into lib/julia (is missing from install) - julia.rb should not be executable (unix rights)
build_opts << "USE_SYSTEM_#{dep}=1" | ||
end | ||
|
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.
brew audit
complains about trailing whitespace. Some git thing or so.
|
So from now on, I won't |
Cool, thanks for all your hard work! I'm hoping that either the changes On Fri, Aug 24, 2012 at 10:58 AM, Samuel John [email protected]:
|
Note to self; next time just auto-merge and add in changes afterwards, instead of trying to fix up stuff on remote branch and then merging in. :P |
Thanks for pulling! When using gfortran-4.7, I needed to do the following:
The fortranflags are important. And for fftw, just try to |
Oh, and don't forget to |
Then, get a good ☕. Or two. |
Right, I've uninstalled and reinstalled On Fri, Aug 24, 2012 at 11:29 AM, Samuel John [email protected]:
|
I just built julia successfully from your master branch. I If you still have difficulties in installing julia, just open a new issue here on your repro, and ping me. I nee the full log, what |
Already switched: JuliaLang/julia@926c073. |
Damn fast, @StefanKarpinski! How can I tell for sure (speak: where to @ViralBShah Thanks for you explanation. I will use |
I did say "nowish" :-) |
@samueljohn; I ran into a lot of issues when not including Still compiling gcc...... :P |
@staticfloat I need to see your complete log to say anything. Also, please Surely we can fix it! |
Here's my install log, without |
@staticfloat Just to be sure |
I do -viral On 25-Aug-2012, at 2:13 AM, Samuel John wrote:
|
Thanks. Then my julia build from 11h ago is still linked to accelerate. I guess thats what he meant with "nowish". |
@samueljohn; I just remembered that you were having trouble with the web REPL; Instead of running |
@staticfloat genius! That worked :-) |