Re: [julia-users] Re: Failure of installing Julia 0.4 (latest master) on Mac OS X 10.10

2014-10-30 Thread Jameson Nash
one option would be to split deps/Makefile into N different deps/ABC.make
files (one for each dependency), so that each makefile could have a
dependency on itself

otherwise, authors just need to be careful to introduce a makefile
dependency on the new build artifact whenever they add a patch file, or a
different output, etc.

On Thu, Oct 30, 2014 at 1:46 AM, Tony Kelman t...@kelman.net wrote:

  Anyone have a dependency graph in mind?

 I think a dozen or so of us have the dependency graph more or less
 memorized.

 Since I'm pseudo-patching arpack via command-line -D flags, a stale copy
 of it seems to reuse cached autotools-generated copies of the makefiles. I
 think what we would effectively need to make rebuilds happen reliably would
 be some way of having any git pull that modifies the relevant flags or
 section of deps/Makefile also touch the corresponding configure scripts to
 make them rerun. And any time we add or modify a patch to a dependency, the
 only reliable ways I've found of forcing them to apply are either manually
 applying them, or cleaning out the existing sources which requires make -C
 deps distclean-xyz (and hence a re-downloading of the tarball and complete
 rebuild of that dependency).

 I'm sort of wishing we could do out-of-tree builds for some of this, to
 better separate sources from build objects. But some of the deps like
 openblas don't really support out-of-tree builds at all. Grand plan would
 be rewriting the thousands of lines of Makefile logic into CMake, which
 might handle all of this better with its caching mechanism. That might be a
 terrible idea and not work at all though, someone probably just has to try
 it and see whether it ends up better or worse. Cross-compilation (which
 only a few of us do very often) with CMake was... difficult... initially,
 but I eventually changed my mind on it and came to the conclusion that it
 just takes a really verbose invocation (or a toolchain file where you write
 down the long set of flags you need) to get working.





[julia-users] Re: Failure of installing Julia 0.4 (latest master) on Mac OS X 10.10

2014-10-29 Thread Jeff Waller
Also having problems after a fetch...


lots of link errors followed by
  _ztrsen_, referenced from
_zneupd_ in zneupd.o
_zunm2r_, referenced from:
 _zneupd_ in zneupd.o

ld: symbol(s) not found for architecture x86_64
collect2: error: ld returned 1 exit status
make[4]: *** [libarpack.la] Error 1
make[3]: *** [all-recursive] Error 1
make[2]: *** [arpack-ng-3.1.5/.libs/libarpack.dylib] Error 2
make[1]: *** [julia-release] Error 2
make: *** [release] Error 2


was fixed by rm -rf libarpack-ng   and SuiteSparce and then make

previous to that I had to remove and rebuild llvm

I think what happens is that sometimes if you let deps grow too far out of 
date, they don't 
work with each other any more (makes sense) and the build process get 
wedged, it can't
even figure out what to do.

but who wants to rebuild deps entirely every time? no one.

Seems like you need to have a way to indicate inter-dep dependency, so that 
change to 
1 particular dep will cascade rebuild to all the other dependencies 
necessary but no more.

it may be in this case that if any one of

arpack-ng
SuiteSparce
objconv

change major or minor numbers, they all have to be rebuilt.

Anyone have a dependency graph in mind?




[julia-users] Re: Failure of installing Julia 0.4 (latest master) on Mac OS X 10.10

2014-10-28 Thread Tony Kelman
Part of that might be my fault, we added the objconv utility recently as a 
build-time dependency to handle renaming of symbols in OpenBLAS on Mac, to 
avoid LP64-vs-ILP64 ABI incompatibilities.

Can you tell me if you have a deps/objconv folder, and if so what's in it? 
Does clang++ -o objconv -O2 *.cpp in that folder work?


On Tuesday, October 28, 2014 3:53:57 AM UTC-7, Dahua Lin wrote:

 I just make a fresh clone of Julia 0.4, and when I did make, I get the 
 following error:

 Note: The following floating-point exceptions are signalling: IEEE_DENORMAL
 make[4]: /Users/dhlin/julia-0.4/deps/objconv/objconv: No such file or 
 directory
 make[4]: *** [../libopenblasp-r0.2.12.a.renamed] Error 1
 make[3]: *** [shared] Error 2
 *** Clean the OpenBLAS build with 'make -C deps clean-openblas'. Rebuild 
 with 'make OPENBLAS_USE_THREAD=0 if OpenBLAS had trouble linking 
 libpthread.so, and with 'make OPENBLAS_TARGET_ARCH=NEHALEM' if there were 
 errors building SandyBridge support. Both these options can also be used 
 simultaneously. ***
 make[2]: *** [openblas-v0.2.12/libopenblas.dylib] Error 1
 make[1]: *** [julia-release] Error 2
 make: *** [release] Error 2

 Not sure why it raises IEEE_DENORMAL, or OpenBLAS just doesn't work in 
 Yosemite?

 Dahua





