Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

openjdk: 12.0.2 -> 13.0.2 #70983

Merged
7 commits merged into from
Mar 20, 2020
Merged

openjdk: 12.0.2 -> 13.0.2 #70983

7 commits merged into from
Mar 20, 2020

Conversation

jerith666
Copy link
Contributor

Motivation for this change
Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Determined the impact on package closure size (by running nix path-info -S before and after)
  • Ensured that relevant documentation is up to date
  • Fits CONTRIBUTING.md.
Notify maintainers

cc @shlevy @NeQuissimus @lopsided98

@jonringer
Copy link
Contributor

please rebase on top of master to fix conflicts

git pull -r origin master

@jerith666
Copy link
Contributor Author

jerith666 commented Oct 11, 2019

weird ... my git client resolved that conflict automatically. but I checked manually and it seems right to me (the NIX_CFLAGS_COMPILE setting from 203ba05 is preserved in openjfx/13.nx).

@jonringer
Copy link
Contributor

jonringer commented Oct 11, 2019

it still needs to be folded into the previous commit to adhere to the contributing guidelines.

git reset HEAD^
git commit -a --amend --no-edit
git push <remote> jdk-13 --force

@jerith666
Copy link
Contributor Author

Done, sorry!

Copy link
Contributor

@jonringer jonringer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The new packages didnt build:

warning: ignoring the user-specified setting 'sandbox', because it is a restricted setting and you are not a trusted user
builder for '/nix/store/iwiw6wc4c07nyjhimf4hp52y6d9dyh26-openjfx-deps-13-14.drv' failed with exit code 1; last 10 log lines:
  Execution failed for task ':graphics:ccLinuxGlassGlassgtk2'.
  > java.util.concurrent.ExecutionException: org.gradle.process.internal.ExecException: Process 'command 'gcc'' finished with non-zero exit value 1

  * 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 2m 32s
  27 actionable tasks: 27 executed
cannot build derivation '/nix/store/8b9hfbijd37q51858k8b9jci0m9chs1n-openjfx-modular-sdk-13-14.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/yqv9z426r9g37as0ymglqqbdm9d4by3n-openjdk-13+33.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/sc2ch4c1gi8djdlp33y09pwwl2w0ciqh-env.drv': 2 dependencies couldn't be built
[6 built (1 failed), 4 copied (707.8 MiB), 550.1 MiB DL]
error: build of '/nix/store/sc2ch4c1gi8djdlp33y09pwwl2w0ciqh-env.drv' failed
https://github.com/NixOS/nixpkgs/pull/70983
2 package failed to build:
jdk13 openjfx13

2 package were build:
jdk13_headless openjdk13bootjdk

@jerith666
Copy link
Contributor Author

okay, I admit I didn't try rebuilding after I rebased. I'll take a look.

@jonringer
Copy link
Contributor

it's why we have reviews, no worries :)

@jerith666
Copy link
Contributor Author

Ugh, the errors are all like this:

> Task :graphics:linkLinuxGlassGlass
In file included from /nix/store/375635822k7wgr9l49b4rrdwdh6b3h5f-gtk+-2.24.32-dev/include/gtk-2.0/gtk/gtkobject.h:37,
                 from /nix/store/375635822k7wgr9l49b4rrdwdh6b3h5f-gtk+-2.24.32-dev/include/gtk-2.0/gtk/gtkwidget.h:36,
                 from /nix/store/375635822k7wgr9l49b4rrdwdh6b3h5f-gtk+-2.24.32-dev/include/gtk-2.0/gtk/gtkcontainer.h:35,
                 from /nix/store/375635822k7wgr9l49b4rrdwdh6b3h5f-gtk+-2.24.32-dev/include/gtk-2.0/gtk/gtkbin.h:35,
                 from /nix/store/375635822k7wgr9l49b4rrdwdh6b3h5f-gtk+-2.24.32-dev/include/gtk-2.0/gtk/gtkwindow.h:36,
                 from /nix/store/375635822k7wgr9l49b4rrdwdh6b3h5f-gtk+-2.24.32-dev/include/gtk-2.0/gtk/gtkdialog.h:35,
                 from /nix/store/375635822k7wgr9l49b4rrdwdh6b3h5f-gtk+-2.24.32-dev/include/gtk-2.0/gtk/gtkaboutdialog.h:32,
                 from /nix/store/375635822k7wgr9l49b4rrdwdh6b3h5f-gtk+-2.24.32-dev/include/gtk-2.0/gtk/gtk.h:33,
                 from /build/rt-13+14/modules/javafx.graphics/src/main/native-glass/gtk/wrapped.c:36:
