32 bit ports on an AMD64 system

Lowell Gilbert freebsd-questions-local at be-well.ilk.org
Mon Aug 31 17:56:42 UTC 2009


Roland Smith <rsmith at xs4all.nl> writes:

> On Mon, Aug 31, 2009 at 09:28:44AM -0400, Jim wrote:
>> I want to compile some 32 bit ports on an AMD64 system. I know the GCC
>> has to receive the -m32 flag to compile the ports as 32 bit, but I
>> also want to change the install directory with 32 bit ports, I was
>> wondering which would be the most appropriate root given unix themes
>> and standard FreeBSD directory structure.
>> 
>> /usr/local/[same-as-before]-32 (i.e. [...]/bin32, [...]/lib32,
>> [...]/libexec32, etc)
>
> The one above sounds most logical. The base system puts 32 bit libraries in
> /usr/lib32. 
>
>> Also, would I be able to pass the appropriate flags through port
>> upgrade (or use environmental variables), or would I have to make
>> duplicates of the port directories and modify the makefiles?
>
> Currently the ports system is not set up to handle multiple versions of the
> same port, AFAIK. You could ask on the ports list. You'd need a separate
> /var/db/pkg32 to store information about installed 32-bit ports. And
> /var/db/ports32 for options for 32-bit ports. You would also need changed port
> makefiles (different /ve/db paths, -m32 flag etc.) for this to work. It should
> be possible, but I don't think anybody has volunteered to do the work yet. :-)
>
> The consensus seems to be that if you _really_ need 32-bit apps that badly,
> you should use the i386 architecture. A lot of people run amd64 because the
> hardware supports it, not because they need* it.
>
> (* 'need' in this case means that you are regularly running out of address
> space on i386.)

Also note that it is possible to have an i386 port-building jail on an
amd64 system.

-- 
Lowell Gilbert, embedded/networking software engineer, Boston area
		http://be-well.ilk.org/~lowell/


More information about the freebsd-questions mailing list