[julia-users] Re: Failure of installing Julia 0.4 (latest master) on Mac OS X 10.10

2014-10-28 Thread Dahua Lin
deps/objconv is not there.


On Tuesday, October 28, 2014 7:14:11 PM UTC+8, Tony Kelman wrote:

 Part of that might be my fault, we added the objconv utility recently as a 
 build-time dependency to handle renaming of symbols in OpenBLAS on Mac, to 
 avoid LP64-vs-ILP64 ABI incompatibilities.

 Can you tell me if you have a deps/objconv folder, and if so what's in it? 
 Does clang++ -o objconv -O2 *.cpp in that folder work?


 On Tuesday, October 28, 2014 3:53:57 AM UTC-7, Dahua Lin wrote:

 I just make a fresh clone of Julia 0.4, and when I did make, I get the 
 following error:

 Note: The following floating-point exceptions are signalling: 
 IEEE_DENORMAL
 make[4]: /Users/dhlin/julia-0.4/deps/objconv/objconv: No such file or 
 directory
 make[4]: *** [../libopenblasp-r0.2.12.a.renamed] Error 1
 make[3]: *** [shared] Error 2
 *** Clean the OpenBLAS build with 'make -C deps clean-openblas'. Rebuild 
 with 'make OPENBLAS_USE_THREAD=0 if OpenBLAS had trouble linking 
 libpthread.so, and with 'make OPENBLAS_TARGET_ARCH=NEHALEM' if there were 
 errors building SandyBridge support. Both these options can also be used 
 simultaneously. ***
 make[2]: *** [openblas-v0.2.12/libopenblas.dylib] Error 1
 make[1]: *** [julia-release] Error 2
 make: *** [release] Error 2

 Not sure why it raises IEEE_DENORMAL, or OpenBLAS just doesn't work in 
 Yosemite?

 Dahua





Re: [julia-users] Re: Failure of installing Julia 0.4 (latest master) on Mac OS X 10.10

2014-10-28 Thread Tony Kelman
Damn, I seem to have gotten the dependencies wrong here 
https://github.com/JuliaLang/Julia/pull/8734/files#diff-3ba529ae517f6b57803af0502f52a40bR840
 then? Steven Johnson said he was able to get things to work, I thought. Did it 
look like all of openblas was rebuilding from scratch?

You may have to do `make -C deps install-objconv` manually, but this really 
shouldn’t be necessary for everyone to do manually if I did things right.

For everyone else who builds Julia from source regularly, if you want to rename 
your openblas symbols, follow the steps here 
https://github.com/JuliaLang/julia/pull/8734#issuecomment-59978800 - this 
assumes you’ve built openblas recently enough that you have an existing copy of 
v0.2.12. Check the results with `Base.blas_vendor()`, it should say :openblas64 
if your library has renamed symbols. I also hope completely fresh from-scratch 
builds on mac should work properly, or if you don’t want to rename your 
openblas symbols yet (particularly if you plan on bisecting back and forth 
through the git history) it should leave your existing built openblas library 
alone. Let’s see if we can figure out what’s going wrong in Dahua’s case. Sorry 
for the trouble.


From: Dahua Lin 
Sent: Tuesday, October 28, 2014 4:58 AM
To: julia-users@googlegroups.com 
Subject: [julia-users] Re: Failure of installing Julia 0.4 (latest master) on 
Mac OS X 10.10

deps/objconv is not there. 


On Tuesday, October 28, 2014 7:14:11 PM UTC+8, Tony Kelman wrote: 
  Part of that might be my fault, we added the objconv utility recently as a 
build-time dependency to handle renaming of symbols in OpenBLAS on Mac, to 
avoid LP64-vs-ILP64 ABI incompatibilities.

  Can you tell me if you have a deps/objconv folder, and if so what's in it? 