/nix/store/375635822k7wgr9l49b4rrdwdh6b3h5f-gtk+-2.24.32-dev/include/gtk-2.0/gtk/gtktypeutils.h:236:1: error: 'GTypeDebugFlags' is deprecated [-Werror=deprecated-declarations]
 void            gtk_type_init   (GTypeDebugFlags    debug_flags);
 ^~~~
In file included from /nix/store/sqvbi2ypbnldgxl7fsx0jzcsvl8y0047-glib-2.62.0-dev/include/glib-2.0/gobject/gobject.h:24,
                 from /nix/store/sqvbi2ypbnldgxl7fsx0jzcsvl8y0047-glib-2.62.0-dev/include/glib-2.0/gobject/gbinding.h:29,
                 from /nix/store/sqvbi2ypbnldgxl7fsx0jzcsvl8y0047-glib-2.62.0-dev/include/glib-2.0/glib-object.h:23,
                 from /nix/store/sqvbi2ypbnldgxl7fsx0jzcsvl8y0047-glib-2.62.0-dev/include/glib-2.0/gio/gioenums.h:28,
                 from /nix/store/sqvbi2ypbnldgxl7fsx0jzcsvl8y0047-glib-2.62.0-dev/include/glib-2.0/gio/giotypes.h:28,
                 from /nix/store/sqvbi2ypbnldgxl7fsx0jzcsvl8y0047-glib-2.62.0-dev/include/glib-2.0/gio/gio.h:26,
                 from /nix/store/375635822k7wgr9l49b4rrdwdh6b3h5f-gtk+-2.24.32-dev/include/gtk-2.0/gdk/gdkapplaunchcontext.h:30,
                 from /nix/store/375635822k7wgr9l49b4rrdwdh6b3h5f-gtk+-2.24.32-dev/include/gtk-2.0/gdk/gdk.h:32,
                 from /nix/store/375635822k7wgr9l49b4rrdwdh6b3h5f-gtk+-2.24.32-dev/include/gtk-2.0/gtk/gtk.h:32,
                 from /build/rt-13+14/modules/javafx.graphics/src/main/native-glass/gtk/wrapped.c:36:
