atom feed2 messages in org.freebsd.freebsd-current32-bit ports on amd64, ldd32 missing ...
FromSent OnAttachments
Antony MawerAug 3, 2009 10:02 pm 
John BaldwinAug 4, 2009 2:01 pm 
Subject:32-bit ports on amd64, ldd32 missing on FreeBSD/amd64 8.0B2 install
From:Antony Mawer (lis@mawer.org)
Date:Aug 3, 2009 10:02:55 pm
List:org.freebsd.freebsd-current

I've just been tinkering with FreeBSD/amd64 from the 8.0-BETA2 install media. At this stage I'm trying to do a test deployment of a new 8.0-based 64-bit (amd64) system, running ports from an existing 32-bit 6.x system. So far there seems to be very little documentation on running 32-bit applications on amd64, so I am finding my way as I go along...

In experimenting with this, I have discovered that "ldd" on amd64 is supposed to be able to automatically spawn ldd32 when run on a 32-bit binary, however even after installing the lib32 distribution I do not appear to have a "ldd32" installed in /usr/bin. Is this an accidental omission somewhere from the installation distributions? From a brief bit of digging it looks as though if I build by hand it should get built and installed, but it doesn't appear to be packaged onto the installation media. I am running:

# uname -a FreeBSD 8.0-BETA2 FreeBSD 8.0-BETA2 #0: Wed Jul 15 21:48:41 UTC 2009 ro@mason.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC amd64

Further, if anyone can suggest or comment on if there is a better way to do this... the plan is presently:

- Clone my existing installation's /usr/local (+ related files) from a 32-bit 6.x based system to the new 8.0 based 64-bit system - Install the compat6x package - Verify applications are able to start and run per normal

Are there any significant "gotchas" I should be aware of in doing this? It is more proof of concept at this stage - eventually we will rebuild all ports on 8.x (probably as 64-bit native), but in the interim I am looking for an easy way to utilise all the available memory without having to rebuild the entire system...

I imagine if I ended up building 64-bit ports, their libraries going under /usr/local/lib would conflict with the 32-bit libraries that will be there; however I intend to use exclusively 32-bit packages built on the existing 6.x systems for the moment...

Any advice would be appreciated..........

-- Antony