I cannot build this.
warning: [options] bootstrap class path is not set in conjunction with -source 7 not setting the bootstrap class path may lead to class files that cannot run on JDK 8 --release 7 is recommended instead of -source 7 -target 7 because it sets the bootstrap class path automatically error: Source option 7 is no longer supported. Use 8 or later. error: Target option 7 is no longer supported. Use 8 or later. make[2]: *** [libraries/launcher/CMakeFiles/NewLaunch.dir/build.make:94: libraries/launcher/CMakeFiles/NewLaunch.dir/java_compiled_NewLaunch] Error 2 make[1]: *** [CMakeFiles/Makefile2:1460: libraries/launcher/CMakeFiles/NewLaunch.dir/all] Error 2
This is acknowledged upstream here and here.
A workaround is to change both libraries/launcher/CMakeLists.txt
and libraries/launcher/CMakeLists.txt
so that they check for Java 8.
Gentoo does this too, although they do it depending on the installed JRE.
Edit: This was too annoying, because it requires to unpack the tar, change the values, pack the tar, and then update the sha256. Adding sed -i "s/7/8/g" libraries/{launcher,javacheck}/CMakeLists.txt
to prepare()
is significantly easier.
Pinned Comments
Scrumplex commented on 2023-12-02 12:39 (UTC)
Options like
-j $(nproc)
are supposed to be set by your local makepkg.conf.Please read https://wiki.archlinux.org/title/Makepkg#Parallel_compilation
g3tchoo commented on 2023-11-06 16:38 (UTC) (edited on 2023-11-06 16:38 (UTC) by g3tchoo)
following some feedback and reports of issues, i think we're going to stick with
jdk17-openjdk
for now. while user choice is important, i believe there needs to be a balance between that and reliably building this package without manual intervention. this is also why thedepends
array will still containjava-runtime
rather than any specific jdk - since unlike building prism, we don't need to know the path of the jdk to ensure things work as expected.to ensure you don't still have
jdk17-openjdk
after building (and you don't use it), you can tell makepkg to remove unneededmakedepends
when it's done:if you have already built prismlauncher, you can also run one of the following commands:
for those facing further issues with dependencies in the future, i would also recommend using chroot builds. these allow aur packages to build in isolated and more reproducible environments, which can commonly fix these types of issues. the
devtools
package provides a script namedextra-x86_64-build
that can be used in place of makepkg to do this easily. building prismlauncher with this can be done like so: