Skip to content

Use BinaryBuilder to install java?? #136

Description

@aviks

Should we try to use BinaryBuilder to install a private version of Java within the Julia depot?

  • Is this a good idea? It's not a terrible idea, many applications do bundle Java. Also, I'm told conda installs it's own Java. But is it a good idea?
  • If we do this, we should probably find a way to re-package the AdoptOpenJDK binaries. Compiling OpenJDK from scratch is certainly not a good idea.
  • If we do this, we should probably use the system installed JVM if the JAVA_HOME environment variable is set.

The main advantage is that the user does not need to install java themselves. This is particularly valuable for users of Julia libraries with Java dependencies. So if you want to use Taro.jl, you don't need to worry about getting a JVM on your machine if you don't already have one.

Activity

  1. mkitti commented on Mar 2, 2021

    @mkitti
    Member

    What are the licensing implications of this?

    OpenJDK is GPLv2 with linking exception (classpath exception)

  2. aviks commented on Mar 2, 2021

    @aviks
    CollaboratorAuthor

    This package is MIT licensed, so it's fine to depend on GPLv2 packages. Most people now use OpenJDK (via AdoptOpenJDK) i imagine.

  3. mkitti commented on Mar 2, 2021

    @mkitti
    Member

    Yes, but by distributing GPLv2, we will then entering others into a GPLv2 license, and may also draw questions about the licensing of this package, so I think this has be done carefully.

    In particular, JavaCall should not depend on a OpenJDK JLL. It should be able to use it is it happens to be installed though.

  4. mkitti commented on Mar 2, 2021

    @mkitti
    Member

    https://github.com/JuliaMath/FFTW.jl provides some precedent for this, although is some reluctance to distributing the runtimes of other lanugages.

    https://julialang.slack.com/archives/C674ELDNX/p1614712811136600

  5. ViralBShah commented on Nov 4, 2025

    @ViralBShah
    Member

    I suggest this is not really worth doing. People who use JavaCall surely don't want their Java coming from BB.

  6. mkitti commented on Nov 4, 2025

    @mkitti
    Member

    One possibility is to use CondaPkg.jl to install openjdk:
    https://anaconda.org/conda-forge/openjdk

    We could set this up as a package extension to an OpenJDK.jl wrapper.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions