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

Bakul Shah bakul at
Wed Jun 27 09:23:20 UTC 2007

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
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
for i in ${1+"$@"}
  echo "$i":

(script thanks to Rob Warnock)

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

-- bakul

More information about the freebsd-current mailing list