Compile Errors in OpenJDK 11 with Non-English Characters in Compilation Path
Magnus Ihse Bursie
magnus.ihse.bursie at oracle.com
Tue Dec 5 10:36:09 UTC 2023
On closer inspection, it would probably be more prudential to set the
value of LC_ALL to C.UTF-8 in the build. It will likely help you with
your problem. I have published a PR at
https://github.com/openjdk/jdk/pull/16971 (JDK-8321373).
/Magnus
On 2023-11-24 13:08, Magnus Ihse Bursie wrote:
>
> Are you running on Ubuntu properly, or Ubuntu in WLS? If it is the
> former, the it is not the same problem as the other poster, which were
> running on Windows.
>
> The JDK build uses the "C" locale. This should be set automatically by
> the build system, so it should just work. But in case there is some
> bug, try exporting LC_ALL=C before building and see if it helps.
>
> Also, the point of LC_ALL is that you can specify it instead of all
> the detailed LC_* variables...
>
> /Magnus
>
> On 2023-11-24 08:41, last last wrote:
>> I am currently facing the same error when build paths include Chinese
>> characters ,after setting the environment variable "export
>> LC_ALL=zh_CN.UTF-8" .The testing environment is also Ubuntu 2004.
>> The system locale settings are as follows:LANG=zh_CN.UTF-8
>> LANGUAGE=zh_CN:zh LC_CTYPE="zh_CN.UTF-8" LC_NUMERIC="zh_CN.UTF-8"
>> LC_TIME="zh_CN.UTF-8" LC_COLLATE="zh_CN.UTF-8"
>> LC_MONETARY="zh_CN.UTF-8" LC_MESSAGES="zh_CN.UTF-8"
>> LC_PAPER="zh_CN.UTF-8" LC_NAME="zh_CN.UTF-8" LC_ADDRESS="zh_CN.UTF-8"
>> LC_TELEPHONE="zh_CN.UTF-8" LC_MEASUREMENT="zh_CN.UTF-8"
>> LC_IDENTIFICATION="zh_CN.UTF-8" LC_ALL=zh_CN.UTF-8
>> I'm wondering if there are any other system configurations that could
>> help resolve this problem. Your insights would be greatly appreciated.
>>
>> Magnus Ihse Bursie <magnus.ihse.bursie at oracle.com> 于2023年11月23日周四
>> 22:30写道:
>>
>> Congratulations! You get to test drive the recently updated build
>> instructions for Windows locale requirements! :-)
>>
>> Please see
>> https://github.com/openjdk/jdk/blob/master/doc/building.md#locale-requirements
>>
>> In particular, I believe you need to set your system locale.
>>
>> Please report back if that solves the problem or not.
>>
>> /Magnus
>>
>>
>> On 2023-11-23 03:51, last last wrote:
>> > Hi all,
>> >
>> > I tried to build a OpenJDK11 fastdebug with paths that include
>> Chinese
>> > characters,my build path is "/home/kylin/图片/jdk11u-dev",but i
>> saw some
>> > error as followings:
>> >
>> > Exception in thread "main" java.nio.file.InvalidPathException:
>> > Malformed input or input contains unmappable characters:
>> >
>> /home/kylin/??????/jdk11u-dev/build/linux-aarch64-normal-server-fastdebug/buildtools/langtools_tools_classes/_the.BUILD_TOOLS_LANGTOOLS_batch.tmp
>> > at java.base/sun.nio.fs.UnixPath.encode(UnixPath.java:145)
>> > at java.base/sun.nio.fs.UnixPath.<init>(UnixPath.java:69)
>> > at
>> java.base/sun.nio.fs.UnixFileSystem.getPath(UnixFileSystem.java:279)
>> > at java.base/java.nio.file.Path.of(Path.java:147)
>> > at java.base/java.nio.file.Paths.get(Paths.java:69)
>> > at
>> >
>> jdk.compiler/com.sun.tools.javac.main.CommandLine.loadCmdFile(CommandLine.java:128)
>> > at
>> >
>> jdk.compiler/com.sun.tools.javac.main.CommandLine.appendParsedCommandArgs(CommandLine.java:71)
>> > at
>> >
>> jdk.compiler/com.sun.tools.javac.main.CommandLine.parse(CommandLine.java:102)
>> > at
>> >
>> jdk.compiler/com.sun.tools.javac.main.CommandLine.parse(CommandLine.java:123)
>> > at
>> jdk.compiler/com.sun.tools.javac.main.Main.compile(Main.java:215)
>> > at
>> jdk.compiler/com.sun.tools.javac.main.Main.compile(Main.java:170)
>> > at jdk.compiler/com.sun.tools.javac.Main.compile(Main.java:57)
>> > at jdk.compiler/com.sun.tools.javac.Main.main(Main.java:43)
>> > make[3]: *** [ToolsLangtools.gmk:40:
>> >
>> /home/kylin/图片/jdk11u-dev/build/linux-aarch64-normal-server-fastdebug/buildtools/langtools_tools_classes/_the.BUILD_TOOLS_LANGTOOLS_batch]
>>
>> > Error 1
>> > make[2]: *** [make/Main.gmk:73: buildtools-langtools] Error 2
>> > make[2]: *** Waiting for unfinished jobs....
>> > Exception in thread "main" java.nio.file.InvalidPathException:
>> > Malformed input or input contains unmappable characters:
>> >
>> /home/kylin/??????/jdk11u-dev/build/linux-aarch64-normal-server-fastdebug/hotspot/variant-server/tools/jvmti/_the.BUILD_JVMTI_TOOLS_batch.tmp
>> > at java.base/sun.nio.fs.UnixPath.encode(UnixPath.java:145)
>> > at java.base/sun.nio.fs.UnixPath.<init>(UnixPath.java:69)
>> > at
>> java.base/sun.nio.fs.UnixFileSystem.getPath(UnixFileSystem.java:279)
>> > at java.base/java.nio.file.Path.of(Path.java:147)
>> > at java.base/java.nio.file.Paths.get(Paths.java:69)
>> > at
>> >
>> jdk.compiler/com.sun.tools.javac.main.CommandLine.loadCmdFile(CommandLine.java:128)
>> > at
>> >
>> jdk.compiler/com.sun.tools.javac.main.CommandLine.appendParsedCommandArgs(CommandLine.java:71)
>> > at
>> >
>> jdk.compiler/com.sun.tools.javac.main.CommandLine.parse(CommandLine.java:102)
>> > at
>> >
>> jdk.compiler/com.sun.tools.javac.main.CommandLine.parse(CommandLine.java:123)
>> > at
>> jdk.compiler/com.sun.tools.javac.main.Main.compile(Main.java:215)
>> > at
>> jdk.compiler/com.sun.tools.javac.main.Main.compile(Main.java:170)
>> > at jdk.compiler/com.sun.tools.javac.Main.compile(Main.java:57)
>> > at jdk.compiler/com.sun.tools.javac.Main.main(Main.java:43)
>> > make[3]: *** [gensrc/GensrcJvmti.gmk:45:
>> >
>> /home/kylin/图片/jdk11u-dev/build/linux-aarch64-normal-server-fastdebug/hotspot/variant-server/tools/jvmti/_the.BUILD_JVMTI_TOOLS_batch]
>>
>> > Error 1
>> > make[3]: *** Waiting for unfinished jobs....
>> > Exception in thread "main" java.nio.file.InvalidPathException:
>> > Malformed input or input contains unmappable characters:
>> >
>> /home/kylin/??????/jdk11u-dev/build/linux-aarch64-normal-server-fastdebug/hotspot/variant-server/buildtools/tools_classes/_the.BUILD_JFR_TOOLS_batch.tmp
>> > at java.base/sun.nio.fs.UnixPath.encode(UnixPath.java:145)
>> > at java.base/sun.nio.fs.UnixPath.<init>(UnixPath.java:69)
>> > at
>> java.base/sun.nio.fs.UnixFileSystem.getPath(UnixFileSystem.java:279)
>> > at java.base/java.nio.file.Path.of(Path.java:147)
>> > at java.base/java.nio.file.Paths.get(Paths.java:69)
>> > at
>> >
>> jdk.compiler/com.sun.tools.javac.main.CommandLine.loadCmdFile(CommandLine.java:128)
>> > at
>> >
>> jdk.compiler/com.sun.tools.javac.main.CommandLine.appendParsedCommandArgs(CommandLine.java:71)
>> > at
>> >
>> jdk.compiler/com.sun.tools.javac.main.CommandLine.parse(CommandLine.java:102)
>> > at
>> >
>> jdk.compiler/com.sun.tools.javac.main.CommandLine.parse(CommandLine.java:123)
>> > at
>> jdk.compiler/com.sun.tools.javac.main.Main.compile(Main.java:215)
>> > at
>> jdk.compiler/com.sun.tools.javac.main.Main.compile(Main.java:170)
>> > at jdk.compiler/com.sun.tools.javac.Main.compile(Main.java:57)
>> > at jdk.compiler/com.sun.tools.javac.Main.main(Main.java:43)
>> > make[3]: *** [gensrc/GensrcJfr.gmk:43:
>> >
>> /home/kylin/图片/jdk11u-dev/build/linux-aarch64-normal-server-fastdebug/hotspot/variant-server/buildtools/tools_classes/_the.BUILD_JFR_TOOLS_batch]
>>
>> > Error 1
>> > make[2]: *** [make/Main.gmk:265: hotspot-server-gensrc] Error 2
>> >
>> > ERROR: Build failed for target 'images' in configuration
>> > 'linux-aarch64-normal-server-fastdebug' (exit code 2)
>> >
>> > === Output from failing command(s) repeated here ===
>> > * For target
>> >
>> buildtools_langtools_tools_classes__the.BUILD_TOOLS_LANGTOOLS_batch:
>> > Exception in thread "main" java.nio.file.InvalidPathException:
>> > Malformed input or input contains unmappable characters:
>> >
>> /home/kylin/??????/jdk11u-dev/build/linux-aarch64-normal-server-fastdebug/buildtools/langtools_tools_classes/_the.BUILD_TOOLS_LANGTOOLS_batch.tmp
>> > at java.base/sun.nio.fs.UnixPath.encode(UnixPath.java:145)
>> > at java.base/sun.nio.fs.UnixPath.<init>(UnixPath.java:69)
>> > at
>> java.base/sun.nio.fs.UnixFileSystem.getPath(UnixFileSystem.java:279)
>> > at java.base/java.nio.file.Path.of(Path.java:147)
>> > at java.base/java.nio.file.Paths.get(Paths.java:69)
>> > at
>> >
>> jdk.compiler/com.sun.tools.javac.main.CommandLine.loadCmdFile(CommandLine.java:128)
>> > at
>> >
>> jdk.compiler/com.sun.tools.javac.main.CommandLine.appendParsedCommandArgs(CommandLine.java:71)
>> > at
>> >
>> jdk.compiler/com.sun.tools.javac.main.CommandLine.parse(CommandLine.java:102)
>> > at
>> >
>> jdk.compiler/com.sun.tools.javac.main.CommandLine.parse(CommandLine.java:123)
>> > at
>> jdk.compiler/com.sun.tools.javac.main.Main.compile(Main.java:215)
>> > at
>> jdk.compiler/com.sun.tools.javac.main.Main.compile(Main.java:170)
>> > at jdk.compiler/com.sun.tools.javac.Main.compile(Main.java:57)
>> > at jdk.compiler/com.sun.tools.javac.Main.main(Main.java:43)
>> > * For target
>> >
>> hotspot_variant-server_buildtools_tools_classes__the.BUILD_JFR_TOOLS_batch:
>> > Exception in thread "main" java.nio.file.InvalidPathException:
>> > Malformed input or input contains unmappable characters:
>> >
>> /home/kylin/??????/jdk11u-dev/build/linux-aarch64-normal-server-fastdebug/hotspot/variant-server/buildtools/tools_classes/_the.BUILD_JFR_TOOLS_batch.tmp
>> > at java.base/sun.nio.fs.UnixPath.encode(UnixPath.java:145)
>> > at java.base/sun.nio.fs.UnixPath.<init>(UnixPath.java:69)
>> > at
>> java.base/sun.nio.fs.UnixFileSystem.getPath(UnixFileSystem.java:279)
>> > at java.base/java.nio.file.Path.of(Path.java:147)
>> > at java.base/java.nio.file.Paths.get(Paths.java:69)
>> > at
>> >
>> jdk.compiler/com.sun.tools.javac.main.CommandLine.loadCmdFile(CommandLine.java:128)
>> > at
>> >
>> jdk.compiler/com.sun.tools.javac.main.CommandLine.appendParsedCommandArgs(CommandLine.java:71)
>> > at
>> >
>> jdk.compiler/com.sun.tools.javac.main.CommandLine.parse(CommandLine.java:102)
>> > at
>> >
>> jdk.compiler/com.sun.tools.javac.main.CommandLine.parse(CommandLine.java:123)
>> > at
>> jdk.compiler/com.sun.tools.javac.main.Main.compile(Main.java:215)
>> > at
>> jdk.compiler/com.sun.tools.javac.main.Main.compile(Main.java:170)
>> > at jdk.compiler/com.sun.tools.javac.Main.compile(Main.java:57)
>> > at jdk.compiler/com.sun.tools.javac.Main.main(Main.java:43)
>> > * For target
>> > hotspot_variant-server_tools_jvmti__the.BUILD_JVMTI_TOOLS_batch:
>> > Exception in thread "main" java.nio.file.InvalidPathException:
>> > Malformed input or input contains unmappable characters:
>> >
>> /home/kylin/??????/jdk11u-dev/build/linux-aarch64-normal-server-fastdebug/hotspot/variant-server/tools/jvmti/_the.BUILD_JVMTI_TOOLS_batch.tmp
>> > at java.base/sun.nio.fs.UnixPath.encode(UnixPath.java:145)
>> > at java.base/sun.nio.fs.UnixPath.<init>(UnixPath.java:69)
>> > at
>> java.base/sun.nio.fs.UnixFileSystem.getPath(UnixFileSystem.java:279)
>> > at java.base/java.nio.file.Path.of(Path.java:147)
>> > at java.base/java.nio.file.Paths.get(Paths.java:69)
>> > at
>> >
>> jdk.compiler/com.sun.tools.javac.main.CommandLine.loadCmdFile(CommandLine.java:128)
>> > at
>> >
>> jdk.compiler/com.sun.tools.javac.main.CommandLine.appendParsedCommandArgs(CommandLine.java:71)
>> > at
>> >
>> jdk.compiler/com.sun.tools.javac.main.CommandLine.parse(CommandLine.java:102)
>> > at
>> >
>> jdk.compiler/com.sun.tools.javac.main.CommandLine.parse(CommandLine.java:123)
>> > at
>> jdk.compiler/com.sun.tools.javac.main.Main.compile(Main.java:215)
>> > at
>> jdk.compiler/com.sun.tools.javac.main.Main.compile(Main.java:170)
>> > at jdk.compiler/com.sun.tools.javac.Main.compile(Main.java:57)
>> > at jdk.compiler/com.sun.tools.javac.Main.main(Main.java:43)
>> >
>> > * All command lines available in
>> >
>> /home/kylin/图片/jdk11u-dev/build/linux-aarch64-normal-server-fastdebug/make-support/failure-logs.
>> >
>> > ----------
>> > This error only arises when the compilation path contains Chinese
>> > characters. There is no such problem with the compilation path in
>> > English. The testing environment is Ubuntu 20.04.
>> > I also tested having the compilation path include German and
>> French
>> > characters, and encountered the same compilation issues.
>> >
>> > Is this considered an issue? If it is, can it be added to the
>> Java Bug
>> > System?
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/build-dev/attachments/20231205/fda21896/attachment-0001.htm>
More information about the build-dev
mailing list