Operating System - HP-UX
1820261 Members
3119 Online
109622 Solutions
New Discussion юеВ

Difference between "PA-RISC1.1 shared executable" & "ELF-64 executable object file"

 
GnanaShekar
Regular Advisor

Difference between "PA-RISC1.1 shared executable" & "ELF-64 executable object file"

Hi,

Please tell me the difference between the following apache.

-bash-3.00# pwd
/opt/hpws/apache32/bin
-bash-3.00# file httpd
httpd: PA-RISC1.1 shared executable dynamically linked -not stripped dynamically linked

-bash-3.00# pwd
/opt/hpws/apache2058/bin
-bash-3.00# file httpd
httpd: ELF-64 executable object file - PA-RISC 2.0 (LP64)

Thanks.
5 REPLIES 5
Arunvijai_4
Honored Contributor

Re: Difference between "PA-RISC1.1 shared executable" & "ELF-64 executable object file"

Hi Sekar,

PA-RISC 1.1 is of httpd 32 bit executable. Where as, ELF-64 is 64 bit which runs only on 64 bit archicture. You can produce the with -mpa-risc-1.1 and -mpa-risc2.0 with GCC..

Hope this is clear.

-Arun
"A ship in the harbor is safe, but that is not what ships are built for"
Ninad_1
Honored Contributor

Re: Difference between "PA-RISC1.1 shared executable" & "ELF-64 executable object file"

The difference is basically in the 32bit or 64 bit architechture.
The /opt/hpws/apache32/bin/httpd is the 32-bit version and the /opt/hpws/apache2058/bin/httpd is the 64-bit version.

You can run the 32-bit and 64-bit versions if your OS platform is 64-bit (as there is backward compatibility for 32-bit )
But you can have only 32-bit version if your OS is 32-bit.
You can check OS platform by
getconf KERNEL_BITS

Also note that there is limitation to how much memory 32-bit applications can access, whereas that of 64-bit is much much higher.

Regards,
Ninad
GnanaShekar
Regular Advisor

Re: Difference between "PA-RISC1.1 shared executable" & "ELF-64 executable object file"

Hi,

When you build apache on a PA-RISC, by default it is built as 64-bit.

How do I build a 32-bit apache on PA-RISC?

I used the below steps to build 32-bit apache on PA-RISC.

export CFLAGS="-mpa-risc-1-0"
export CC="gcc"
./configure --prefix=/opt/hpws/ap2058
make
make install

But looks like, it built 64-bit apache.

-bash-3.00# pwd
/opt/hpws/ap2058/bin
-bash-3.00# file httpd
httpd: ELF-64 executable object file - PA-RISC 2.0 (LP64)

Please suggest.
Thanks
Arunvijai_4
Honored Contributor

Re: Difference between "PA-RISC1.1 shared executable" & "ELF-64 executable object file"

Hi,

I suspect you have installed 64 bit version of GCC. Try # file `which gcc` or try with # file

-Arun
"A ship in the harbor is safe, but that is not what ships are built for"
RAC_1
Honored Contributor

Re: Difference between "PA-RISC1.1 shared executable" & "ELF-64 executable object file"

The shortcut. You can download 32 bit pre-compalied binary version of apache and install on 64 bit ux. It will work. Backward compatibility.

I do not know if you can precompiled 64 bit binary for apache or not.
There is no substitute to HARDWORK