Subject: Android port: unable to build using javac 20.0.1 on Arch Linux

From: Simon Pugnet <[email-masked]>
Date: Thu, 04 May 2023 10:10:52 +0100

I have been building the Android port from source regularly and after 
a recent Arch Linux package update I am no longer able to configure 
the build.

The JDK package I currently have installed is: extra/jdk-openjdk 
20.0.1.u9-3

When running configure I get: -

  [...]
  checking whether the Java compiler works... no
  configure: error: The Java compiler does not work, or you did not 
  specify
  a valid path to android.jar.  See config.log for more details.
  make: *** [Makefile:586: config.status] Error 1

Checking config.log shows: -

  [...]
  configure:7603: checking whether the Java compiler works
  warning: [options] bootstrap class path not set in conjunction with 
  -source 7
  error: Source option 7 is no longer supported. Use 8 or later.
  error: Target option 7 is no longer supported. Use 8 or later.
  configure:7634: result: no
  configure:7638: error: The Java compiler does not work, or you did 
  not specify
  a valid path to android.jar.  See config.log for more details.
  [...]

When I run javac I see the following: -

  [...]
  --source <release>, -source <release>
        Provide source compatibility with the specified Java SE 
        release. Supported releases: 8, 9, 10, 11, 12, 13, 14, 15, 16, 
        17, 18, 19, 20
  [...]
  --target <release>, -target <release>
        Generate class files suitable for the specified Java SE 
        release. Supported releases: 8, 9, 10, 11, 12, 13, 14, 15, 16, 
        17, 18, 19, 20
  [...]

I can see a few lines in configure.ac which are like this: -

  ("$JAVAC" -classpath "$with_android" -target 1.7 -source 1.7 
  conftest.java \

So I'm assuming the error comes from this version of javac not 
supporting -target/-source 1.7.

I hope that provides enough information, please let me know if you'd 
like me to test anything else.

Kind regards,

-- 
Simon Pugnet
https://www.polaris64.net/
PGP key fingerprint: 3BF7 85DE 162C 00C8 FB4D  A6FD BA13 59A8 2C0B 
3EF9