questions re 32bit & 64bit ports in a 64bit world

From: Bakul Shah <bakul_at_bitblocks.com>
Date: Wed, 27 Jun 2007 01:55:25 -0700
I updated my i386 -current world amd64 machine to a 64bit
-current world by cross compiling, installing on a spare
partition and rebooting with that partition as root.  The
whole process went pretty smoothly.

All the 32 bit ports that I tried so far (all except cvsup)
seem to work fine but they still pick up shared libs from
/usr/local/lib which will cause problems if I now add 64bit
ports.  I really don't want to have to recompile and retest
any 32bit port in 64bit mode if it already works well enough.
It would be nice if 32bit ports and 64bit ports can co-exist.
Is this possible?  Seems to me for this to work ld-elf32.so
would have to somehow first check /usr/local/lib32.

Is any special set up needed in the 64bit world to
cross-compile for a i386 target?  Files such as
<machine/signal.h> are specific to amd64 so one would need to
keep a copy of /usr/include from a 32bit world somewhere.

BTW, ldd can't grok 32bit binaries.  For that you need
something like

$ cat ldd32
#!/bin/sh
for i in ${1+"$_at_"}
do
  echo "$i":
  env LD_32_TRACE_LOADED_OBJECTS=1 "$i"
done

(script thanks to Rob Warnock)

I figure such issues must already be well known and I may as
well use existing solutions.  Thanks!

-- bakul
Received on Wed Jun 27 2007 - 07:23:20 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:13 UTC