Julia now builds on master. No longer need to disable threading. Make.user for me is now:
override USE_SYSTEM_BLAS = 1 override LIBBLAS = -L/usr/lib64/atlas -lsatlas override LIBBLASNAME = libsatlas override USE_BLAS64 = 0 -viral > On Jul 19, 2016, at 7:00 PM, Viral Shah <vi...@fourthlion.in> wrote: > > I am testing on CentOS Linux release 7.2.1511 (AltArch) > > This is the line I am using: > export LD_LIBRARY_PATH=/usr/lib64/atlas:$LD_LIBRARY_PATH > > Our README says LAPACK >= 3.5, so I suspect the system lapack won’t work out. > Assuming that symbol is present in the libsatlas file, perhaps try also > copying it in julia’s usr/lib. > > The other thing is to run make again to make sure that all the rpath and > linking stuff has gone through fine. Or perhaps make cleanall and make. > > -viral > > > >> On Jul 19, 2016, at 6:55 PM, James Fairbanks <jpfairba...@gmail.com> wrote: >> >> For completeness I should say that the julia executable appears not to have >> the libjulia.so correctly linked. >> >> $ ./julia >> ./julia: symbol lookup error: /home/jpf/julia/usr/bin/../lib/liblapack.so: >> undefined symbol: lsame_ >> $ ldd ./julia >> linux-vdso64.so.1 => (0x00003fff9d140000) >> libjulia.so.0.5 => not found >> libdl.so.2 => /lib64/libdl.so.2 (0x00003fff9d100000) >> librt.so.1 => /lib64/power8/librt.so.1 (0x00003fff9d0d0000) >> libpthread.so.0 => /lib64/power8/libpthread.so.0 (0x00003fff9d090000) >> libc.so.6 => /lib64/power8/libc.so.6 (0x00003fff9ceb0000) >> /lib64/ld64.so.2 (0x00000000251e0000) >> >> $ ldd ./usr/lib/libjulia.so >> linux-vdso64.so.1 => (0x00003fff99680000) >> libLLVM-3.8.so => /home/jpf/julia/./usr/lib/libLLVM-3.8.so >> (0x00003fff97d80000) >> libdl.so.2 => /lib64/libdl.so.2 (0x00003fff97d40000) >> librt.so.1 => /lib64/power8/librt.so.1 (0x00003fff97d10000) >> libpthread.so.0 => /lib64/power8/libpthread.so.0 (0x00003fff97cd0000) >> libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00003fff97b50000) >> libm.so.6 => /lib64/power8/libm.so.6 (0x00003fff97a60000) >> libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00003fff97a20000) >> libc.so.6 => /lib64/power8/libc.so.6 (0x00003fff97840000) >> libz.so.1 => /lib64/libz.so.1 (0x00003fff97800000) >> /lib64/ld64.so.2 (0x0000000035a00000) >> >> On Tuesday, July 19, 2016 at 6:30:34 PM UTC-4, James Fairbanks wrote: >> Adding /usr/lib64/atlas was insufficient so I created a symlink in ln -s >> /usr/lib/atlas/libsatlas.so.3 /usr/lib/atlas/libsatlas.so >> This allowed the build process to complete but leads to an error when >> running the julia executable. >> >> The error is: >> /home/jpf/julia/usr/bin/julia: symbol lookup error: >> /home/jpf/julia/usr/bin/../lib/liblapack.so: undefined symbol: lsame_ >> >> Is it a good idea to go with the RHEL ppc64le system lapack instead of >> having julia build lapack against system blas? >> I have this version of lapack available from the system. >> >> Available Packages >> Name : lapack >> Arch : ppc64le >> Version : 3.4.2 >> Release : 5.el7 >> Size : 4.9 M >> Repo : rhel-7-for-power-le-rpms/7Server/ppc64le >> >> >> Thanks, >> James >> On Tuesday, July 19, 2016 at 4:46:22 PM UTC-4, Viral Shah wrote: >> >> Yes - I forgot to mention that. On the machine I am using, I had to add >> /usr/lib64/atlas or something like that to LD_LIBRARY_PATH. I can’t login at >> the moment for some reason, or else I could have retrieved the exact line. >> >> >> -viral >> >> >> >>> On Jul 19, 2016, at 4:12 PM, James Fairbanks <jpfai...@gmail.com> wrote: >>> >>> I set it up like you said and got the following error >>> >>> $ make >>> ... a bunch of stuff successfully building ... >>> /usr/bin/ld: cannot find -lsatlas >>> collect2: error: ld returned 1 exit status >>> make[1]: *** [build/lapack-3.5.0/liblapack.so] Error 1 >>> make: *** [julia-deps] Error 2 >>> >>> Do I need to add something to LD_LIBRARY_PATH in the makefile or bash >>> environment? >>> >>> On Tuesday, July 19, 2016 at 3:59:55 PM UTC-4, Viral Shah wrote: >>> There is some old ATLAS stuff in there to build atlas that hasn’t been used >>> for a very long time. We are going to delete it. If we find this atlas >>> stuff to be generally useful, we can bring it into the Makefile - but I >>> definitely don’t want to support a source build. >>> >>> override USE_SYSTEM_BLAS = 1 >>> override LIBBLAS = -L/usr/lib64/atlas -lsatlas >>> override LIBBLASNAME = libsatlas >>> override USE_BLAS64 = 0 >>> override JULIA_THREADS := 0 >>> >>> Use the vs/ccall-ppc branch that I just pushed, with the above Make.user. >>> Master still doesn’t work. >>> >>> -viral >>> >>> >>>> On Jul 19, 2016, at 3:49 PM, James Fairbanks <jpfai...@gmail.com> wrote: >>>> >>>> You are overriding the SYSTEM_BLAS with ATLAS. There is a USE_ATLAS >>>> option. Sould that work? >>>> >>>> the relevant part from Make.inc is >>>> >>>> USE_ATLAS := 0 >>>> ATLAS_LIBDIR := $(build_libdir) >>>> # or ATLAS_LIBDIR := /path/to/atlas >>>> >>>> >>>> >>>> On Saturday, July 9, 2016 at 2:07:38 AM UTC-4, Viral Shah wrote: >>>> The current master now seems to be in good shape for Power, for those >>>> interested in trying it out. OpenBLAS is still working out a few bugs, but >>>> in the meanwhile, I was able to successfully link against Atlas using the >>>> following Make.user: >>>> >>>> override USE_SYSTEM_BLAS = 1 >>>> override LIBBLAS = -L/usr/lib64/atlas -lsatlas >>>> override LIBBLASNAME = libsatlas >>>> override USE_BLAS64 = 0 >>>> >>>> Apart from multi-threading, all the other tests passed. >>>> >>>> -viral >>>> >>> >> >