On Tue, 12 Sep 2006, Norman Gray wrote:
> A colleague (not local, so I can't look over his shoulder) is having
> difficulty linking against the 32-bit keoe distribution on a 64-bit machine.
> My limited understanding of what's going on here suggested that, although
> linking against static libraries would fail (no PIC code), he should be able
> to link against the dynamic libraries. But no joy:
>
> >Here's what I got from the latest (JAC) release :
> >
> >/star/lib% dir *sla*
> >-rw-r--r-- 1 dvg dvg 31250 May 16 03:36 libast_slalib.a
> >-rwxr-xr-x 1 dvg dvg 836 May 16 03:36 libast_slalib.la*
> >lrwxrwxrwx 1 1004 900 22 Sep 11 17:47 libast_slalib.so ->
> >libast_slalib.so.0.0.0*
> >lrwxrwxrwx 1 1004 900 22 Sep 11 17:47 libast_slalib.so.0 ->
> >libast_slalib.so.0.0.0*
> >-rwxr-xr-x 1 dvg dvg 34673 May 16 03:36 libast_slalib.so.0.0.0*
> >-rw-r--r-- 1 dvg dvg 877698 Aug 2 10:33 libsla.a
> >-rwxr-xr-x 1 dvg dvg 787 Aug 2 10:33 libsla.la*
> >lrwxrwxrwx 1 1004 900 15 Sep 11 17:47 libsla.so -> libsla.so.7.0.0*
> >lrwxrwxrwx 1 1004 900 15 Sep 11 17:47 libsla.so.7 -> libsla.so.7.0.0*
> >-rwxr-xr-x 1 1004 dvg 455678 Aug 2 10:33 libsla.so.7.0.0*
> >
> >The dynamic libraries (*so) are there (32-bits), but do I link with them ?
> >My way to create a link with 32-bits libraries is to use the g95 compiler
> >for 32-bits in 64-bits machines :
> >
> >/home/dvg% g9532 radec2lb.f -L/star/lib -lsla -o radec2lb
> > ld: skipping incompatible /star/lib/libsla.so when searching for -lsla
> > ld: skipping incompatible /star/lib/libsla.a when searching for -lsla
> > ld: cannot find -lsla
>
> My limited remote-control debugging with nm suggests that the libraries are
> uncorrupted, so I'm unsure what to suggest next.
>
> I've mentioned to him that the (unsupported and all that) 64-bit release
> is in the offing, but even then, I'm curious to know what I'm not
> understanding here.
Hi Norman,
> Is it something really obvious.
possibly. I'd guess that you need to use the -m32 flag, so that ld knows
it should be linking in 32bit mode as well, so try:
g9532 radec2lb.f -m32 -L/star/lib -lsla -o radec2lb
> Oh, and should I be pointing him towards starlink@jiscmail for this?
Yes.
> Oh (again). I noticed, looking for hints, that on dev.starlink.ac.uk
> there's a prominent pointer to the 2004 release: should someone with
> access fix that to point to the JAC page?
Indeed.
Cheers,
Peter.
|