GNU bug report logs - #63257
Android port: unable to build using javac 20.0.1 on Arch Linux

Previous Next

Package: emacs;

Reported by: Simon Pugnet <simon <at> polaris64.net>

Date: Thu, 4 May 2023 09:23:02 UTC

Severity: normal

Full log


View this message in rfc822 format

From: Po Lu <luangruo <at> yahoo.com>
To: Simon Pugnet <simon <at> polaris64.net>
Cc: 63257 <at> debbugs.gnu.org
Subject: bug#63257: Android port: unable to build using javac 20.0.1 on Arch Linux
Date: Thu, 04 May 2023 20:04:43 +0800
Simon Pugnet <simon <at> polaris64.net> writes:

> 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,

Unfortunately, you do need support for such an option, as otherwise the
generated code will not run on API levels below 26.  I'd recommend the
OpenJDK 11.x release, which will be supported for a significant amount
of time.

I will fix configure to specifically detect this situation and print a
clearer error message.




This bug report was last modified 2 years and 49 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.