Master process linking wrong libraries, but workers don't 15670 Closed andreasnoack opened this Issue on Mar 29 ยท 12 comments Projects None yet Labels bug mac parallel Milestone 0.5.0 Assignees No one assigned 3 participants andreasnoack tkelman kshyatt Notifications andreasnoack The Julia Language member andreasnoack commented on Mar 29 This one breaks eigs and svds because the homebrew version is built with 32 bit integers. The tricky part is that we don't detect this because the tests are run as workers where the linking is correct. _ _ _ _ _ _ | A fresh approach to technical computing _ | _ _ | Documentation: http: docs.julialang.org _ _ _| |_ __ _ | Type ?help for help. | | | | | | | _` | | | | |_| | | | _| | | Version 0.4.5-pre+7 2016-03-17 05:23 UTC _ |\__'_|_|_|\__'_| | Commit a5d90d8 12 days old release-0.4 |__ | x86_64-apple-darwin15.3.0 julia addprocs 2 ev2-element Array Int64,1 : 2 3 julia everywhere println Libdl.dlpath :libarpack Users andreasnoack Library homebrew Cellar arpack 3.2.0 libexec lib libarpack.2.dylib From worker 3: Users andreasnoack julia usr lib libarpack.2.dylib From worker 2: Users andreasnoack julia usr lib libarpack.2.dylib UPDATE: Same thing with libgit2 julia everywhere println Libdl.dlpath :libgit2 Users andreasnoack Library homebrew Cellar libgit2 0.23.4 lib libgit2.0.23.4.dylib From worker 2: Users andreasnoack julia-dev usr lib libgit2.dylib From worker 3: Users andreasnoack julia-dev usr lib libgit2.dylib which is probably causing 15681 tkelman The Julia Language member tkelman commented on Mar 29 We shouldn't be using homebrew's arpack unless you also have everything else built for 32 bit ints kshyatt kshyatt added the parallel label on Mar 29 andreasnoack andreasnoack added the bug label on Mar 31 andreasnoack andreasnoack changed the title from Master process linking wrong ARPACK, but workers don't to Master process linking wrong libraries, but workers don't on Mar 31 andreasnoack andreasnoack referenced this issue on Mar 31 Closed Seg fault on `Pkg.update ` 15681 andreasnoack andreasnoack added this to the 0.5.0 milestone on Mar 31 andreasnoack The Julia Language member andreasnoack commented on Mar 31 Added the milestone since I don't think it is reasonable to ship 0.5 as long as installing a homebrew package can break the package manager. tkelman tkelman added the mac label on Mar 31 tkelman The Julia Language member tkelman commented on Mar 31 is 0.4 okay here? could you bisect with just . julia test runtests-jl linalg arnoldi or whatever triggers this? andreasnoack The Julia Language member andreasnoack commented on Mar 31 0.4.5-pre+7 has the same issue. tkelman The Julia Language member tkelman commented on Mar 31 Hm. 0.3? Have we always gotten this wrong, or did we mistakenly backport whatever caused this? andreasnoack The Julia Language member andreasnoack commented on Mar 31 It seems to be a problem on 0.3 as well. tkelman The Julia Language member tkelman commented on Mar 31 So no one has ever run make testall1 or JULIA_CPU_CORES 1 make test-linalg on a mac while having arpack installed from homebrew? andreasnoack The Julia Language member andreasnoack commented on Apr 1 make testall1 also spawns the process so there the right library is loaded. tkelman The Julia Language member tkelman commented on Apr 1 Only if n 1 from my reading of test runtests-jl andreasnoack The Julia Language member andreasnoack commented on Apr 1 Hm. You are right. However, I've run the tests with JULIA_NUM_CORES 1 on both 0.4 and 0.5 and they don't fail so for some reason the right library is loaded. I'm not sure why. This issue is really good in avoiding being detected by tests. tkelman The Julia Language member tkelman commented on Apr 3 From discussion elsewhere, it sounds like this may be specific to running julia via the symlink? Should we warn against that on OSX then, or just not create it and recommend running via usr bin julia ? andreasnoack andreasnoack added a commit that referenced this issue on Apr 3 andreasnoack Use loader_path instead of executable_path when searching for 2150bfc andreasnoack andreasnoack referenced this issue on Apr 3 Merged Use loader_path instead of executable_path when searching for shared libraries. 15756 andreasnoack The Julia Language member andreasnoack commented on Apr 3 See 15756. I might have a solution. andreasnoack andreasnoack added a commit that referenced this issue on Apr 3 andreasnoack Use loader_path instead of executable_path when searching for 2923ff7 andreasnoack andreasnoack closed this in 15756 on Apr 4 tkelman tkelman added a commit that referenced this issue on Jun 17 andreasnoack Use loader_path instead of executable_path when searching for