[slackintosh-users] Re: How to deal with openssl 32/64bit packages

  • From: Naveen Nathan <naveen@xxxxxxx>
  • To: slackintosh-users@xxxxxxxxxxxxx
  • Date: Sat, 28 Oct 2006 23:16:31 -0700

> > What I'm more concerned about is the fact that either package overwrites 
> > the executables
> > (same problem with glibc).
> 
> I'm aware of this problem and have yet to find a good solution for this
> problem.
> 
> Well: It isn't such a *big* problem because your system will not break
> if both versions (32bit and 64bit) of the libs are installed:
> A 32bit openssl binary works fine on a 64bit system.

Only some utilities in a 32/64bit versions of packages actually matter
when running their 32bit or 64bit counterpart. E.g. getconf with glibc
is useful for querying information about glibc, but they only return
information about the particular library getconf was compiled for.

> Anyone knows what other OS/Distributions are doing?
> 
> IMHO /usr/bin64 would be a *good* solution (PATH=/usr/bin64:/usr/bin)
> but nobody else is doing this and reinventing the wheel isn't fun.

Yeah, as helpful as it sounds, some packages will be exclusive 64-bit
and should mix into /usr/bin (IMO).

> > however when I run ld -lssl it says it cannot find the
> > library.
> 
> ld -lssl searches for an 32bit version. (Is it installed?)
> 
> root@keroro:/tmp# gcc -m64 -c test.c    <-- compile (But do not link) for 
> 64bit
> root@keroro:/tmp# ld -m elf64ppc -lgmp test.o <-- link against non-existing 
> 64bit version
> ld: skipping incompatible /usr/lib/libgmp.so when searching for -lgmp
> ld: skipping incompatible /usr/lib/libgmp.a when searching for -lgmp
> ld: cannot find -lgmp
> root@keroro:/tmp# gcc  -c test.c <-- compile (But do not link) for 32bit
> root@keroro:/tmp# ld  -lgmp test.o <-- link against existing 32bit version
> ld: warning: cannot find entry symbol _start; defaulting to 00000000100001d0
> 
> 
> To create powerpc64 packages it would be enough (in most cases) to simply
> call gcc with '-m64'
> Example:
>  http://workaround.ch/pub/rsync/au/64/source/n/wget/wget.SlackBuild
>  (=> CC)

I tried the above, but this is what I mean by the fact that there are
.so files yet it doesnt link to them:

root@armakuni:/home/naveen# ls -1 /var/log/packages/openssl*
/var/log/packages/openssl-0.9.8d-powerpc-1
/var/log/packages/openssl-solibs-0.9.8b-powerpc64-1
/var/log/packages/openssl-solibs-0.9.8d-powerpc-1

root@armakuni:~# gcc -m64 -c test.c -o test.o
root@armakuni:~# ld -m elf64ppc -lssl test.o
ld: skipping incompatible /usr/lib/libssl.so when searching for -lssl
ld: skipping incompatible /usr/lib/libssl.a when searching for -lssl
ld: cannot find -lssl

Is it actually searching /usr/lib64 aswell? Because shouldn't it pick up
on the following:

root@armakuni:~# ls -1 /usr/lib64/libssl.*
/usr/lib64/libssl.so.0
/usr/lib64/libssl.so.0.9.8

Also, would you mind updating the 64bit packages to the latest
slackintosh 11.0 versions :)?

Thanks.

Other related posts: