The moose likes Linux / UNIX and the fly likes 64-bit files on 32-bit machine Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Engineering » Linux / UNIX
Bookmark "64-bit files on 32-bit machine" Watch "64-bit files on 32-bit machine" New topic

64-bit files on 32-bit machine

sushi sri
Ranch Hand

Joined: Oct 27, 2009
Posts: 38

I'm workign on linux machine for the first time.
I'm getting this output when i run file *.so
" ELF 64-bit LSB shared object, version 1, stripped"

what is so files and what does this mean in the above.

I understood that we can't run 64-bit executables on 32-bit machine.

Is any thing wrong happned or is this is ok?

Need information on this is helpful
Tim Holloway
Saloon Keeper

Joined: Jun 25, 2001
Posts: 17410

".so" stands for Shared Object, and it's the Linux version of a DLL. A 64-bit .so would be expected to have 64-bit instructions in it, so any attempt to use it on a 32-bit machine would get a quick program fault the first time one of those 64-bit instructions attempted to execute. The necessary hardware doesn't exist on a 32-bit CPU. Going the other direction is OK, since the 64-bit instruction set is a superset of the 32-bit one.

I'd need more information, but it appears you've managed to incorrectly install all or part of a 64-bit software product on your machine. The results are likely to be totally unpredictable. Except I predict that Bad Things will probably happen.

An IDE is no substitute for an Intelligent Developer.
sushi sri
Ranch Hand

Joined: Oct 27, 2009
Posts: 38
Hi Tim,

Thanks for the information. What you said is correct may be. i.e improper installation is the problem in this case.
I was workign on a 32-bit linux server where apache is already installed or it came by defalut i donno.

So, when i try to up the machine with services httpd restart then i'm seeing the prob. that not able to load mod_proxy.
fo which when i tried to see the file with the command [root@server modules]# file /etc/httpd/modules/mod_proxy*
i'm seeing them as
/etc/httpd/modules/ ELF 64-bit LSB shared object, version 1, stripped
which must be non-stripped, ELF 32-bit format.

So i downlaoded and apache server and tried to generate the with the command
apxs -c -o mod_proxy.c proxy_util.c

but this is giving error as
mod_proxy.c:23:24: mod_status.h: No such file or directory
apxs:Break: Command failed with rc=1

Can you let me know, am i going in correct way or not? and is there any other way to deal with this issue.


I agree. Here's the link:
subject: 64-bit files on 32-bit machine
It's not a secret anymore!