Coder Social home page Coder Social logo

Comments (12)

zakkak avatar zakkak commented on June 22, 2024 1

To clarify, this got triggered by #39260 because in 23.1 graal-sdk is essentially a wrapper that brings in org.graalvm.polyglot:polyglot (along with org.graalvm.sdk:collections, org.graalvm.sdk:nativeimage, and org.graalvm.sdk:word). In 23.1 this does not cause an issue because org.graalvm.polyglot:polyglot is only shipped as a standalone and not shipped along with GraalVM itself, while in 23.0 org.graalvm.polyglot:polyglot is part of the release itself (so it's not allowed to be on the classpath as well).

from quarkus.

jerboaa avatar jerboaa commented on June 22, 2024 1

I'd say we just do the conditional removal of org.graalvm.polyglot:polyglot for 23.0 on the classpath.

from quarkus.

quarkus-bot avatar quarkus-bot commented on June 22, 2024

/cc @FroMage (panache), @Karm (mandrel), @galderz (mandrel), @geoand (kotlin), @gsmet (hibernate-orm), @loicmathieu (panache), @yrodiere (hibernate-orm), @zakkak (mandrel,native-image)

from quarkus.

zakkak avatar zakkak commented on June 22, 2024

It's not clear if we need to exclude the org.graalvm.polyglot:polyglot artefact when producing the native sources jar (revert #37423) or it's a Mandrel 23.0 packaging/build bug.

I think we need to exclude it but only when building with Mandrel 23.0, this is related to #39319 (let's see how that will conclude as well...)

from quarkus.

jerboaa avatar jerboaa commented on June 22, 2024

Same happens with oidc, security-webauthn and smallrye-graphql native integration tests.

from quarkus.

gsmet avatar gsmet commented on June 22, 2024

@zakkak that makes the case for backporting #39260 more complicated.

from quarkus.

gemmellr avatar gemmellr commented on June 22, 2024

I hit similar elsewhere. The extension had a compile scope dependency on graal-sdk (formerly on svm, which quarkus-bom had at provided scope), and so failed to build with the JDK17 native builder image that is based on 23.0.3.0. Changing the graal-sdk dep to provided scope resolved things.

https://quarkusio.zulipchat.com/#narrow/stream/187038-dev/topic/Java.2017.20native.20build.20compatibility.20expectation.20for.203.2E8.2Ex.2B.3F/near/425894538

from quarkus.

zakkak avatar zakkak commented on June 22, 2024

@gsmet @jerboaa #39372 resolves this specific issue, but I expect it to still trigger when users explicitly add org.graalvm.polyglot:polyglot as a dependency. I am afraid there's no way to support having org.graalvm.polyglot:polyglot explicitly added other than conditionally removing it from the classpath depending on the Mandrel version, as mentioned in #39322 (comment).

Do we want/need to go that way to ensure Truffle works on Q main with both 23.1 and 23.0?
WDYT?

from quarkus.

jerboaa avatar jerboaa commented on June 22, 2024

No strong feelings either way. I guess since we know polyglot.jar is there for 23.0 we'd be wise to exclude it from the classpath there.

from quarkus.

zakkak avatar zakkak commented on June 22, 2024

I'd say we just do the conditional removal of org.graalvm.polyglot:polyglot for 23.0 on the classpath.

Done in #39397

from quarkus.

zakkak avatar zakkak commented on June 22, 2024

An alternative would be to add -H:+AllowDeprecatedBuilderClassesOnImageClasspath when using Mandrel 23.0, as noted in the error message:

As a workaround, -H:+AllowDeprecatedBuilderClassesOnImageClasspath allows turning this error into a warning.

I am thinking that this might be better than just removing the dependency from the classpath, as it will notify the user that there is something they should probably be aware of.

WDYT? cc @jerboaa @gsmet

from quarkus.

jerboaa avatar jerboaa commented on June 22, 2024

An alternative would be to add -H:+AllowDeprecatedBuilderClassesOnImageClasspath when using Mandrel 23.0, as noted in the error message:

As a workaround, -H:+AllowDeprecatedBuilderClassesOnImageClasspath allows turning this error into a warning.

I am thinking that this might be better than just removing the dependency from the classpath, as it will notify the user that there is something they should probably be aware of.

WDYT? cc @jerboaa @gsmet

Hmm, some users might end up with a 23.1 polyglot on the class-path and 23.0 from the builder, which in theory could produce weird and hard-to-debug results.

from quarkus.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.