Hi, On Fri, 17 Aug 2018 02:43:21 +0000, Lumin <cdlumin...@gmail.com> wrote: > Hi Frédéric, > > Thank you very much for your help! > > I've filed the bug for LLVM > https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=906314 > and had it blocking julia's ppc64el build failure.
oh great, thanks, > And have requested for a ppc64el vm. Next time I should be able to > do the ppc64el build by myself :-) ok. Let me know if you fail to get a vm or anything. F. > > > On Thu, Aug 16, 2018 at 05:37:06PM +0200, Frédéric Bonnard wrote: > > Hi Mo Zhou, > > > > On Thu, 16 Aug 2018 08:38:04 +0000, Mo Zhou <cdlumin...@gmail.com> wrote: > > > Package: wnpp > > > Severity: normal > > > > > > I request assistance with maintaining the julia package. > > > Specifically I need a ppc64el porter (or anyone who has root access to > > > a ppc64el box) to help me: > > > > > > 1. Apply patch[1] to Debian's llvm-toolchain-6.0 (= 1:6.0.1-4) and build > > > it. > > > > I fetched this https://reviews.llvm.org/D43781 > > > > > 2. Install the resulting llvm-6.0-dev (= 1:6.0.1-5). > > > > > > 3. dget julia 0.7.0-2 and build Julia for ppc64el. > > > > > > 4. if (!llvm-ftbfs && !julia-ftbfs) { > > > > I got there : both built fine. > > I just had to avoid building in a schroot because of this : > > > > --- > > make[3]: Entering directory '/build/llvm-toolchain-6.0-0CdyF5/julia-0.7.0' > > Warning: git information unavailable; versioning information limited > > cd /build/llvm-toolchain-6.0-0CdyF5/julia-0.7.0/base && if ! > > /build/llvm-toolchain-6.0-0CdyF5/julia-0.7.0/usr/bin/julia -O3 -C "native" > > --output-o > > /build/llvm-toolchain-6.0-0CdyF5/julia-0.7.0/usr/lib/powerpc64le-linux-gnu/julia/sys-o.a.tmp > > --startup-file=no --warn-overwrite=yes --sysimage > > /build/llvm-toolchain-6.0-0CdyF5/julia-0.7.0/usr/lib/powerpc64le-linux-gnu/julia/sys.ji > > > > /build/llvm-toolchain-6.0-0CdyF5/julia-0.7.0/contrib/generate_precompile.jl > > /build/llvm-toolchain-6.0-0CdyF5/julia-0.7.0/usr/lib/powerpc64le-linux-gnu/julia/sys.ji; > > then echo '*** This error is usually fixed by running `make clean`. If the > > error persists, try `make cleanall`. ***'; false; fi > > Generating precompile statements...ERROR: LoadError: Failed to open PTY > > master > > Stacktrace: > > [1] error(::String) at ./error.jl:33 > > [2] open_fake_pty at > > /build/llvm-toolchain-6.0-0CdyF5/julia-0.7.0/usr/share/julia/test/testhelpers/FakePTYs.jl:14 > > [inlined] > > [3] with_fake_pty(::getfield(Main.anonymous, > > Symbol("##3#9")){String,Base.GenericIOBuffer{Array{UInt8,1}},Base.GenericIOBuffer{Array{UInt8,1}},String}) > > at > > /build/llvm-toolchain-6.0-0CdyF5/julia-0.7.0/usr/share/julia/test/testhelpers/FakePTYs.jl:30 > > [4] (::getfield(Main.anonymous, > > Symbol("##2#8")){Float64,Module,String})(::String, ::IOStream) at > > /build/llvm-toolchain-6.0-0CdyF5/julia-0.7.0/contrib/generate_precompile.jl:81 > > [5] mktemp(::getfield(Main.anonymous, > > Symbol("##2#8")){Float64,Module,String}, ::String) at ./file.jl:576 > > [6] mktemp at ./file.jl:574 [inlined] > > [7] generate_precompile_statements() at > > /build/llvm-toolchain-6.0-0CdyF5/julia-0.7.0/contrib/generate_precompile.jl:78 > > [8] top-level scope at > > /build/llvm-toolchain-6.0-0CdyF5/julia-0.7.0/contrib/generate_precompile.jl:144 > > in expression starting at > > /build/llvm-toolchain-6.0-0CdyF5/julia-0.7.0/contrib/generate_precompile.jl:4 > > --- > > > > which is unrelated to the problem you had but to workaround I built in a > > fresh ppc64el unstable vm (probably due to bug #817236 and my schroot being > > too old > > to be created with the fix) > > > > > > > > 1. clone #905807 for llvm-6.0 and remove the +moreinfo tag > > > 2. pull the experimental branch from > > > https://salsa.debian.org/julia-team/julia > > > and see if the patched llvm-6.0 is also able to build julia 1.0.0 > > > > this one builds fine as well. > > For now, I won't have time to re-assign the bug on llvm. I'll check that > > tomorrow. > > > > > } elif (!llvm-ftbfs && julia-ftbfs) { > > > > > > 1. find out which patch actually fixes julia's build failure > > > > > > https://github.com/JuliaLang/julia/blob/master/deps/llvm.mk#L482-L509 > > > > > > } else { ...... } > > > > > > I tried to setup a ppc64el chroot with qemu, and immediately find it > > > impractical for my laptop. > > > > > > I tried to do it on launchpad (Ubuntu PPA/cosmic), and lauchpad told me > > > "Sorry, something just went wrong in Launchpad." during registration. > > > > > > I tried to think of applying for the access to debian's ppc64el porterbox > > > but it appears to be impossible for a normal user to install the resulting > > > package and build another package. Although maybe I can do some hacks on > > > PATH and LD_LIBRARY_PATH but that's dirty. > > > > Yes, that's a security related limitation of porter boxes which > > sometimes makes them unhelpful sadly. > > > > FYI, you may request a ppc64el vm there : > > http://openpower.ic.unicamp.br/minicloud/ > > > > > So I gave up and wrote this RFH. That begin said, Julia's ppc64el port > > > is indeed supported by upstream, and it is worthwhile to keep Julia for > > > ppc64el such a powerful architecture. > > > > > > Thanks in advance. > > > > Thanks a bunch for this work :) > > > > F. > > > > > > > > [1] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=905807 > > > > > > Appendix > > > -------- > > > > > > The package description is: > > > Julia is a high-level, high-performance dynamic programming language for > > > technical computing, with syntax that is familiar to users of other > > > technical > > > computing environments. It provides a sophisticated compiler, distributed > > > parallel execution, numerical accuracy, and an extensive mathematical > > > function > > > library. The library, mostly written in Julia itself, also integrates > > > mature, > > > best-of-breed C and Fortran libraries for linear algebra, random number > > > generation, FFTs, and string processing. Julia programs are organized > > > around > > > defining functions, and overloading them for different combinations of > > > argument types (which can also be user-defined). > > > . > > > This package provides a complete Julia installation (JIT compiler, > > > standard > > > library, text-based user interface). > > > Julia is a high-level, high-performance dynamic programming language for > > > technical computing, with syntax that is familiar to users of other > > > technical > > > computing environments. It provides a sophisticated compiler, distributed > > > parallel execution, numerical accuracy, and an extensive mathematical > > > function > > > library. The library, mostly written in Julia itself, also integrates > > > mature, > > > best-of-breed C and Fortran libraries for linear algebra, random number > > > generation, FFTs, and string processing. Julia programs are organized > > > around > > > defining functions, and overloading them for different combinations of > > > argument types (which can also be user-defined). > > > . > > > This package provides a complete Julia installation (JIT compiler, > > > standard > > > library, text-based user interface). > > > > >
pgpCkjvrr8LMA.pgp
Description: PGP signature