Subject: Re: bug#48238: Julia contains references to its build directory

From: zimoun <[email-masked]>
Date: Wed, 12 May 2021 10:57:52 +0200

Hi,

In the update to v1.6.1, please give a look at some explanations:

<http://issues.guix.gnu.org/48325#4>
<http://issues.guix.gnu.org/48325#7>
<http://issues.guix.gnu.org/48325#8>
<http://issues.guix.gnu.org/48325#10>

On mer., 05 mai 2021 at 15:22, zimoun <[email-masked]> wrote:

> $ find $(guix build julia --no-grafts) -type f \
>        -exec grep '/tmp/guix-build-julia-1.5.3.drv-0' {} \;
> Binary file /gnu/store/i1dgzqfjvkkjlfhpcwc33lz17vslq50y-julia-1.5.3/lib/libjulia.so.1.5 matches
> Binary file /gnu/store/i1dgzqfjvkkjlfhpcwc33lz17vslq50y-julia-1.5.3/lib/julia/sys.so matches
> Binary file /gnu/store/i1dgzqfjvkkjlfhpcwc33lz17vslq50y-julia-1.5.3/lib/julia/libccalltest.so.debug matches
> Binary file /gnu/store/i1dgzqfjvkkjlfhpcwc33lz17vslq50y-julia-1.5.3/lib/julia/libllvmcalltest.so matches
> Binary file /gnu/store/i1dgzqfjvkkjlfhpcwc33lz17vslq50y-julia-1.5.3/bin/.julia-real matches
> Binary file /gnu/store/i1dgzqfjvkkjlfhpcwc33lz17vslq50y-julia-1.5.3/share/julia/base.cache matches
> Binary file /gnu/store/i1dgzqfjvkkjlfhpcwc33lz17vslq50y-julia-1.5.3/share/julia/test/depot/compiled/v1.5/Bar/HXSAn_w3IH9.ji matches
> Binary file /gnu/store/i1dgzqfjvkkjlfhpcwc33lz17vslq50y-julia-1.5.3/share/julia/test/depot/compiled/v1.5/Foo/MYb1d_w3IH9.ji matches
> Binary file /gnu/store/i1dgzqfjvkkjlfhpcwc33lz17vslq50y-julia-1.5.3/share/julia/test/depot/compiled/v1.5/Foo/TeeT6_w3IH9.ji matches
> Binary file /gnu/store/i1dgzqfjvkkjlfhpcwc33lz17vslq50y-julia-1.5.3/share/julia/test/depot/compiled/v1.5/Qux/YFfiR_w3IH9.ji matches
> Binary file /gnu/store/i1dgzqfjvkkjlfhpcwc33lz17vslq50y-julia-1.5.3/share/julia/test/depot/compiled/v1.5/Baz/rONVA_w3IH9.ji matches

In addition, "guix build julia --no-grafts -K" then something ugly to
show that for some files the reference of the source file itself are
included in their object version.  Maybe I miss something.

--8<---------------cut here---------------start------------->8---
$ for f in $(find /tmp/guix-build-julia-1.5.3.drv-0/julia-1.5.3/ -name "*.o" -type f -print | sed 's/\.o//' |sort);
do
   [ -f ${f}.cpp ] \
   && echo "## grep ${f}.cpp *" \
   && find /tmp/guix-build-julia-1.5.3.drv-0/julia-1.5.3/ -type f -print \
      | xargs -I {} grep ${f}.cpp {} ;
done

## grep /tmp/guix-build-julia-1.5.3.drv-0/julia-1.5.3/src/aotcompile.cpp *
Fichier binaire /tmp/guix-build-julia-1.5.3.drv-0/julia-1.5.3/usr/lib/libjulia.so.1.5 correspondant
Fichier binaire /tmp/guix-build-julia-1.5.3.drv-0/julia-1.5.3/src/aotcompile.o correspondant

## grep /tmp/guix-build-julia-1.5.3.drv-0/julia-1.5.3/src/APInt-C.cpp *
Fichier binaire /tmp/guix-build-julia-1.5.3.drv-0/julia-1.5.3/usr/lib/libjulia.so.1.5 correspondant

