Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Out of tree builds fails to copy base julia files #31140

Open
musm opened this issue Feb 21, 2019 · 10 comments · Fixed by #45441
Open

Out of tree builds fails to copy base julia files #31140

musm opened this issue Feb 21, 2019 · 10 comments · Fixed by #45441
Labels
domain:building Build system, or building Julia or its dependencies

Comments

@musm
Copy link
Contributor

musm commented Feb 21, 2019

Running the julia installer after running make -C outdir binary-dist from cygwin for a windows build.

share/julia/base only includes the files:
image

@StefanKarpinski StefanKarpinski added the domain:building Build system, or building Julia or its dependencies label Feb 22, 2019
@musm musm changed the title julia installer does not include base jl files under share and also includes v1.1 folders julia installer does not include base jl files under share Mar 6, 2019
@musm
Copy link
Contributor Author

musm commented Mar 7, 2019

This is kind of a mystery to me, nothing in the Makefile has changed that touched the lines that copy the files over, unless I'm reading things wrong.

@musm
Copy link
Contributor Author

musm commented Mar 8, 2019

It looks like the junction to base is incorrect?

cp /usr/x86_64-w64-mingw32/sys-root/mingw/bin/../bin//libssp-0.dll /cygdrive/c/Users/Mus/work/julia/build/usr/bin
cp /usr/x86_64-w64-mingw32/sys-root/mingw/bin/../bin//libssp-0.dll /cygdrive/c/Users/Mus/work/julia/build/usr/tools
Junction created for C:\Users\Mus\work\julia\build\usr\share\julia\test <<===>> C:\Users\Mus\work\julia\source\test

Junction created for C:\Users\Mus\work\julia\build\usr\share\julia\base <<===>> base

cp /usr/x86_64-w64-mingw32/sys-root/mingw/bin/../bin//libwinpthread-1.dll /cygdrive/c/Users/Mus/work/julia/build/usr/bin
cp /usr/x86_64-w64-mingw32/sys-root/mingw/bin/../bin//libwinpthread-1.dll /cygdrive/c/Users/Mus/work/julia/build/usr/tools
cp /usr/x86_64-w64-mingw32/sys-root/mingw/bin/../bin//libatomic-1.dll /cygdrive/c/Users/Mus/work/julia/build/usr/bin
cp /usr/x86_64-w64-mingw32/sys-root/mingw/bin/../bin//libatomic-1.dll /cygdrive/c/Users/Mus/work/julia/build/usr/tools
/cygdrive/c/Users/Mus/work/julia/source/contrib/install.sh 755 /cygdrive/c/Users/Mus/work/julia/source/contrib/julia-config.jl /cygdrive/c/Users/Mus/work/julia/build/usr/share/julia/
Creating usr/etc/julia/startup.jl
Copying in usr/share/man/man1/julia.1
make[1]: Entering directory '/cygdrive/c/Users/Mus/work/julia/build/stdlib'
make[1]: Entering directory '/cygdrive/c/Users/Mus/work/julia/build/deps'
Junction created for C:\Users\Mus\work\julia\build\usr\share\julia\stdlib\v1.2\Dates <<===>> C:\Users\Mus\work\julia\source\stdlib\Dates

@musm
Copy link
Contributor Author

musm commented Mar 8, 2019

I just nuked all my source and build folders and tried this again. And indeed the bug reproducible.

the OOT directories' base folder is empty and nothing gets copied there other than the files with constants.

@musm
Copy link
Contributor Author

musm commented Mar 27, 2019

Is anyone else able to reproduce this? I'd love to get some other people to see if they are also encountering this, since it's an important bug if reproducible.

@musm musm changed the title julia installer does not include base jl files under share OTT build fails to copy base files on windows Mar 28, 2019
@musm
Copy link
Contributor Author

musm commented Mar 28, 2019

Confirmed that this only happens with OOT builds

@musm musm changed the title OTT build fails to copy base files on windows OOT build fails to copy base files on windows Mar 28, 2019
@StefanKarpinski
Copy link
Sponsor Member

Took me a minute to figure out that "OOT" = "out of tree"; spelling it out for others 😺

@musm
Copy link
Contributor Author

musm commented Mar 29, 2019

👍 Thanks, yes I should've avoided the abbreviation in the issue title

@musm
Copy link
Contributor Author

musm commented Mar 29, 2019

Ok I've identified what's causing this failure

cmd /C mklink /J `cygpath -w /cygdrive/c/Users/Mus/work/julia/build/usr/share/julia/stdlib/v1.2/SuiteSparse` `cygpath -w /cygdrive/c/Users/Mus/work/julia/source/stdlib/SuiteSparse`
cmd /C mklink /J `cygpath -w /cygdrive/c/Users/Mus/work/julia/build/usr/share/julia/stdlib/v1.2/Test` `cygpath -w /cygdrive/c/Users/Mus/work/julia/source/stdlib/Test`
cmd /C mklink /J `cygpath -w /cygdrive/c/Users/Mus/work/julia/build/usr/share/julia/stdlib/v1.2/Unicode` `cygpath -w /cygdrive/c/Users/Mus/work/julia/source/stdlib/Unicode`
cmd /C mklink /J `cygpath -w /cygdrive/c/Users/Mus/work/julia/build/usr/share/julia/stdlib/v1.2/UUIDs` `cygpath -w /cygdrive/c/Users/Mus/work/julia/source/stdlib/UUIDs`
make[1]: Leaving directory '/cygdrive/c/Users/Mus/work/julia/build/stdlib'
cmd /C mklink /J `cygpath -w /cygdrive/c/Users/Mus/work/julia/build/usr/share/julia/base` `cygpath -w base`

As you can see in the last line the absolute path of base is NOT passed during the symlink process.

Ok I think I see the source of the bug!

@musm musm changed the title OOT build fails to copy base files on windows Out of tree builds fails to copy base julia files Mar 29, 2019
@ViralBShah
Copy link
Member

A lot has been done and we now have portable windows builds. Makes me feel like this might be addressed.

@vtjnash
Copy link
Sponsor Member

vtjnash commented Feb 9, 2022

It is not fixed

vtjnash added a commit that referenced this issue May 24, 2022
vtjnash added a commit that referenced this issue May 24, 2022
vtjnash added a commit that referenced this issue May 26, 2022
vtjnash added a commit that referenced this issue May 30, 2022
Ensures the out-of-tree build has the correct files installed, and
simplifies some of the `include`s used in Base.

Fixes a return value that was relied on (largely unnecessarily) by a
loading test, despite being invalid before now.

Fixes #31140
vtjnash added a commit that referenced this issue Jun 9, 2022
Ensures the out-of-tree build has the correct files installed, and
simplifies some of the `include`s used in Base.

Fixes a return value that was relied on (largely unnecessarily) by a
loading test, despite being invalid before now.

Fixes #31140
@Keno Keno reopened this Aug 20, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
domain:building Build system, or building Julia or its dependencies
Projects
None yet
6 participants