Comments (12)
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.
I'd say we just do the conditional removal of org.graalvm.polyglot:polyglot
for 23.0 on the classpath.
from quarkus.
/cc @FroMage (panache), @Karm (mandrel), @galderz (mandrel), @geoand (kotlin), @gsmet (hibernate-orm), @loicmathieu (panache), @yrodiere (hibernate-orm), @zakkak (mandrel,native-image)
from quarkus.
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.
Same happens with oidc
, security-webauthn
and smallrye-graphql
native integration tests.
from quarkus.
@zakkak that makes the case for backporting #39260 more complicated.
from quarkus.
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.
from quarkus.
@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.
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.
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.
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.
from quarkus.
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.
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)
- Build time and runtime fixed @ConfigMapping has values inside buildstep but nulls inside recorded method HOT 7
- dev mode reload - rabbitmq - multiple rabbitmq connections HOT 3
- Add a property for the version when creating a project with a non-platform extension HOT 2
- graal-sdk in 23.1.x brings in `org.graalvm.polyglot` which causes a couple of issues (wrap up) HOT 5
- RESTEasy Reactive dependency added to deployment classpath of nearly all Quarkus apps HOT 11
- WebSockets Next: add endpoints to the DevUI's 404 page HOT 3
- OpenTelemetry and smallrye reactive kafka HOT 8
- Quarkus gradle plugin classpath exclude problem? [QUESTION] HOT 2
- Quarkus OpenTelemetry Rest Client Span Name with Route (URL Path Template) HOT 4
- Allow @OIDCClientFilter at field level HOT 13
- WebSockets Next: add basic Dev UI HOT 1
- WebSockets Next: add convenient way to handle the subprotocol header HOT 1
- ChainBuildException - Cycle detected after #39352 PR HOT 6
- [GraalVM 24.1] Integration Tests - Locales - Some fails with: Error occurred during initialization of boot layer HOT 7
- 3.9.0.CR2: NoClassDefFoundError: io/quarkus/security/spi/runtime/SecurityEvent HOT 10
- No way to configure publickey algorithm in quarkus-oidc HOT 7
- Ambiguity in the WebAuthN docs when writing custom login/registration and getting dual write errors on database HOT 7
- Swagger UI unresponsive with big data model in native build HOT 8
- Gradle build cache prevents source packages to be installed to local Maven repository HOT 1
- RestEasy Jackson test fails in certain time zones HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from quarkus.