I think the problem here is that we might be using something that requires a certain version of BLAS or LAPACK, or possibly a patched LAPACK or something. We get a patched LAPACK when we build OpenBLAS. I've directly included Andreas in this reply, as he's the kind of guy that would have a good idea as to what's going on here. -E
On Tue, Dec 16, 2014 at 10:03 AM, Valentin Churavy <[email protected]> wrote: > > So I narrowed it down to combining the system's blas with Julia's > suitesparse. In the tests I made laplack has no influence. Should I file an > issue against Julia or with the Archlinux package? What are the Fedora > packages bundling? > > USE_SYSTEM_BLAS=1 \ > USE_SYSTEM_SUITESPARSE=0 \ > > On Tuesday, 16 December 2014 18:07:23 UTC+1, Valentin Churavy wrote: >> >> Ok setting >> USE_SYSTEM_BLAS=0 \ >> USE_SYSTEM_LAPACK=0 \ >> USE_SYSTEM_SUITESPARSE=0 \ >> >> Make the problem go away. So it is the interaction between the system >> blas/lapack and the built suitesparese. Are there any patches that julia >> carries over suitesparse 4.4.1? >> >> >> On Tuesday, 16 December 2014 17:28:28 UTC+1, Valentin Churavy wrote: >>> >>> So using >>> >>> make \ >>> USE_SYSTEM_LLVM=0 \ >>> USE_SYSTEM_LIBUNWIND=1 \ >>> USE_SYSTEM_READLINE=0 \ >>> USE_SYSTEM_PCRE=1 \ >>> USE_SYSTEM_LIBM=1 \ >>> USE_SYSTEM_OPENLIBM=0 \ >>> USE_SYSTEM_OPENSPECFUN=0 \ >>> USE_SYSTEM_BLAS=1 \ >>> USE_SYSTEM_LAPACK=1 \ >>> USE_SYSTEM_FFTW=1 \ >>> USE_SYSTEM_GMP=1 \ >>> USE_SYSTEM_MPFR=1 \ >>> USE_SYSTEM_ARPACK=1 \ >>> USE_SYSTEM_SUITESPARSE=0 \ >>> USE_SYSTEM_ZLIB=1 \ >>> USE_SYSTEM_GRISU=0 \ >>> USE_SYSTEM_RMATH=0 \ >>> USE_SYSTEM_LIBUV=0 \ >>> USE_SYSTEM_UTF8PROC=0 \ >>> USE_MKL=0 \ >>> USE_BLAS64=0 \ >>> USE_LLVM_SHLIB=0 >>> >>> leads to the error observed by me and Andrei, can anybody not using Arch >>> try that out? >>> >>> On Tuesday, 16 December 2014 17:07:55 UTC+1, Valentin Churavy wrote: >>>> >>>> So building it from the PKGBUILD leads to the same error. I am now >>>> building it with the same make options from the tar.gz on the Julia >>>> download page. >>>> >>>> Andrei we probably have to build other parts that interact with >>>> suitesparse from source instead of using the Arch ones. But if the problem >>>> persists while using the tarball, then at least other people on non-Arch >>>> distros can try to see if it works for them and which interaction leads to >>>> the error. >>>> >>>> For the time being you can call full(A) on your sparse matrix to >>>> convert it to a dense matrix and circumvent the problem >>>> >>>> On Tuesday, 16 December 2014 16:52:18 UTC+1, Andrei Berceanu wrote: >>>>> >>>>> So if your suspicion is correct, setting USE_SYSTEM_SUITESPARSE=1 should >>>>> fix this, right? >>>>> Let me know how it goes :) >>>>> >>>>> On Tuesday, December 16, 2014 3:19:43 PM UTC+1, Valentin Churavy wrote: >>>>>> >>>>>> So your system setup is exactly the same (except me running on CPU: >>>>>> Intel(R) Core(TM) i5-2520M CPU @ 2.50GHz) and I can conform that the >>>>>> following code >>>>>> >>>>>> A = sparse([rand() + rand() * im for i in 1:100, j in 1:100]) >>>>>> B = [rand() + rand() * im for i in 1:100] >>>>>> A\B >>>>>> >>>>>> leads to the following error: >>>>>> julia: symbol lookup error: /usr/bin/../lib/julia/libcholmod.so: >>>>>> undefined symbol: zpotrf_ >>>>>> >>>>>> pacman -Qo /usr/lib/libcholmod.so >>>>>> /usr/lib/libcholmod.so is owned by suitesparse 4.4.1-1 >>>>>> >>>>>> *but* the PKGBUILD at https://projects.archlinux. >>>>>> org/svntogit/community.git/tree/trunk/PKGBUILD?h=packages/julia >>>>>> tells me that the Julia package was build with USE_SYSTEM_SUITESPARSE >>>>>> =0 >>>>>> >>>>>> I am currently building the Julia from the PKGBUILD in order to >>>>>> confirm that these build-options lead to the problem. >>>>>> >>>>>> Best, >>>>>> Valentin >>>>>> >>>>>> On Tuesday, 16 December 2014 11:59:51 UTC+1, Andrei Berceanu wrote: >>>>>>> >>>>>>> I now have a more accurate description of when the error happens. If >>>>>>> I try to solve the following linear system >>>>>>> >>>>>>> >>>>>>> *A* >>>>>>> >>>>>>> *1681x1681 sparse matrix with 8321 Complex{Float64} entries: >>>>>>> [1 , 1] = -10.95+0.001im >>>>>>> [2 , 1] = 0.415415-0.909632im >>>>>>> [42 , 1] = 1.0+0.0im >>>>>>> [1 , 2] = 0.415415+0.909632im >>>>>>> [2 , 2] = -10.56+0.001im >>>>>>> [3 , 2] = 0.415415-0.909632im >>>>>>> [43 , 2] = 1.0+0.0im >>>>>>> [2 , 3] = 0.415415+0.909632im >>>>>>> [3 , 3] = -10.19+0.001im >>>>>>> [4 , 3] = 0.415415-0.909632im >>>>>>> ⋮ >>>>>>> [1638, 1679] = 1.0+0.0im >>>>>>> [1678, 1679] = 0.415415-0.909632im >>>>>>> [1679, 1679] = -10.19+0.001im >>>>>>> [1680, 1679] = 0.415415+0.909632im >>>>>>> [1639, 1680] = 1.0+0.0im >>>>>>> [1679, 1680] = 0.415415-0.909632im >>>>>>> [1680, 1680] = -10.56+0.001im >>>>>>> [1681, 1680] = 0.415415+0.909632im >>>>>>> [1640, 1681] = 1.0+0.0im >>>>>>> [1680, 1681] = 0.415415-0.909632im >>>>>>> [1681, 1681] = -10.95+0.001im* >>>>>>> >>>>>>> >>>>>>> >>>>>>> *B* >>>>>>> >>>>>>> *1681-element Array{Complex{Float64},1}: >>>>>>> 0.525444+0.850828im >>>>>>> 0.644642+0.764485im >>>>>>> -0.658926-0.752208im >>>>>>> -0.653119+0.757256im >>>>>>> -0.684803+0.728728im >>>>>>> 0.499568-0.866275im >>>>>>> -0.362176-0.93211im >>>>>>> 0.87001+0.493034im >>>>>>> -0.616929-0.787019im >>>>>>> 0.698366-0.715741im >>>>>>> -0.275131-0.961407im >>>>>>> -0.984546-0.175127im >>>>>>> -0.857186+0.515007im >>>>>>> ⋮ >>>>>>> -0.148487-0.988914im >>>>>>> 0.860544-0.509376im >>>>>>> -0.929042+0.369975im >>>>>>> -0.812528-0.582923im >>>>>>> -0.972683-0.232138im >>>>>>> -0.449449+0.893306im >>>>>>> -0.929623-0.368512im >>>>>>> 0.950785+0.309852im >>>>>>> -0.309421-0.950925im >>>>>>> 0.115447+0.993314im >>>>>>> 0.685855+0.727738im >>>>>>> -0.215699+0.97646im * >>>>>>> >>>>>>> >>>>>>> *A\B* >>>>>>> >>>>>>> *julia: symbol lookup error: /usr/bin/../lib/julia/libcholmod.so: >>>>>>> undefined symbol: zpotrf_* >>>>>>> This is the output in REPL (followed by a crash), in IJulia I simply >>>>>>> get a popup saying the kernel died. >>>>>>> >>>>>>> On Tuesday, December 16, 2014 10:34:27 AM UTC+1, Andrei Berceanu >>>>>>> wrote: >>>>>>>> >>>>>>>> Ok, so here is the output from versioninfo() from inside the Julia >>>>>>>> REPL: >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> *Julia Version 0.3.3Commit b24213b (2014-11-23 20:19 UTC)Platform >>>>>>>> Info: System: Linux (x86_64-unknown-linux-gnu) CPU: Intel(R) Xeon(R) >>>>>>>> CPU X5650 @ 2.67GHz WORD_SIZE: 64 BLAS: libblas LAPACK: >>>>>>>> liblapack LIBM: libm LLVM: libLLVM-3.3* >>>>>>>> >>>>>>>> and here is the output of `pacman -Qi julia blas lapack` >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> *Name : juliaVersion : 2:0.3.3-1Description : >>>>>>>> High-level, high-performance, dynamic programming languageArchitecture >>>>>>>> : >>>>>>>> x86_64URL : http://julialang.org/ >>>>>>>> <http://julialang.org/>Licenses : GPLGroups : >>>>>>>> NoneProvides : NoneDepends On : arpack fftw git gmp >>>>>>>> libunwind mpfr pcre zlib lapackOptional Deps : gnuplot: If using >>>>>>>> the >>>>>>>> Gaston Package from julia [installed]Required By : NoneOptional For >>>>>>>> : >>>>>>>> NoneConflicts With : NoneReplaces : NoneInstalled Size : 54741.00 >>>>>>>> KiBPackager : Alexander F Rødseth <[email protected]>Build Date >>>>>>>> : >>>>>>>> Thu 27 Nov 2014 01:54:38 PM CETInstall Date : Thu 11 Dec 2014 >>>>>>>> 05:47:45 PM >>>>>>>> CETInstall Reason : Explicitly installedInstall Script : YesValidated >>>>>>>> By >>>>>>>> : SignatureName : blasVersion : 3.5.0-1Description >>>>>>>> : >>>>>>>> Basic Linear Algebra SubprogramsArchitecture : x86_64URL : >>>>>>>> http://www.netlib.org/lapack <http://www.netlib.org/lapack>Licenses >>>>>>>> : >>>>>>>> customGroups : NoneProvides : NoneDepends On : >>>>>>>> gcc-libsOptional Deps : NoneRequired By : lapack >>>>>>>> suitesparseOptional >>>>>>>> For : NoneConflicts With : NoneReplaces : NoneInstalled Size : >>>>>>>> 375.00 KiBPackager : Ronald van Haren <[email protected]>Build >>>>>>>> Date : Mon 27 Jan 2014 09:46:21 PM CETInstall Date : Tue 06 May >>>>>>>> 2014 >>>>>>>> 05:38:07 PM CESTInstall Reason : Installed as a dependency for another >>>>>>>> packageInstall Script : NoValidated By : SignatureName : >>>>>>>> lapackVersion : 3.5.0-1Description : Linear Algebra >>>>>>>> PACKageArchitecture : x86_64URL : >>>>>>>> http://www.netlib.org/lapack >>>>>>>> <http://www.netlib.org/lapack>Licenses : customGroups : >>>>>>>> NoneProvides : NoneDepends On : blas=3.5.0Optional Deps : >>>>>>>> NoneRequired By : arpack julia python-numpy python2-numpy >>>>>>>> suitesparseOptional For : NoneConflicts With : NoneReplaces : >>>>>>>> NoneInstalled Size : 15612.00 KiBPackager : Ronald van Haren >>>>>>>> <[email protected]>Build Date : Mon 27 Jan 2014 09:46:09 PM >>>>>>>> CETInstall Date : Tue 06 May 2014 05:38:07 PM CESTInstall Reason : >>>>>>>> Installed as a dependency for another packageInstall Script : >>>>>>>> NoValidated >>>>>>>> By : Signature* >>>>>>>> >>>>>>>> On Tuesday, December 16, 2014 2:16:10 AM UTC+1, Elliot Saba wrote: >>>>>>>>> >>>>>>>>> If you didn't compile, then ignore my second message and Joao's. >>>>>>>>> Running `versioninfo()` from the julia prompt will give some >>>>>>>>> information >>>>>>>>> about your system configuration, and Valentin's question, (running >>>>>>>>> `pacman >>>>>>>>> -Qi julia blas lapack`) will be helpful to know the answer to as >>>>>>>>> well. >>>>>>>>> -E >>>>>>>>> >>>>>>>>> On Mon, Dec 15, 2014 at 10:54 AM, Valentin Churavy < >>>>>>>>> [email protected]> wrote: >>>>>>>>>> >>>>>>>>>> A fellow archuser here. Under which circumstances does the error >>>>>>>>>> occur? Eg. what code are you executing? >>>>>>>>>> >>>>>>>>>> And what does >>>>>>>>>> pacman -Qi julia blas lapack >>>>>>>>>> output> >>>>>>>>>> >>>>>>>>>> On Monday, 15 December 2014 19:14:22 UTC+1, Andrei Berceanu wrote: >>>>>>>>>>> >>>>>>>>>>> Where do i need to type all this? I must mention that I did not >>>>>>>>>>> compile Julia from source, but used my distribution's (arch linux) >>>>>>>>>>> package >>>>>>>>>>> manager (pacman). >>>>>>>>>>> >>>>>>>>>>> On December 15, 2014 6:15:09 PM CET, Elliot Saba < >>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>>> >>>>>>>>>>>> Ah, yes. If you haven't, try a `make -C deps distclean >>>>>>>>>>>> arpack-julia distclean-openblas distclean-suitesparse`, then `make >>>>>>>>>>>> cleanall` and finally `make`. >>>>>>>>>>>> -E >>>>>>>>>>>> >>>>>>>>>>>> On Mon, Dec 15, 2014 at 9:11 AM, João Felipe Santos < >>>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>>>> >>>>>>>>>>>>> You may need to clean and rebuild the dependencies as well as >>>>>>>>>>>>> core Julia. >>>>>>>>>>>>> >>>>>>>>>>>>> > On Dec 15, 2014, at 12:08 PM, Andrei Berceanu < >>>>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>>>> > >>>>>>>>>>>>> > Hi all, >>>>>>>>>>>>> > >>>>>>>>>>>>> > I recently upgraded to Julia Version 0.3.3 on my Arch Linux >>>>>>>>>>>>> box and sometimes get this strange error, followed by a kernel >>>>>>>>>>>>> crash - what >>>>>>>>>>>>> gives? >>>>>>>>>>>>> > >>>>>>>>>>>>> > julia: symbol lookup error: /usr/bin/../lib/julia/libcholmod.so: >>>>>>>>>>>>> undefined symbol: zpotrf_ >>>>>>>>>>>>> > >>>>>>>>>>>>> > //A >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>> -- >>>>>>>>>>> Sent from my Android device with K-9 Mail. Please excuse my >>>>>>>>>>> brevity. >>>>>>>>>>> >>>>>>>>>>