/nix/store/sqvbi2ypbnldgxl7fsx0jzcsvl8y0047-glib-2.62.0-dev/include/glib-2.0/gobject/gtype.h:679:1: note: declared here
 {
 ^
In file included from /nix/store/375635822k7wgr9l49b4rrdwdh6b3h5f-gtk+-2.24.32-dev/include/gtk-2.0/gtk/gtktoolitem.h:31,
                 from /nix/store/375635822k7wgr9l49b4rrdwdh6b3h5f-gtk+-2.24.32-dev/include/gtk-2.0/gtk/gtktoolbutton.h:30,
                 from /nix/store/375635822k7wgr9l49b4rrdwdh6b3h5f-gtk+-2.24.32-dev/include/gtk-2.0/gtk/gtkmenutoolbutton.h:30,
                 from /nix/store/375635822k7wgr9l49b4rrdwdh6b3h5f-gtk+-2.24.32-dev/include/gtk-2.0/gtk/gtk.h:126,
                 from /build/rt-13+14/modules/javafx.graphics/src/main/native-glass/gtk/wrapped.c:36:
/nix/store/375635822k7wgr9l49b4rrdwdh6b3h5f-gtk+-2.24.32-dev/include/gtk-2.0/gtk/gtktooltips.h:73:3: error: 'GTimeVal' is deprecated: Use 'GDateTime' instead [-Werror=deprecated-declarations]
   GTimeVal last_popdown;
   ^~~~~~~~
In file included from /nix/store/sqvbi2ypbnldgxl7fsx0jzcsvl8y0047-glib-2.62.0-dev/include/glib-2.0/glib/galloca.h:32,
                 from /nix/store/sqvbi2ypbnldgxl7fsx0jzcsvl8y0047-glib-2.62.0-dev/include/glib-2.0/glib.h:30,
                 from /nix/store/sqvbi2ypbnldgxl7fsx0jzcsvl8y0047-glib-2.62.0-dev/include/glib-2.0/gobject/gbinding.h:28,
                 from /nix/store/sqvbi2ypbnldgxl7fsx0jzcsvl8y0047-glib-2.62.0-dev/include/glib-2.0/glib-object.h:23,
                 from /nix/store/sqvbi2ypbnldgxl7fsx0jzcsvl8y0047-glib-2.62.0-dev/include/glib-2.0/gio/gioenums.h:28,
                 from /nix/store/sqvbi2ypbnldgxl7fsx0jzcsvl8y0047-glib-2.62.0-dev/include/glib-2.0/gio/giotypes.h:28,
                 from /nix/store/sqvbi2ypbnldgxl7fsx0jzcsvl8y0047-glib-2.62.0-dev/include/glib-2.0/gio/gio.h:26,
                 from /nix/store/375635822k7wgr9l49b4rrdwdh6b3h5f-gtk+-2.24.32-dev/include/gtk-2.0/gdk/gdkapplaunchcontext.h:30,
                 from /nix/store/375635822k7wgr9l49b4rrdwdh6b3h5f-gtk+-2.24.32-dev/include/gtk-2.0/gdk/gdk.h:32,
                 from /nix/store/375635822k7wgr9l49b4rrdwdh6b3h5f-gtk+-2.24.32-dev/include/gtk-2.0/gtk/gtk.h:32,
                 from /build/rt-13+14/modules/javafx.graphics/src/main/native-glass/gtk/wrapped.c:36:
/nix/store/sqvbi2ypbnldgxl7fsx0jzcsvl8y0047-glib-2.62.0-dev/include/glib-2.0/glib/gtypes.h:551:8: note: declared here
 struct _GTimeVal
        ^~~~~~~~~
cc1: all warnings being treated as errors

I think there was a massive GTK update that landed recently, probably that's the cause ...

@jerith666 jerith666 changed the title openjdk: 12.0.2 -> 13 WIP: openjdk: 12.0.2 -> 13 Oct 11, 2019
@jonringer
Copy link
Contributor

cc @worldofpeace for gtk knowledge

@jerith666
Copy link
Contributor Author

The big GTK thing landing I was thinking of was actually Gnome 3.34 (#68608), but still may be related. That was between the earlier version of this PR that did build and this one. The old version was based on d484f2b so the cause of this breakage must be between there and b943338.

@worldofpeace
Copy link
Contributor

worldofpeace commented Oct 11, 2019

@jerith666 Try adding NIX_CFLAGS_COMPILE = [ "-DGLIB_DISABLE_DEPRECATION_WARNINGS" ];.
They moved a lot of things into deprecation and usually these warnings get treated as compile errors.
And yes that glib updated happened in #68608 so it's directly related.

@jerith666
Copy link
Contributor Author

That did the trick -- thanks!

Copy link
Contributor

@lopsided98 lopsided98 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would like to bring the bootstrapping process in line with other JDK versions, but I would also be ok with merging this as is if that is too much work right now.

pkgs/top-level/all-packages.nix Outdated Show resolved Hide resolved
@lopsided98 lopsided98 mentioned this pull request Oct 12, 2019
10 tasks
@lopsided98
Copy link
Contributor

See #71016

@jerith666
Copy link
Contributor Author

rebuilding now to try this out, will post an update here once I see it working -- thanks!

@jerith666
Copy link
Contributor Author

Okay, bootstrapping with AdoptOpenJDK 13 works; new version pushed.

@ofborg ofborg bot requested a review from taku0 October 14, 2019 02:50
@jerith666
Copy link
Contributor Author

Hm ... well, correction ... bootstrapping works on x86_64-linux, but not on i686-linux. I'd rather not have to drop 32-bit just to achieve a "cleaner" bootstrapping process ... :-/

@jerith666
Copy link
Contributor Author

adoptium/temurin-build#986 is the issue for AdoptOpenJDK 32-bit x86.

@lopsided98
Copy link
Contributor

I mentioned that problem in my comment - we can produce our own bootstrap tarball like we have for other OpenJDK versions. There are scripts to do this but they haven't been used since JDK 10 so they may need some updates. Ideally, the tarball would be reproducible, so that multiple people could help verify that it has not been tampered with.

@jerith666 jerith666 changed the title WIP: openjdk: 12.0.2 -> 13 openjdk: 12.0.2 -> 13.0.1 Oct 17, 2019
@jerith666
Copy link
Contributor Author

Okay, I just pushed a version that bootstraps with adoptopenjdk on 64-bit, but with openjdk 12 on 32-bit. I think that's the best I can do on my own.

I haven't tested darwin b/c I don't have a machine that can do that.

@lopsided98
Copy link
Contributor

I think that is a good solution for now.

I have been thinking of a way to create a somewhat trustworthy bootstrap tarball. I doubt the OpenJDK build itself is reproducible, but we can let Hydra build OpenJDK 13 with the current bootstrapping method. This gives a trusted build of OpenJDK that can hopefully be used to reproducibly create a bootstrap tarball, which would allow others to verify that it has not been tampered with.

Conflicts:
	pkgs/development/compilers/adoptopenjdk-bin/sources.json
          -- keep newer adoptopenjdk versions from HEAD^2
@jerith666 jerith666 changed the title openjdk: 12.0.2 -> 13.0.1 openjdk: 12.0.2 -> 13.0.2 Mar 9, 2020
@jerith666
Copy link
Contributor Author

conflicts fixed and bumped to 13.0.2.

Copy link
Contributor

@jonringer jonringer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

mostly LGTM, and everything builds:

7 package built:
openjdk13-bootstrap adoptopenjdk-jre-hotspot-bin-13 adoptopenjdk-jre-openj9-bin-13 adoptopenjdk-openj9-bin-13 jdk13 jdk13_headless openjfx13

@KamilaBorowska
Copy link
Member

What is a status of this? This blocks update to OpenJDK 14, as OpenJDK 13 compiler is needed for that.

@jerith666
Copy link
Contributor Author

I just noticed that this conflicts with 74d9a1f; testing a fix now.

@jerith666
Copy link
Contributor Author

okay, jetbrains-jdk conflict fixed; this is once again ready to merge!

@ghost
Copy link

ghost commented Mar 20, 2020

I will run nix-review and unless anyone raises new concerns I would merge it. Meanwhile JDK 14 was released as -ga.

@ghost
Copy link

ghost commented Mar 20, 2020

19 package built:
openjdk13-bootstrap adoptopenjdk-jre-hotspot-bin-13 adoptopenjdk-jre-openj9-bin-13 adoptopenjdk-openj9-bin-13 jdk13 jdk13_headless jetbrains.clion jetbrains.datagrip jetbrains.goland jetbrains.idea-community jetbrains.idea-ultimate jetbrains.jdk jetbrains.phpstorm jetbrains.pycharm-community jetbrains.pycharm-professional jetbrains.rider jetbrains.ruby-mine jetbrains.webstorm openjfx13

@ghost ghost merged commit d1303f1 into NixOS:master Mar 20, 2020
@jerith666 jerith666 mentioned this pull request Mar 22, 2020
12 tasks
This pull request was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants