Problem on Solaris (encoding???)
Martin Kahlert
martin.kahlert@infineon.com
Thu May 10 03:05:00 GMT 2001
Hi!
I compiled gcj for Solaris 2.7. This worked well.
First problem:
If i do something like
gcj -o hello hello.java --main=hello
i get this:
hello.java:0: unknown encoding: `646'
This might mean that your locale's encoding is not supported
by your system's iconv(3) implementation. If you aren't trying
to use a particular encoding for your input file, try the
`--encoding=UTF-8' option.
Using --encoding=UTF-8 helped.
On my machine locale spits out this:
LANG=
LC_CTYPE="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_COLLATE="C"
LC_MONETARY="C"
LC_MESSAGES="C"
LC_ALL=
Is this correct? What the heck is 646? What do i have to set/not set
to get rid of this?
Then i compiled a rather big application (pure java) into an executable.
It runs for 90 seconds to write a 52936 byte file.
The same needs 200 ms on Linux, though the other stages of my application
are about as fast on Solaris as they are on (Intel) Linux.
Then i used truss to get an idea what is done all the time:
result: I get about 180000 lines like this:
open("./gnu/gcj/convert/Input_646.class", O_RDONLY) Err#2 ENOENT
open("/home/kahlert/GCC/lib/gnu-gcj-convert-Input_646", O_RDONLY) Err#2 ENOENT
open("/usr/lib/gnu-gcj-convert-Input_646", O_RDONLY) Err#2 ENOENT
open("/home/kahlert/GCC/lib/gnu-gcj-convert-Input_646", O_RDONLY) Err#2 ENOENT
open("/lib/gnu-gcj-convert-Input_646", O_RDONLY) Err#2 ENOENT
open("/usr/lib/gnu-gcj-convert-Input_646", O_RDONLY) Err#2 ENOENT
open("gnu-gcj-convert-Input_646.la", O_RDONLY) Err#2 ENOENT
open("/home/kahlert/GCC/lib/gnu-gcj-convert-Input_646.la", O_RDONLY) Err#2
ENOENT
open("/lib/gnu-gcj-convert-Input_646.la", O_RDONLY) Err#2 ENOENT
open("/usr/lib/gnu-gcj-convert-Input_646.la", O_RDONLY) Err#2 ENOENT
open("/home/kahlert/GCC/lib/gnu-gcj-convert-Input_646.so", O_RDONLY) Err#2
ENOENT
open("/usr/lib/gnu-gcj-convert-Input_646.so", O_RDONLY) Err#2 ENOENT
open("/home/kahlert/GCC/lib/gnu-gcj-convert-Input_646.so", O_RDONLY) Err#2
ENOENT
open("/lib/gnu-gcj-convert-Input_646.so", O_RDONLY) Err#2 ENOENT
open("/usr/lib/gnu-gcj-convert-Input_646.so", O_RDONLY) Err#2 ENOENT
open("/home/kahlert/GCC/lib/gnu-gcj-convert", O_RDONLY) Err#2 ENOENT
open("/usr/lib/gnu-gcj-convert", O_RDONLY) Err#2 ENOENT
open("/home/kahlert/GCC/lib/gnu-gcj-convert", O_RDONLY) Err#2 ENOENT
open("/lib/gnu-gcj-convert", O_RDONLY) Err#2 ENOENT
open("/usr/lib/gnu-gcj-convert", O_RDONLY) Err#2 ENOENT
open("gnu-gcj-convert.la", O_RDONLY) Err#2 ENOENT
open("/home/kahlert/GCC/lib/gnu-gcj-convert.la", O_RDONLY) Err#2 ENOENT
open("/lib/gnu-gcj-convert.la", O_RDONLY) Err#2 ENOENT
open("/usr/lib/gnu-gcj-convert.la", O_RDONLY) Err#2 ENOENT
open("/home/kahlert/GCC/lib/gnu-gcj-convert.so", O_RDONLY) Err#2 ENOENT
open("/usr/lib/gnu-gcj-convert.so", O_RDONLY) Err#2 ENOENT
open("/home/kahlert/GCC/lib/gnu-gcj-convert.so", O_RDONLY) Err#2 ENOENT
open("/lib/gnu-gcj-convert.so", O_RDONLY) Err#2 ENOENT
open("/usr/lib/gnu-gcj-convert.so", O_RDONLY) Err#2 ENOENT
open("/home/kahlert/GCC/lib/gnu-gcj", O_RDONLY) Err#2 ENOENT
open("/usr/lib/gnu-gcj", O_RDONLY) Err#2 ENOENT
open("/home/kahlert/GCC/lib/gnu-gcj", O_RDONLY) Err#2 ENOENT
open("/lib/gnu-gcj", O_RDONLY) Err#2 ENOENT
This doesn't seem to be efficient. Can anybody please tell me, what this is,
where it comes from and what could be done about that?
Thanks,
Martin.
PS: This is with the gcc-20010507 snapshot with some
(i assume not related) jni.cc patches i posted to java-patches recently.
--
The early bird gets the worm. If you want something else for
breakfast, get up later.
More information about the Java
mailing list