-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
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
Fix bash on windows build and add instructions #22074
Conversation
Quotes around $$PATH are necessary for bash on windows as the default path now includes windows paths which include spaces.
README.windows.md
Outdated
@@ -436,3 +436,10 @@ running the resulting installer. | |||
inspect the list of loaded DLLs for bash, mintty, or another persistent | |||
process used to drive the build. Essentially *any* DLL outside of the Windows | |||
System directory is potential BLODA. | |||
|
|||
### Compiling for Bash on windows | |||
Bash on windows is an unsupported platform. However, compilation of julia is possible and functional. The packages required differ from standard ubuntu compilation as some packages are not installed by default in the bash on windows ubuntu image. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
please follow line length conventions consistent with the rest of this file
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed
README.windows.md
Outdated
### Compiling for Bash on windows | ||
Bash on windows is an unsupported platform. However, compilation of julia is possible and functional. The packages required differ from standard ubuntu compilation as some packages are not installed by default in the bash on windows ubuntu image. | ||
|
||
The missing packages are `byacc texinfo python-minimal automake`. With these installed and the standard ubuntu packages dependancies and julia currently compile without issue. The line below can be copied into your terminal to install all required packages. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
julia and its dependencies shouldn't need byacc, texinfo, or automake
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
All those dependencies were sourced as Julia compiled.
byacc is needed for gmp, I can't remember where the other two were called but I started on a clean bash on windows install for this and those were the packages it told me mid compilation were missing
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
byacc should never be needed if you build from a release tarball
README.windows.md
Outdated
|
||
### Compiling for Bash on windows | ||
Bash on windows is an unsupported platform. However, compilation of julia is | ||
possible and functional. The packages required differ from standard ubuntu |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
they shouldn't differ at all. how could we need byacc, texinfo, or automake when nothing we build needs them?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Might be a filesystem bug – these could get triggered by having incorrect file timestamps.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Busy uninstalling and reinstalling. Will make again and get the logs where it errors asking for those three.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Windows should probably be upper case, as per the rest of the file.
README.windows.md
Outdated
@@ -436,3 +436,17 @@ running the resulting installer. | |||
inspect the list of loaded DLLs for bash, mintty, or another persistent | |||
process used to drive the build. Essentially *any* DLL outside of the Windows | |||
System directory is potential BLODA. | |||
|
|||
### Compiling for Bash on windows |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is indented 2 spaces too much (it becomes a subsection)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
note to self: never edit directly in github ever again
README.windows.md
Outdated
compilation as some packages are not installed by default in the bash on | ||
windows ubuntu image. | ||
|
||
The missing packages are `byacc texinfo python-minimal automake`. With these |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
byacc
, texinfo
, python-minimal
and automake
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fixed that up as well as the other indentation issue
README.windows.md
Outdated
windows ubuntu image. | ||
|
||
The missing packages are `byacc` `texinfo` `python-minimal` `automake`. | ||
With these installed and the standard ubuntu packages dependancies and |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"dependancies" -> "dependencies"?
README.windows.md
Outdated
|
||
The missing packages are `byacc` `texinfo` `python-minimal` `automake`. | ||
With these installed and the standard ubuntu packages dependancies and | ||
julia currently compile without issue. The line below can be copied |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Perhaps rephrase the "With these installed" sentence? Its meaning is not clear.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the contribution @mikewl! :) Expanding on frederikekre
's comment, Julia and Ubuntu might also use capitalization.
I will address @Sacha0's comments in the morning. Compiling without |
patchelf, gmp, and mpfr should need none of those things when building anywhere else. are you using the latest test version of wsl? they may have fixed the issue already. |
On the latest build in the fast ring with a clean install of wsl. |
Then needing anything to build that isn't needed on normal Linux should be reported as a bug to WSL. |
I grabbed the ubuntu docker image which is as bare as it gets. Busy compiling now just in case. Will file the bug once I have confirmed that the error is isolated to wsl. |
as @vtjnash suggested above in a now-hidden comment,
can happen when autotools thinks you've changed something in a file that you haven't actually touched, and tries to regenerate things that it doesn't need to do if you're building from a release |
I submitted the bug at microsoft/WSL#2162 |
would be nice to get this working |
Yes, Microsoft should fix its bugs. Until it actually works the way it's supposed to, we shouldn't be encouraging anyone to use Julia on it. |
The makefile changes here should be fine on their own though. |
Should I nuke the instructions and just leave the simple makefile changes? |
I'd merge that part now. On the other part, were you building in /mnt/ or /home/ ? |
/mnt/ |
The build in /home/ only works with the |
We could say "don't build in /mnt/" until they've fixed that. depends how long it's expected to be broken for. I read that the latest version will let you install WSL in non C locations if you want, so there's very little reason to be using /mnt/ |
The reason I was using /mnt/ was so I could easily edit the files. It's a PITA to edit files inside /home/ with standard windows tools. /mnt/ works perfectly for editing but there are the related issues for now. |
Then don't use windows tools to edit? cygwin can get time stamps right, if WSL can't then it still needs a lot of work before it's usable. |
where is travis on this? |
I have absolutely no idea! |
Don't think there's anything you can do on your side. If Travis worked via a webhook I could check that in the settings, but it doesn't. It passed before, right? |
Now that I think about it, I don't think Travis ever ran on it... |
bump |
Looks like this just needs a rebase and an updated PR title |
For a smooth build of Julia in bash on windows
$$PATH
needs to be in quotes as windows paths with spaces are in the path.Simple instructions were also added to help users wanting to build Julia in bash on windows. Some dependencies like python 2.7 are not by default installed.