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