General
cancel
Showing results for 
Search instead for 
Did you mean: 

dld.sl: Bad magic number for shared library

 
Arjen Visser
Occasional Advisor

Re: dld.sl: Bad magic number for shared library

Thank you.
make -d gives pages of output which so far has not given much insight but I will continue to search through the details.

Perl version:
$ file /usr/local/perl2exe/perl5/bin/perl5.10.0
/usr/local/perl2exe/perl5/bin/perl5.10.0: PA-RISC2.0 shared executable dynamically linked -not stripped

What is tusc, this is not installed on our system.

Are you available for remote support and able to assist us resolving this issue?
Dennis Handly
Acclaimed Contributor

Re: dld.sl: Bad magic number for shared library

>Perl version:
>/usr/local/perl2exe/perl5/bin/perl5.10.0: PA-RISC2.0 shared executable dynamically linked -not stripped

This is 32 bit.

>What is tusc, this is not installed on our system.

You can download it from here:
http://hpux.connect.org.uk/hppd/hpux/Sysadmin/tusc-7.10/

>Are you available for remote support

No.
Arjen Visser
Occasional Advisor

Re: dld.sl: Bad magic number for shared library

Thank you.

>Perl version:
>/usr/local/perl2exe/perl5/bin/perl5.10.0: PA-RISC2.0 shared executable dynamically linked -not stripped

I thought PA-RISC1.1 was 32bit and PA-RISC2.0 is 64bit.
Dennis Handly
Acclaimed Contributor

Re: dld.sl: Bad magic number for shared library

>I thought PA-RISC1.1 was 32 bit

Yes, 1.0 and 1.1 are 32 bit only.

>PA-RISC2.0 is 64bit.

It can be 32 or 64 bit.

This is 64 bit for PA (LP64):
ELF-64 shared object file - PA-RISC 2.0 (LP64)

For IPF it's much simpler:
ELF-32 executable object file - IA64
ELF-64 executable object file - IA64

>Thank you.

If you are happy with the answers you got, please read the following on how to assign points:
http://forums.itrc.hp.com/service/forums/helptips.do?#33
Arjen Visser
Occasional Advisor

Re: dld.sl: Bad magic number for shared library

Thank you for the explanation.

Do I need to download the 32bit gcc compiler (HP-GCC 4.3.3 PA-RISC ILP32) or can I use the current 64bit compiler to compile the module with the 32bit perl?

What flags do I need to set to force the 64bit gcc compiler to compile for 32bit?

Thanks.
Arjen Visser
Occasional Advisor

Re: dld.sl: Bad magic number for shared library

Problem solved. Downloaded HP-GCC 4.4.0-1 PA-RISC ILP32 and this worked.

So the issues was that the Perl executable was 32bit and not 64bit.

Thanks Dennis!
Highlighted
Dennis Handly
Acclaimed Contributor

Re: dld.sl: Bad magic number for shared library

>What flags do I need to set to force the 64bit gcc compiler to compile for 32bit?

For PA, the foreign devil compiler only has one data model. You have to install both to switch to the other model.
On Integrity, the models are similar, so there is -mlp64 and -milp32.