Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8356144

gcc-15 build error

XMLWordPrintable

    • x86_64
    • linux

      ADDITIONAL SYSTEM INFORMATION :
      openjdk version "1.8.0_462"
      OpenJDK Runtime Environment (build 1.8.0_462-b01)
      OpenJDK 64-Bit Server VM (build 25.462-b01, mixed mode)

      A DESCRIPTION OF THE PROBLEM :
      As ArchLinux use gcc15 as default gcc, package java8-openjdk cannot rebuild.(for me, I can't build jdk8u-jdk8u462-b01 version actually. same as jdk8u-jdk8u452-b09 I think)

      https://github.com/openjdk/jdk8u/blob/55273f7267b95cf38743bb32ea61a513fbafb06e/hotspot/agent/src/os/linux/libproc.h#L86

      ```c
      typedef int bool;
      ```
      gcc-15 cannot compile this because
      error: ‘bool’ cannot be defined via ‘typedef’
      temporary fix :
          sed -i "86c //typedef int bool;" hotspot/agent/src/os/linux/libproc.h

      https://github.com/openjdk/jdk8u/blob/55273f7267b95cf38743bb32ea61a513fbafb06e/jdk/src/share/native/common/jni_util.h#L410

      ```c
      void initializeEncoding();
      ```

      https://github.com/openjdk/jdk8u/blob/55273f7267b95cf38743bb32ea61a513fbafb06e/jdk/src/share/native/common/jni_util.c#L687

      ```c
      void
      initializeEncoding(JNIEnv *env) {
      ...
      }
      ```
      gcc-15 cannot compile this because
      error: conflicting types for ‘initializeEncoding’; have ‘void(JNIEnv *)’
      temporary fix :
          sed -i "410c void initializeEncoding(JNIEnv *env);" jdk/src/share/native/common/jni_util.h

      https://github.com/openjdk/jdk8u/blob/55273f7267b95cf38743bb32ea61a513fbafb06e/jdk/src/share/bin/java.c#L148

      ```c
      static void GrowKnownVMs();
      ```

      https://github.com/openjdk/jdk8u/blob/55273f7267b95cf38743bb32ea61a513fbafb06e/jdk/src/share/bin/java.c#L1758

      ```c
       GrowKnownVMs(cnt);
      ```

      gcc-15 cannot compile this because
      error: too many arguments to function ‘GrowKnownVMs’; expected 0, have 1
      temporary fix :
          sed -i "148c static void GrowKnownVMs(int);" jdk/src/share/bin/java.c


      /builds/java8-openjdk/src/jdk8u-jdk8u462-b01/jdk/src/solaris/native/sun/net/spi/DefaultProxySelector.c: In function ‘getProxyByGProxyResolver’:
      /builds/java8-openjdk/src/jdk8u-jdk8u462-b01/jdk/src/solaris/native/sun/net/spi/DefaultProxySelector.c:404:16: error: too many arguments to function ‘g_proxy_resolver_lookup’; expected 0, have 4
        404 | proxies = (*g_proxy_resolver_lookup)(resolver, uri, NULL, &error);
            | ~^~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~
      /builds/java8-openjdk/src/jdk8u-jdk8u462-b01/jdk/src/solaris/native/sun/net/spi/DefaultProxySelector.c:413:30: error: too many arguments to function ‘g_network_address_parse_uri’; expected 0, have 3
        413 | (*g_network_address_parse_uri)(proxies[i], 0,
            | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~
      /builds/java8-openjdk/src/jdk8u-jdk8u462-b01/jdk/src/solaris/native/sun/net/spi/DefaultProxySelector.c:418:34: error: too many arguments to function ‘g_network_address_get_hostname’; expected 0, have 1
        418 | phost = (*g_network_address_get_hostname)(conn);
            | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~
      /builds/java8-openjdk/src/jdk8u-jdk8u462-b01/jdk/src/solaris/native/sun/net/spi/DefaultProxySelector.c:419:34: error: too many arguments to function ‘g_network_address_get_port’; expected 0, have 1
        419 | pport = (*g_network_address_get_port)(conn);
            | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~
      /builds/java8-openjdk/src/jdk8u-jdk8u462-b01/jdk/src/solaris/native/sun/net/spi/DefaultProxySelector.c:445:10: error: too many arguments to function ‘g_strfreev’; expected 0, have 1
        445 | (*g_strfreev)(proxies);
            | ~^~~~~~~~~~~~ ~~~~~~~
      make[2]: *** [lib/NetworkingLibraries.gmk:62: /builds/java8-openjdk/src/jdk8u-jdk8u462-b01/build/linux-x86_64-normal-server-release/jdk/objs/libnet/DefaultProxySelector.o] Error 1

      there is maybe some more compile error, I haven't found it yet. because I'm not sure how to temporary fix above error

      please generate a patch for gcc-15, I now build java8-openjdk 1.8.0_462-b01 using specified gcc-14

      STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
      git clone https://gitlab.archlinux.org/archlinux/packaging/packages/java8-openjdk
      cd java8-openjdk
      makepkg -s

      EXPECTED VERSUS ACTUAL BEHAVIOR :
      EXPECTED -
      successfully build java8-openjdk packages
      ACTUAL -
      receive compile error as above

            Unassigned Unassigned
            webbuggrp Webbug Group
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: