Package Details: java-openjfx-src 26.2-1

Git Clone URL: https://aur.archlinux.org/java-openjfx.git (read-only, click to copy)
Package Base: java-openjfx
Description: Java OpenJFX client application platform (open-source implementation of JavaFX) - latest version
Upstream URL: https://wiki.openjdk.java.net/display/OpenJFX/Main
Keywords: javafx openjfx
Licenses: GPL-2.0-only WITH Classpath-exception-2.0
Submitter: freswa
Maintainer: patlefort
Last Packager: patlefort
Votes: 11
Popularity: 0.38
First Submitted: 2023-10-08 20:20 (UTC)
Last Updated: 2025-07-31 20:54 (UTC)

Dependencies (21)

Required by (1)

Sources (3)

Pinned Comments

patlefort commented on 2025-05-03 18:24 (UTC) (edited on 2025-05-03 18:24 (UTC) by patlefort)

I've bumped the version but also modified the install locations:

  • .so files are in /usr/lib/java-openjfx
  • .jar and .jmod files are in /usr/share/java/java-openjfx

It will require java 23, which requires java 22 to build. I have also removed webkit support.

Latest Comments

« First ‹ Previous 1 2 3 4 5 Next › Last »

Freso commented on 2024-03-31 22:35 (UTC)

Patches etc. are very welcome at https://gitlab.archlinux.org/freso/java-openjfx if you have any suggestions for how to fix the package. :)

jghodd commented on 2024-03-31 17:52 (UTC)

After making sure my build environment was set to jdk21, I got back to the original error which occurs when it tries to link whatever is produced by compileNativeJava. Can somebody push a binary for this, since it appears to be missing some dependency here - Sun Micro API from somewhere...


ld.lld: error: version script assignment of 'SUNWprivate_1.0' to symbol '_ZN3WTF8LockBase8lockSlowEv' failed: symbol not defined
ld.lld: error: version script assignment of 'SUNWprivate_1.0' to symbol '_ZN3WTF8LockBase10unlockSlowEv' failed: symbol not defined
ld.lld: error: version script assignment of 'SUNWprivate_1.0' to symbol '_ZN3WTF10fastMallocEj' failed: symbol not defined
ld.lld: error: version script assignment of 'SUNWprivate_1.0' to symbol '_ZN3WTF16fastZeroedMallocEj' failed: symbol not defined
ld.lld: error: version script assignment of 'SUNWprivate_1.0' to symbol '_ZNK3WTF10StringView23underlyingStringIsValidEv' failed: symbol not defined
ld.lld: error: version script assignment of 'SUNWprivate_1.0' to symbol 'Java_com_sun_webkit_dom_DOMSelectionImpl_addRangeImpl' failed: symbol not defined
ld.lld: error: version script assignment of 'SUNWprivate_1.0' to symbol 'Java_com_sun_webkit_dom_DOMSelectionImpl_collapseImpl' failed: symbol not defined
ld.lld: error: version script assignment of 'SUNWprivate_1.0' to symbol 'Java_com_sun_webkit_dom_DOMSelectionImpl_collapseToEndImpl' failed: symbol not defined
ld.lld: error: version script assignment of 'SUNWprivate_1.0' to symbol 'Java_com_sun_webkit_dom_DOMSelectionImpl_collapseToStartImpl' failed: symbol not defined
ld.lld: error: version script assignment of 'SUNWprivate_1.0' to symbol 'Java_com_sun_webkit_dom_DOMSelectionImpl_containsNodeImpl' failed: symbol not defined
ld.lld: error: version script assignment of 'SUNWprivate_1.0' to symbol 'Java_com_sun_webkit_dom_DOMSelectionImpl_deleteFromDocumentImpl' failed: symbol not defined
ld.lld: error: version script assignment of 'SUNWprivate_1.0' to symbol 'Java_com_sun_webkit_dom_DOMSelectionImpl_dispose' failed: symbol not defined
ld.lld: error: version script assignment of 'SUNWprivate_1.0' to symbol 'Java_com_sun_webkit_dom_DOMSelectionImpl_emptyImpl' failed: symbol not defined
ld.lld: error: version script assignment of 'SUNWprivate_1.0' to symbol 'Java_com_sun_webkit_dom_DOMSelectionImpl_extendImpl' failed: symbol not defined
ld.lld: error: version script assignment of 'SUNWprivate_1.0' to symbol 'Java_com_sun_webkit_dom_DOMSelectionImpl_getAnchorNodeImpl' failed: symbol not defined
ld.lld: error: version script assignment of 'SUNWprivate_1.0' to symbol 'Java_com_sun_webkit_dom_DOMSelectionImpl_getAnchorOffsetImpl' failed: symbol not defined
ld.lld: error: version script assignment of 'SUNWprivate_1.0' to symbol 'Java_com_sun_webkit_dom_DOMSelectionImpl_getBaseNodeImpl' failed: symbol not defined
ld.lld: error: version script assignment of 'SUNWprivate_1.0' to symbol 'Java_com_sun_webkit_dom_DOMSelectionImpl_getBaseOffsetImpl' failed: symbol not defined
ld.lld: error: version script assignment of 'SUNWprivate_1.0' to symbol 'Java_com_sun_webkit_dom_DOMSelectionImpl_getExtentNodeImpl' failed: symbol not defined
ld.lld: error: version script assignment of 'SUNWprivate_1.0' to symbol 'Java_com_sun_webkit_dom_DOMSelectionImpl_getExtentOffsetImpl' failed: symbol not defined
ld.lld: error: too many errors emitted, stopping now (use --error-limit=0 to see all errors)
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.

