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

Update to Julia 0.6 #454

Closed
appleparan opened this issue Sep 4, 2017 · 13 comments · Fixed by #510
Closed

Update to Julia 0.6 #454

appleparan opened this issue Sep 4, 2017 · 13 comments · Fixed by #510
Labels
help wanted An issue we know little about and would appreciate help with from members of the community type:Enhancement A proposed enhancement to the docker images

Comments

@appleparan
Copy link

If you are requesting a library upgrade or addition in one of the existing images, please state the desired library name and version here and disregard the remaining sections.

  • Please update Julia kernel to v0.6. It's been a 2 months after Julia v0.6 have been released. I think it's time to update Julia kernel to v0.6 because it introduce new type system and some breaking changes (changelog).
@parente parente added the type:Enhancement A proposed enhancement to the docker images label Sep 5, 2017
@naveenkumarmarri
Copy link
Contributor

@parente I can try this out
Can you point me which files to change?

@parente
Copy link
Member

parente commented Sep 10, 2017

Julia is installed from https://launchpad.net/~staticfloat/+archive/ubuntu/juliareleases which currently has 0.5.2 as the latest available release. It's installed here in the datascience-notbook/Dockerfile: https://github.com/jupyter/docker-stacks/blob/master/datascience-notebook/Dockerfile#L22

I'm open to changing how we install Julia if that necessary. Or maybe that upstream channel could use help in packaging 0.6. I'm not a Julia user (Julian?) so contributions on how to move this forward are most welcome.

@parente parente added the help wanted An issue we know little about and would appreciate help with from members of the community label Sep 10, 2017
@jakirkham
Copy link
Member

Related note, we have started building Julia in conda-forge. Haven't really added any related packages yet. Though could still try using the standard Julia mechanisms for installation with it.

@parente
Copy link
Member

parente commented Sep 10, 2017

Somehow, I knew you'd be popping in, @jakirkham, I just didn't know how soon. 💯

https://github.com/conda-forge/julia-feedstock

@naveenkumarmarri If you want to give it a shot, try removing the install of julia using apt and run conda install julia instead. Then see if the various julia -e 'Pkg.init()' commands further down in the Dockerfile succeed or not.

If you start on the PR, and give maintainers access to contribute to it, we can iterate on it together.

@naveenkumarmarri
Copy link
Contributor

@parente sure

@appleparan
Copy link
Author

appleparan commented Sep 10, 2017

https://github.com/staticfloat/julia-docker/tree/master/julia

you can check these files for updating julia, it needs for julia-only docker images. It just download julia binaries from official homepage.

@naveenkumarmarri
Copy link
Contributor

@parente I checked conda search julia --channel conda-forge
The version is 0.5.2
I couldn't find any package with 0.6 version
Should we install from source code?

@parente
Copy link
Member

parente commented Sep 11, 2017

PR for Julia 0.6 opened for the conda-forge feedstock 2 hours ago.

conda-forge/julia-feedstock#7

EDIT: Hit comment too soon. I suggest we help move that forward rather than go to source if possible. In the meantime, you could try installing the 0.5.2 from conda-forge and make sure the julia commands to install additional packages still work with it.

@tkelman
Copy link

tkelman commented Sep 12, 2017

Please use the upstream Julia binaries. It's a simple download and extracting a tarball on Linux. The conda build of julia should be considered experimental and is not a recommended configuration. The ppa is no longer maintained.

@jakirkham
Copy link
Member

There is a 0.6.0 package for julia from conda-forge available. I leave it up to the community whether to use that or some other installation method.

@tkelman
Copy link

tkelman commented Sep 19, 2017

It has serious performance problems due to not being built with any optimizations. If there are any bugs caused by the unconventional way it's built, the response from upstream will be "use the official binaries."

@jakirkham
Copy link
Member

It has serious performance problems...

This is not well demonstrated at this point. Only two build logs have been compared from two different CIs. One from conda-forge's CI and one from the Julia team's CI. Given CIs historically are resource limited and vary greatly in capabilities and configurations based on their provider, there are not really any conclusions to draw here.

To get an accurate answer, it will require someone (probably several someones) testing both packages in an apples-to-apples comparison to really know the truth about each one's performance. Would be happy to look at stock benchmarks and compare if there is interest. Feel free to discuss back at the feedstock's issue tracker.

...due to not being built with any optimizations.

It remains unclear to me what flags Julia already provides in its build system. From a cursory glance it looked like -O3 was hard coded in a few places regardless of what the user had in CFLAGS. Feel free to update with more details in the feedstock's issue tracker about additional flags that are needed.

If there are any bugs caused by the unconventional way it's built, the response from upstream will be "use the official binaries."

Please report issues about conda-forge packages' to their respective feedstocks'. This goes with all conda-forge packages (not just julia). If it was missed before, here is the julia feedstock's issue tracker. If the issue is determined to be an upstream one, it can then be raised upstream accordingly.

It is certainly upstream's prerogative to encourage use of their official binaries. Unfortunately not all users and use cases are created the same. So while it is one appropriate answer, it will not solve all problems equally well. Recognizing and addressing these differences accordingly will likely result in adoption of the language by a wider audience. 😉


Also if there are other concerns with how we are building it, the recipe is open sourced in this feedstock. Contributions welcome. 😄

@tkelman
Copy link

tkelman commented Sep 21, 2017

it will not solve all problems equally well

You have to admit the conda-forge build of Julia is far less widely used, untested with most packages and environments, and only supports a handful of the platforms that the upstream project already provides binaries for. What problems does that solve? You're adding a support and maintenance burden for both upstream and yourself (and any package author who may have to deal with issues caused by the unsupported way conda-forge is building things), without very compelling technical reasons for doing so.

Contributions welcome

Unless you would merge a contribution that replaced the recipe with downloading and using the official upstream binaries, this isn't true.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted An issue we know little about and would appreciate help with from members of the community type:Enhancement A proposed enhancement to the docker images
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants