1846087 Members
3957 Online
110253 Solutions
New Discussion

Dynamic loading problem

 
SOLVED
Go to solution
Mehdi_1
Regular Advisor

Dynamic loading problem

Hi

I am trying to port a gdk-pixbuf to HPUX 11.00 and 11.20 (IA64).

The program works fine on 11.00 platform. But on 11.20 (ia64), the dynamic loadable module doesn't work.

The problem is, The IA64 platforms come with combination of PA-RISC and ELF library installed on it!!!.

In configure file I 've set:
lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64'

That works only for the ELF library, and If I set that to :

lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library'

That will only load the PA-RISC libraries.

Is there any way to load both?

Thanks
1 REPLY 1
Mike Stroyan
Honored Contributor
Solution

Re: Dynamic loading problem

A program can only use the PA-RISC libraries if it was built on a PA-RISC system. The IA64 platform can only build native ELF-32 or ELF-64 libraries. So the answer is that you only want to match one pattern based on the $host_cpu value.

if test "$host_cpu" = ia64; then
lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64'
else
lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library'
fi

There are a lot of other assumptions in that config file that need to be revisited. The libpath uses hpux32 and hpux64 directories for 32 and 64 bit ia64 libs.
The suffix changes from .sl to .so for ia64 libs. The system has the option of using 32 or 64 bit pointers, much like the many irix clauses use. It looks like the irix config is the only one updated to attempt a 64-bit build.