> Task :web:compileNativeLinux FAILED

FAILURE: Build failed with an exception.

* Where:
Build file '/distro/local/repository/java-openjfx/newbuild/java-openjfx/src/jfx22u-22-30/build.gradle' line: 3659

jghodd commented on 2024-03-30 19:22 (UTC) (edited on 2024-03-30 19:26 (UTC) by jghodd)

First, !lto is already set in options in PKGBUILD.

Still seeing the following error:


> Task :graphics:compileJava FAILED
You specified both --module-source-path and a sourcepath. These options are mutually exclusive. Ignoring sourcepath.
error: option --upgrade-module-path cannot be used together with --release
Usage: javac <options> <source files>
use --help for a list of possible options

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':graphics:compileJava'.
> Compilation failed with exit code 2; see the compiler error output for details.

* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 23s
9 actionable tasks: 2 executed, 7 up-to-date
==> ERROR: A failure occurred in build().
    Aborting...

Still not able to build.

Edit: also, java-environment-openjdk is now the same version (22), so the line


java-environment-openjdk=$((${pkgver%%.*}-1))

is setting java-environment-openjdk to 21, which is out-of-date.

sl1pkn07 commented on 2024-03-30 17:08 (UTC)

maybe disable lto? !lto in the options array

patlefort commented on 2024-03-30 01:21 (UTC)

Link error in clean container:

