Date: Wed, 27 Jun 2007 01:55:25 -0700 From: Bakul Shah <bakul@bitblocks.com> To: freebsd-current@freebsd.org Subject: questions re 32bit & 64bit ports in a 64bit world Message-ID: <20070627085526.07E1C5B50@mail.bitblocks.com>
next in thread | raw e-mail | index | archive | help
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+"$@"} 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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20070627085526.07E1C5B50>