Bug 2051197

Summary: openjfx fails to build with java-17-openjdk
Product: [Fedora] Fedora Reporter: jiri vanek <jvanek>
Component: openjfxAssignee: Nicolas De Amicis <deamicis>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: unspecified    
Version: 36CC: deamicis, didiksupriadi41, hegjon, java-maint-sig, jhuttana, jvanek, mat.booth, mtasaka, pmikova, sgehwolf
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2022-02-19 07:15:59 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 2024265    

Description jiri vanek 2022-02-06 15:30:30 UTC
openjfx fails to build with java-17-openjdk as sytem JDK. See https://fedoraproject.org/wiki/Changes/Java17 .
See especially part about known failures: https://fedoraproject.org/wiki/Changes/Java17#common_issues_packagers_can_face_and_gathered_solutions

For the build logs, see: https://koji.fedoraproject.org/koji/taskinfo?taskID=82432602
https://kojipkgs.fedoraproject.org/work/tasks/2699/82432699/mock_output.log
https://kojipkgs.fedoraproject.org/work/tasks/2699/82432699/hw_info.log
https://kojipkgs.fedoraproject.org/work/tasks/2699/82432699/state.log
https://kojipkgs.fedoraproject.org/work/tasks/2699/82432699/build.log
https://kojipkgs.fedoraproject.org/work/tasks/2699/82432699/root.log
We run the rebuild in side tag f36-java17, but as fail ratio was small, we expect this side tag to be merged into rawhide 7 or 8 of February 2022.
To reproduce before this date simply: fedpkg clone openjfx; cd openjfx;  fedpkg build --target f36-java17; #The target is crucial.
After this date the usual fedpkg build in f36 and up should do.

We run two reruns your package failed both.

We had also run the mass rebuilds in copr since November. We keep all encountered failures. See them here: https://copr.fedorainfracloud.org/coprs/jvanek/java17//package/openjfx
You may find interesting additional informations here. Also we were spamming maintainers regualrly, check you spam folder.
              

We had tried aprox 500 packages, and aprox 65 had failed, so the java-17-openjdk will be system JDK in f36, and you should fix your package if you want to keep it alive. Usually the fix is simple, and best is to update the package to latest upstream version.
There will be usual mass rebuild once f36 branches. You may got another FTBFS bug.
Let us know here if you have any questions, here in bug, or at java-devel.org .

We'd appreciate help from the people who know this package best, but if you don't want to work on this now, let us know so we can try to work around it on our side if needed.

Comment 1 jiri vanek 2022-02-06 16:05:05 UTC
      | ^~~~~~~~~~~~~~~~
In file included from /builddir/build/BUILD/rt-11.0.9+2/modules/javafx.web/src/main/native/Source/WTF/wtf/Vector.h:30,
                 from /builddir/build/BUILD/rt-11.0.9+2/modules/javafx.web/src/main/native/Source/WTF/wtf/Vector.cpp:27:
/builddir/build/BUILD/rt-11.0.9+2/modules/javafx.web/src/main/native/Source/WTF/wtf/Forward.h:51:1: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
   51 | #if ENABLE(MALLOC_HEAP_BREAKDOWN)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
gmake[2]: *** [Source/WTF/wtf/CMakeFiles/WTF.dir/build.make:1143: Source/WTF/wtf/CMakeFiles/WTF.dir/UUID.cpp.o] Error 1
gmake[2]: *** Waiting for unfinished jobs....
In file included from /builddir/build/BUILD/rt-11.0.9+2/modules/javafx.web/src/main/native/Source/WTF/wtf/Vector.h:32:
....
/usr/include/c++/12/bits/stl_iterator_base_types.h:127:34: note: declared here
  127 |     struct _GLIBCXX17_DEPRECATED iterator
      |                                  ^~~~~~~~
gmake[2]: *** [Source/WTF/wtf/CMakeFiles/WTF.dir/build.make:1101: Source/WTF/wtf/CMakeFiles/WTF.dir/URL.cpp.o] Error 1
gmake[2]: Leaving directory '/builddir/build/BUILD/rt-11.0.9+2/redhat-linux-build'
gmake[1]: *** [CMakeFiles/Makefile2:407: Source/WTF/wtf/CMakeFiles/WTF.dir/all] Error 2
gmake[1]: Leaving directory '/builddir/build/BUILD/rt-11.0.9+2/redhat-linux-build'
gmake: *** [Makefile:114: all] Error 2
error: Bad exit status from /var/tmp/rpm-tmp.TpkX8a (%build)
    Bad exit status from /var/tmp/rpm-tmp.TpkX8a (%build)