[100%] Linking CXX shared library ../../lib/libjfxwebkit.so
ld.lld: error: version script assignment of 'SUNWprivate_1.0' to symbol '_ZN3WTF8LockBase8lockSlowEv' failed: symbol not defined
ld.lld: error: version script assignment of 'SUNWprivate_1.0' to symbol '_ZN3WTF8LockBase10unlockSlowEv' failed: symbol not defined
ld.lld: error: version script assignment of 'SUNWprivate_1.0' to symbol '_ZN3WTF10fastMallocEj' failed: symbol not defined
ld.lld: error: version script assignment of 'SUNWprivate_1.0' to symbol '_ZN3WTF16fastZeroedMallocEj' failed: symbol not defined
ld.lld: error: version script assignment of 'SUNWprivate_1.0' to symbol '_ZNK3WTF10StringView23underlyingStringIsValidEv' failed: symbol not defined
ld.lld: error: version script assignment of 'SUNWprivate_1.0' to symbol 'Java_com_sun_webkit_dom_DOMSelectionImpl_addRangeImpl' failed: symbol not defined
ld.lld: error: version script assignment of 'SUNWprivate_1.0' to symbol 'Java_com_sun_webkit_dom_DOMSelectionImpl_collapseImpl' failed: symbol not defined
ld.lld: error: version script assignment of 'SUNWprivate_1.0' to symbol 'Java_com_sun_webkit_dom_DOMSelectionImpl_collapseToEndImpl' failed: symbol not defined
ld.lld: error: version script assignment of 'SUNWprivate_1.0' to symbol 'Java_com_sun_webkit_dom_DOMSelectionImpl_collapseToStartImpl' failed: symbol not defined
ld.lld: error: version script assignment of 'SUNWprivate_1.0' to symbol 'Java_com_sun_webkit_dom_DOMSelectionImpl_containsNodeImpl' failed: symbol not defined
ld.lld: error: version script assignment of 'SUNWprivate_1.0' to symbol 'Java_com_sun_webkit_dom_DOMSelectionImpl_deleteFromDocumentImpl' failed: symbol not defined
ld.lld: error: version script assignment of 'SUNWprivate_1.0' to symbol 'Java_com_sun_webkit_dom_DOMSelectionImpl_dispose' failed: symbol not defined
ld.lld: error: version script assignment of 'SUNWprivate_1.0' to symbol 'Java_com_sun_webkit_dom_DOMSelectionImpl_emptyImpl' failed: symbol not defined
ld.lld: error: version script assignment of 'SUNWprivate_1.0' to symbol 'Java_com_sun_webkit_dom_DOMSelectionImpl_extendImpl' failed: symbol not defined
ld.lld: error: version script assignment of 'SUNWprivate_1.0' to symbol 'Java_com_sun_webkit_dom_DOMSelectionImpl_getAnchorNodeImpl' failed: symbol not defined
ld.lld: error: version script assignment of 'SUNWprivate_1.0' to symbol 'Java_com_sun_webkit_dom_DOMSelectionImpl_getAnchorOffsetImpl' failed: symbol not defined
ld.lld: error: version script assignment of 'SUNWprivate_1.0' to symbol 'Java_com_sun_webkit_dom_DOMSelectionImpl_getBaseNodeImpl' failed: symbol not defined
ld.lld: error: version script assignment of 'SUNWprivate_1.0' to symbol 'Java_com_sun_webkit_dom_DOMSelectionImpl_getBaseOffsetImpl' failed: symbol not defined
ld.lld: error: version script assignment of 'SUNWprivate_1.0' to symbol 'Java_com_sun_webkit_dom_DOMSelectionImpl_getExtentNodeImpl' failed: symbol not defined
ld.lld: error: version script assignment of 'SUNWprivate_1.0' to symbol 'Java_com_sun_webkit_dom_DOMSelectionImpl_getExtentOffsetImpl' failed: symbol not defined
ld.lld: error: too many errors emitted, stopping now (use --error-limit=0 to see all errors)
collect2: error: ld returned 1 exit status
make[2]: *** [Source/WebKitLegacy/CMakeFiles/WebKitLegacy.dir/build.make:2269: lib/libjfxwebkit.so] Error 1
make[1]: *** [CMakeFiles/Makefile2:1062: Source/WebKitLegacy/CMakeFiles/WebKitLegacy.dir/all] Error 2
make: *** [Makefile:111: all] Error 2

sl1pkn07 commented on 2024-03-28 19:20 (UTC) (edited on 2024-03-28 19:22 (UTC) by sl1pkn07)

i think i found the problem. the problem may be is makepkg iself

in the makepkg.conf:

the line LDFLAGS= is separated in two lines: \ character, new line, and 10 spaces

LDFLAGS="-Wl,-O1 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now \
         -Wl,-z,pack-relative-relocs"

remove 9 spaces and the new line character (\n), wich correspond to the 9 "/usr/bin/ld: no se puede encontrar : No existe el fichero o el directorio (in english) fails, of them start build without problem. so can trim it with sed or directly in the makepkg.conf file for short to only one unique line

so, bad hack can be:

export LDFLAGS="$(echo ${LDFLAGS} | sed -e 's|[[:space:]][[:space:]]|[[:space:]]|g' -e 's|\n||g')"

greetings

Freso commented on 2024-02-15 08:19 (UTC)

@w568w Does it work/build for you if you change those lines to:

  export CFLAGS="${CFLAGS:=}"
  export LDFLAGS="${LDFLAGS:=}"

w568w commented on 2024-02-05 13:45 (UTC)

@Freso Yes, I can confirm that it builds without these two lines:

export CFLAGS=${CFLAGS:=}
export LDFLAGS=${LDFLAGS:=}

Perhaps a simple workaround would be to terminate with error when CFLAGS or LDFLAGS is missing?

Since the actual problem is in java-openjfx-flags.patch, a more complete solution should be to fix this patch... However, I have no experience in writing Groovy.

Freso commented on 2024-02-03 09:46 (UTC)

Does it build correctly for you with those lines removed/commented out? Because the package doesn’t currently build for me (with or without those lines) and I haven’t figured out what’s going on yet.

w568w commented on 2024-01-20 07:26 (UTC) (edited on 2024-01-20 07:31 (UTC) by w568w)

Hi @Freso , your workaround may not work with LDFLAGS not set. LDFLAGS is set to an empty string in PKGBUILD, which seems to be passed to linker as-is then, i.e.:

ld "" --other-flags /other/paths

Thus ld will complain that it cannot find file named "":

ld  : no such file or directory