Does clang++ -o objconv -O2 *.cpp in that folder work?


  On Tuesday, October 28, 2014 3:53:57 AM UTC-7, Dahua Lin wrote: 
I just make a fresh clone of Julia 0.4, and when I did make, I get the 
following error: 

Note: The following floating-point exceptions are signalling: IEEE_DENORMAL
make[4]: /Users/dhlin/julia-0.4/deps/objconv/objconv: No such file or 
directory
make[4]: *** [../libopenblasp-r0.2.12.a.renamed] Error 1
make[3]: *** [shared] Error 2
*** Clean the OpenBLAS build with 'make -C deps clean-openblas'. Rebuild 
with 'make OPENBLAS_USE_THREAD=0 if OpenBLAS had trouble linking libpthread.so, 
and with 'make OPENBLAS_TARGET_ARCH=NEHALEM' if there were errors building 
SandyBridge support. Both these options can also be used simultaneously. ***
make[2]: *** [openblas-v0.2.12/libopenblas.dylib] Error 1
make[1]: *** [julia-release] Error 2
make: *** [release] Error 2

Not sure why it raises IEEE_DENORMAL, or OpenBLAS just doesn't work in 
Yosemite?

Dahua




Re: [julia-users] Re: Failure of installing Julia 0.4 (latest master) on Mac OS X 10.10

2014-10-28 Thread Dahua Lin
This is a completely fresh clone (directly from Github) -- so there is 
nothing there left from some previous version.

I open an issue: https://github.com/JuliaLang/julia/issues/8842

Dahua


On Tuesday, October 28, 2014 8:13:21 PM UTC+8, Tony Kelman wrote:

   Damn, I seem to have gotten the dependencies wrong here 
 https://github.com/JuliaLang/Julia/pull/8734/files#diff-3ba529ae517f6b57803af0502f52a40bR840
  
 then? Steven Johnson said he was able to get things to work, I thought. Did 
 it look like all of openblas was rebuilding from scratch?
  
 You may have to do `make -C deps install-objconv` manually, but this 
 really shouldn’t be necessary for everyone to do manually if I did things 
 right.
  
 For everyone else who builds Julia from source regularly, if you want to 
 rename your openblas symbols, follow the steps here 
 https://github.com/JuliaLang/julia/pull/8734#issuecomment-59978800 - this 
 assumes you’ve built openblas recently enough that you have an existing 
 copy of v0.2.12. Check the results with `Base.blas_vendor()`, it should say 
 :openblas64 if your library has renamed symbols. I also hope completely 
 fresh from-scratch builds on mac should work properly, or if you don’t want 
 to rename your openblas symbols yet (particularly if you plan on bisecting 
 back and forth through the git history) it should leave your existing built 
 openblas library alone. Let’s see if we can figure out what’s going wrong 
 in Dahua’s case. Sorry for the trouble.
  
   
  *From:* Dahua Lin javascript: 
 *Sent:* Tuesday, October 28, 2014 4:58 AM
 *To:* julia...@googlegroups.com javascript: 
 *Subject:* [julia-users] Re: Failure of installing Julia 0.4 (latest 
 master) on Mac OS X 10.10
  
  deps/objconv is not there. 
  

 On Tuesday, October 28, 2014 7:14:11 PM UTC+8, Tony Kelman wrote: 

  Part of that might be my fault, we added the objconv utility recently 
 as a build-time dependency to handle renaming of symbols in OpenBLAS on 
 Mac, to avoid LP64-vs-ILP64 ABI incompatibilities.
  
 Can you tell me if you have a deps/objconv folder, and if so what's in 
 it? Does clang++ -o objconv -O2 *.cpp in that folder work?


 On Tuesday, October 28, 2014 3:53:57 AM UTC-7, Dahua Lin wrote: 

 I just make a fresh clone of Julia 0.4, and when I did make, I get the 
 following error: 
  
   Note: The following floating-point exceptions are signalling: 
 IEEE_DENORMAL
 make[4]: /Users/dhlin/julia-0.4/deps/objconv/objconv: No such file or 
 directory
 make[4]: *** [../libopenblasp-r0.2.12.a.renamed] Error 1
 make[3]: *** [shared] Error 2
 *** Clean the OpenBLAS build with 'make -C deps clean-openblas'. Rebuild 
 with 'make OPENBLAS_USE_THREAD=0 if OpenBLAS had trouble linking 
 libpthread.so, and with 'make OPENBLAS_TARGET_ARCH=NEHALEM' if there were 
 errors building SandyBridge support. Both these options can also be used 
 simultaneously. ***
 make[2]: *** [openblas-v0.2.12/libopenblas.dylib] Error 1
 make[1]: *** [julia-release] Error 2
 make: *** [release] Error 2

 Not sure why it raises IEEE_DENORMAL, or OpenBLAS just doesn't work in 
 Yosemite?
  
 Dahua
  
  
  



Re: [julia-users] Re: Failure of installing Julia 0.4 (latest master) on Mac OS X 10.10

2014-10-28 Thread Dahua Lin
It builds successfully after I did make -C deps install-objconv. However, 
I think the make procedure should automatically do that ...


On Wednesday, October 29, 2014 8:32:32 AM UTC+8, Dahua Lin wrote:

 This is a completely fresh clone (directly from Github) -- so there is 
 nothing there left from some previous version.

 I open an issue: https://github.com/JuliaLang/julia/issues/8842

 Dahua


 On Tuesday, October 28, 2014 8:13:21 PM UTC+8, Tony Kelman wrote:

   Damn, I seem to have gotten the dependencies wrong here 
 https://github.com/JuliaLang/Julia/pull/8734/files#diff-3ba529ae517f6b57803af0502f52a40bR840
  
 then? Steven Johnson said he was able to get things to work, I thought. Did 
 it look like all of openblas was rebuilding from scratch?
  
 You may have to do `make -C deps install-objconv` manually, but this 
 really shouldn’t be necessary for everyone to do manually if I did things 
 right.
  
 For everyone else who builds Julia from source regularly, if you want to 
 rename your openblas symbols, follow the steps here 
 https://github.com/JuliaLang/julia/pull/8734#issuecomment-59978800 - 
 this assumes you’ve built openblas recently enough that you have an 
 existing copy of v0.2.12. Check the results with `Base.blas_vendor()`, it 
 should say :openblas64 if your library has renamed symbols. I also hope 
 completely fresh from-scratch builds on mac should work properly, or if you 
 don’t want to rename your openblas symbols yet (particularly if you plan on 
 bisecting back and forth through the git history) it should leave your 
 existing built openblas library alone. Let’s see if we can figure out 
 what’s going wrong in Dahua’s case. Sorry for the trouble.
  
   
  *From:* Dahua Lin 
 *Sent:* Tuesday, October 28, 2014 4:58 AM
 *To:* julia...@googlegroups.com 
 *Subject:* [julia-users] Re: Failure of installing Julia 0.4 (latest 
 master) on Mac OS X 10.10
  
  deps/objconv is not there. 
  

 On Tuesday, October 28, 2014 7:14:11 PM UTC+8, Tony Kelman wrote: 

  Part of that might be my fault, we added the objconv utility recently 
 as a build-time dependency to handle renaming of symbols in OpenBLAS on 
 Mac, to avoid LP64-vs-ILP64 ABI incompatibilities.
  
 Can you tell me if you have a deps/objconv folder, and if so what's in 
 it? Does clang++ -o objconv -O2 *.cpp in that folder work?


 On Tuesday, October 28, 2014 3:53:57 AM UTC-7, Dahua Lin wrote: 

 I just make a fresh clone of Julia 0.4, and when I did make, I get 
 the following error: 
  
   Note: The following floating-point exceptions are signalling: 
 IEEE_DENORMAL
 make[4]: /Users/dhlin/julia-0.4/deps/objconv/objconv: No such file or 
 directory
 make[4]: *** [../libopenblasp-r0.2.12.a.renamed] Error 1
 make[3]: *** [shared] Error 2
 *** Clean the OpenBLAS build with 'make -C deps clean-openblas'. 
 Rebuild with 'make OPENBLAS_USE_THREAD=0 if OpenBLAS had trouble linking 
 libpthread.so, and with 'make OPENBLAS_TARGET_ARCH=NEHALEM' if there were 
 errors building SandyBridge support. Both these options can also be used 
 simultaneously. ***
 make[2]: *** [openblas-v0.2.12/libopenblas.dylib] Error 1
 make[1]: *** [julia-release] Error 2
 make: *** [release] Error 2

 Not sure why it raises IEEE_DENORMAL, or OpenBLAS just doesn't work 
 in Yosemite?
  
 Dahua