## grep /tmp/guix-build-julia-1.5.3.drv-0/julia-1.5.3/src/cgmemmgr.cpp *
Fichier binaire /tmp/guix-build-julia-1.5.3.drv-0/julia-1.5.3/usr/lib/libjulia.so.1.5 correspondant
Fichier binaire /tmp/guix-build-julia-1.5.3.drv-0/julia-1.5.3/src/cgmemmgr.o correspondant

## grep /tmp/guix-build-julia-1.5.3.drv-0/julia-1.5.3/src/codegen.cpp *
Fichier binaire /tmp/guix-build-julia-1.5.3.drv-0/julia-1.5.3/usr/lib/libjulia.so.1.5 correspondant
Fichier binaire /tmp/guix-build-julia-1.5.3.drv-0/julia-1.5.3/src/codegen.o correspondant

## grep /tmp/guix-build-julia-1.5.3.drv-0/julia-1.5.3/src/debuginfo.cpp *
Fichier binaire /tmp/guix-build-julia-1.5.3.drv-0/julia-1.5.3/usr/lib/libjulia.so.1.5 correspondant
Fichier binaire /tmp/guix-build-julia-1.5.3.drv-0/julia-1.5.3/src/debuginfo.o correspondant

## grep /tmp/guix-build-julia-1.5.3.drv-0/julia-1.5.3/src/disasm.cpp *
Fichier binaire /tmp/guix-build-julia-1.5.3.drv-0/julia-1.5.3/usr/lib/libjulia.so.1.5 correspondant
Fichier binaire /tmp/guix-build-julia-1.5.3.drv-0/julia-1.5.3/src/disasm.o correspondant

## grep /tmp/guix-build-julia-1.5.3.drv-0/julia-1.5.3/src/jitlayers.cpp *
Fichier binaire /tmp/guix-build-julia-1.5.3.drv-0/julia-1.5.3/usr/lib/libjulia.so.1.5 correspondant
Fichier binaire /tmp/guix-build-julia-1.5.3.drv-0/julia-1.5.3/src/jitlayers.o correspondant

## grep /tmp/guix-build-julia-1.5.3.drv-0/julia-1.5.3/src/llvm-alloc-opt.cpp *
Fichier binaire /tmp/guix-build-julia-1.5.3.drv-0/julia-1.5.3/usr/lib/libjulia.so.1.5 correspondant
Fichier binaire /tmp/guix-build-julia-1.5.3.drv-0/julia-1.5.3/src/llvm-alloc-opt.o correspondant

## grep /tmp/guix-build-julia-1.5.3.drv-0/julia-1.5.3/src/llvm-api.cpp *
Fichier binaire /tmp/guix-build-julia-1.5.3.drv-0/julia-1.5.3/usr/lib/libjulia.so.1.5 correspondant

## grep /tmp/guix-build-julia-1.5.3.drv-0/julia-1.5.3/src/llvm-final-gc-lowering.cpp *
Fichier binaire /tmp/guix-build-julia-1.5.3.drv-0/julia-1.5.3/usr/lib/libjulia.so.1.5 correspondant
Fichier binaire /tmp/guix-build-julia-1.5.3.drv-0/julia-1.5.3/src/llvm-final-gc-lowering.o correspondant

## grep /tmp/guix-build-julia-1.5.3.drv-0/julia-1.5.3/src/llvm-gc-invariant-verifier.cpp *
Fichier binaire /tmp/guix-build-julia-1.5.3.drv-0/julia-1.5.3/usr/lib/libjulia.so.1.5 correspondant

## grep /tmp/guix-build-julia-1.5.3.drv-0/julia-1.5.3/src/llvm-late-gc-lowering.cpp *
Fichier binaire /tmp/guix-build-julia-1.5.3.drv-0/julia-1.5.3/usr/lib/libjulia.so.1.5 correspondant
Fichier binaire /tmp/guix-build-julia-1.5.3.drv-0/julia-1.5.3/src/llvm-late-gc-lowering.o correspondant

## grep /tmp/guix-build-julia-1.5.3.drv-0/julia-1.5.3/src/llvm-lower-handlers.cpp *
Fichier binaire /tmp/guix-build-julia-1.5.3.drv-0/julia-1.5.3/usr/lib/libjulia.so.1.5 correspondant
Fichier binaire /tmp/guix-build-julia-1.5.3.drv-0/julia-1.5.3/src/llvm-lower-handlers.o correspondant

## grep /tmp/guix-build-julia-1.5.3.drv-0/julia-1.5.3/src/llvm-muladd.cpp *
Fichier binaire /tmp/guix-build-julia-1.5.3.drv-0/julia-1.5.3/usr/lib/libjulia.so.1.5 correspondant

## grep /tmp/guix-build-julia-1.5.3.drv-0/julia-1.5.3/src/llvm-multiversioning.cpp *
Fichier binaire /tmp/guix-build-julia-1.5.3.drv-0/julia-1.5.3/usr/lib/libjulia.so.1.5 correspondant
Fichier binaire /tmp/guix-build-julia-1.5.3.drv-0/julia-1.5.3/src/llvm-multiversioning.o correspondant

## grep /tmp/guix-build-julia-1.5.3.drv-0/julia-1.5.3/src/llvm-pass-helpers.cpp *
Fichier binaire /tmp/guix-build-julia-1.5.3.drv-0/julia-1.5.3/usr/lib/libjulia.so.1.5 correspondant

## grep /tmp/guix-build-julia-1.5.3.drv-0/julia-1.5.3/src/llvm-propagate-addrspaces.cpp *
Fichier binaire /tmp/guix-build-julia-1.5.3.drv-0/julia-1.5.3/usr/lib/libjulia.so.1.5 correspondant
Fichier binaire /tmp/guix-build-julia-1.5.3.drv-0/julia-1.5.3/src/llvm-propagate-addrspaces.o correspondant

## grep /tmp/guix-build-julia-1.5.3.drv-0/julia-1.5.3/src/llvm-ptls.cpp *
Fichier binaire /tmp/guix-build-julia-1.5.3.drv-0/julia-1.5.3/usr/lib/libjulia.so.1.5 correspondant
Fichier binaire /tmp/guix-build-julia-1.5.3.drv-0/julia-1.5.3/src/llvm-ptls.o correspondant

## grep /tmp/guix-build-julia-1.5.3.drv-0/julia-1.5.3/src/llvm-remove-addrspaces.cpp *
Fichier binaire /tmp/guix-build-julia-1.5.3.drv-0/julia-1.5.3/usr/lib/libjulia.so.1.5 correspondant

## grep /tmp/guix-build-julia-1.5.3.drv-0/julia-1.5.3/src/llvm-remove-ni.cpp *
Fichier binaire /tmp/guix-build-julia-1.5.3.drv-0/julia-1.5.3/usr/lib/libjulia.so.1.5 correspondant

## grep /tmp/guix-build-julia-1.5.3.drv-0/julia-1.5.3/src/llvm-simdloop.cpp *
Fichier binaire /tmp/guix-build-julia-1.5.3.drv-0/julia-1.5.3/usr/lib/libjulia.so.1.5 correspondant
Fichier binaire /tmp/guix-build-julia-1.5.3.drv-0/julia-1.5.3/src/llvm-simdloop.o correspondant

## grep /tmp/guix-build-julia-1.5.3.drv-0/julia-1.5.3/src/processor.cpp *
Fichier binaire /tmp/guix-build-julia-1.5.3.drv-0/julia-1.5.3/usr/lib/libjulia.so.1.5 correspondant
Fichier binaire /tmp/guix-build-julia-1.5.3.drv-0/julia-1.5.3/src/processor.o correspondant

## grep /tmp/guix-build-julia-1.5.3.drv-0/julia-1.5.3/src/runtime_ccall.cpp *
Fichier binaire /tmp/guix-build-julia-1.5.3.drv-0/julia-1.5.3/usr/lib/libjulia.so.1.5 correspondant
Fichier binaire /tmp/guix-build-julia-1.5.3.drv-0/julia-1.5.3/src/runtime_ccall.o correspondant
--8<---------------cut here---------------end--------------->8---

Cheers,
simon