more likely gcc issue then jdk17 issue

Comment 2 Nicolas De Amicis 2022-02-07 07:47:39 UTC
I have an FTBFS on this package, I'm working on since some days but I don't understand or found what is the error (UUID.cpp.o Error 1 but what?). Do you have any ideas to help me?

In parallel, I try to upgrade to openjfx 17, but I have an another problem on icu data missing on building...

Comment 3 Mat Booth 2022-02-07 12:55:19 UTC
(In reply to Nicolas De Amicis from comment #2)
> I have an FTBFS on this package, I'm working on since some days but I don't
> understand or found what is the error (UUID.cpp.o Error 1 but what?). Do you
> have any ideas to help me?
> 

I see this in the build log [1] .... Did you try what it suggests?

In file included from /builddir/build/BUILD/rt-11.0.9+2/modules/javafx.web/src/main/native/Source/WTF/wtf/text/WTFString.h:30:
/builddir/build/BUILD/rt-11.0.9+2/modules/javafx.web/src/main/native/Source/WTF/wtf/text/IntegerToStringConversion.h: In function 'typename WTF::IntegerToStringConversionTrait< <template-parameter-1-1> >::ReturnType WTF::numberToStringImpl(UnsignedIntegerType, AdditionalArgumentType)':
/builddir/build/BUILD/rt-11.0.9+2/modules/javafx.web/src/main/native/Source/WTF/wtf/text/IntegerToStringConversion.h:36:23: error: 'end' is not a member of 'std'
   36 |     LChar* end = std::end(buf);
      |                       ^~~
/builddir/build/BUILD/rt-11.0.9+2/modules/javafx.web/src/main/native/Source/WTF/wtf/text/IntegerToStringConversion.h:25:1: note: 'std::end' is defined in header '<iterator>'; did you forget to '#include <iterator>'?
   24 | #include <wtf/text/LChar.h>
  +++ |+#include <iterator>
   25 | 
/builddir/build/BUILD/rt-11.0.9+2/modules/javafx.web/src/main/native/Source/WTF/wtf/text/IntegerToStringConversion.h: In function 'void WTF::writeNumberToBufferImpl(UnsignedIntegerType, CharacterType*)':
/builddir/build/BUILD/rt-11.0.9+2/modules/javafx.web/src/main/native/Source/WTF/wtf/text/IntegerToStringConversion.h:69:23: error: 'end' is not a member of 'std'
   69 |     LChar* end = std::end(buf);
      |                       ^~~
/builddir/build/BUILD/rt-11.0.9+2/modules/javafx.web/src/main/native/Source/WTF/wtf/text/IntegerToStringConversion.h:69:23: note: 'std::end' is defined in header '<iterator>'; did you forget to '#include <iterator>'?

[1] https://koji.fedoraproject.org/koji/taskinfo?taskID=81985102

Comment 4 Ben Cotton 2022-02-08 20:09:35 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 36 development cycle.
Changing version to 36.

Comment 5 Nicolas De Amicis 2022-02-11 16:47:26 UTC
Thanks Mat, I have progressed into the compilation, but now I'm blocked on another error, I have no idea, I search into the build.log some errors but I haven't found (or understand the problem).

Here you could found the build.log, any help is appreciate: https://deamn.fedorapeople.org/

Comment 6 Mat Booth 2022-02-14 15:44:36 UTC
TBH it looks like the build was killed before it finished: "Container 644a7bf456914c51bb3d903d83078543 terminated by signal KILL."

Comment 7 Mamoru TASAKA 2022-02-16 13:52:38 UTC
For fixing FTBFS (only), adding some more header inclusion seems sufficient.

PR submitted: https://src.fedoraproject.org/rpms/openjfx/pull-request/3
scratch build: https://koji.fedoraproject.org/koji/taskinfo?taskID=82868019

Comment 8 Mamoru TASAKA 2022-02-16 13:53:30 UTC
BTW currently openjfx.spec explicitly uses java-11-openjdk.