aspose file tools*
The moose likes Linux / UNIX and the fly likes IDL: java Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Spring in Action this week in the Spring forum!
JavaRanch » Java Forums » Engineering » Linux / UNIX
Bookmark "IDL: java "not found" but it Watch "IDL: java "not found" but it New topic
Author

IDL: java "not found" but it's there!

Daren Wilson
Greenhorn

Joined: Jun 29, 2008
Posts: 16

This might not be an actual Java problem, but its name does come up...

Trying to run a help app for IDL, a software tool popular with astronomers
and other scientician types. see https://www.ittvis.com/ if you're curious. IDL itself runs fine but its little buddy program idlhelp ought to running from the bash command line. We're getting no joy but only this error message:

/usr/local/bin/idlhelp: 476: /usr/local/itt/idl/idlde/bin.linux.x86/jre/bin/java: not found

This might look like a case of the "java" file at the mentioned location being missing, but it's really there:

> ls -l /usr/local/itt/idl/idlde/bin.linux.x86/jre/bin/ja*
-rwxr-xr-x 1 root root 65076 2007-11-08 15:14 /usr/local/itt/idl/idlde/bin.linux.x86/jre/bin/java
-rwxr-xr-x 1 root root 25730 2007-11-08 15:14 /usr/local/itt/idl/idlde/bin.linux.x86/jre/bin/java_vm
-rwxr-xr-x 1 root root 175978 2007-11-08 15:14 /usr/local/itt/idl/idlde/bin.linux.x86/jre/bin/javaws

This is happening on an Ubuntu 7.10 (?) system. Already did the obvious thing
three weeks ago - call ITT-VIS help, but they're stumped. Rumor is that other
Linux/GNU users are having this problem. It may have something to do with
32/64-bit issues, or maybe java is being found just fine but some other
file isn't found, and the error message is slightly insane.

One bit of excitement today - on another machine which is quite similar, it works fine. That machine has java-6 installed. The bad machine didn't. Installed java-6 using synaptic. Problem remains.

Maybe one of you old hands around has an idea what's going on?


DSW
Carey Evans
Ranch Hand

Joined: May 27, 2008
Posts: 225

Another cause of "not found" is when dependent libraries are not found. Try:
Daren Wilson
Greenhorn

Joined: Jun 29, 2008
Posts: 16

"not a dynamic executable"

not very enlightening....
Daren Wilson
Greenhorn

Joined: Jun 29, 2008
Posts: 16

Now i have time to look at other machines...

The thing i'm trying to run, will run fine on one machine, but whines about missing java on the other.

On the good machine:
bash 0 16:26:24 0=> ldd ./java
linux-gate.so.1 => (0xffffe000)
libpthread.so.0 => /lib32/libpthread.so.0 (0xf7f07000)
libdl.so.2 => /lib32/libdl.so.2 (0xf7f03000)
libc.so.6 => /lib32/libc.so.6 (0xf7dc1000)
/lib/ld-linux.so.2 (0xf7f32000)

On the naughty machine:
-bash 0 16:30:03 0=> ldd ./java
not a dynamic executable

the "java" file has the same size, timestamp, permissions etc on both machines.

Maybe the "ldd" command is different on the two machines? I mean, weird things never happen with Java, right? Is impossible, right? Eh?
Daren Wilson
Greenhorn

Joined: Jun 29, 2008
Posts: 16

ah, this simple experiment might be a clue:

on the good machine, in the directory where it is:
bash> ./java
...spews a long list of options etc....

on the bad machine:
bash> ./java
not found


*any* file in this particular bin/ directory will do the same thing on the "bad" machine. strace won't run it. i keep thinking something to do with executable permission or ownership, but files are identical between the two machines. might not be anything java-related at all...but no idea what.
Carey Evans
Ranch Hand

Joined: May 27, 2008
Posts: 225

If it's an old enough version of Java, it might be a.out/COFF based instead of ELF. In this case whether it works it depends on your kernel version and modules, and what versions of libc you have installed.

That's just speculation. Try the "file" on the java executables on each machine to see what kind of programs they are.
Daren Wilson
Greenhorn

Joined: Jun 29, 2008
Posts: 16

naw, nuttin' *that* old on any machine 'round here. COFF = grandma's antique rocking chair.

On the good machine, all executable files in the java's bin directory run fine (griping about not being given any input, but that's okay for now) while on the other machine, none of the executables there work - always something like "not found". I checked again that these files are identical sizes, permissions etc to their identical twins on the good machine, as well as for the bin/ directory containing them. And i'm logged in as the same user. Also stepped outside and looked up to make it's not weird UFO effects ;-) Elsewhere on the machine, executable files act normal.

These files are 32bit while the machines are running 64-bit. Since it all runs fine on the one machine, whatever allows the 64bit machine to execute 32bit binary is doing its magic just fine, while on the other machine, perhaps there's a problem. It's not clear still if this really is a java-related problem or a 32/64bit problem or what. So far only the proprietary IDL software's java installation is the only place i find this problem.
Daren Wilson
Greenhorn

Joined: Jun 29, 2008
Posts: 16

found the solution accidentally fixing something else. i installed "ia32-libs" and the "not found" problem went away.
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: IDL: java "not found" but it's there!