Date: Mon, 31 Aug 2009 18:02:40 +0000 From: "b. f." <bf1783@googlemail.com> To: freebsd-questions@FreeBSD.org Subject: Re: 32 bit ports on an AMD64 system Message-ID: <d873d5be0908311102n4d44f7tcf3181aeeb7d344f@mail.gmail.com>
next in thread | raw e-mail | index | archive | help
>> /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. It's too much trouble to append a 32 to every subdirectory of /usr/local/ -- I'd still recommend something like PREFIX=/usr/local/32, with all relative paths the same. >Currently the ports system is not set up to handle multiple versions of the >same port, AFAIK. You could ask on the ports list. Multiple versions of the same port with different PKGNAME s can be handled. Otherwise, no. >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. :-) In many cases, the same port Makefile would suffice, using the make.conf additions I mentioned in my earlier message. In some cases, you may have to add patches to the port or change the port Makefile. The point about the package registration is a good one. It would certainly be easier to maintain two separate package databases. To do so, and to also have different OPTIONS-handling for the 32-bit ports via separate ports databases, then you could simply add: PKG_DBDIR=/var/db/pkg32 PORT_DBDIR=/var/db/ports32 to the make.conf block in my last message. However, I think it would be better to instead maintain unified package and port databases and somehow differentiate between the entries for 32-bit and 64-bit packages, by either tinkering with the fake-pkg target in bsd.port.mk, or, preferably, by changing the PKGNAME and UNIQUENAME. The simplest way to do this would be to add a block like .ifdef(32BIT) PKGNAMEPREFIX+=32 .endif just before the definitions of PKGNAME and UNIQUENAME in bsd.port.mk. ... >(* 'need' in this case means that you are regularly running out of address >space on i386.) Or if you need improved performance from a 64-bit app, etc. As the I and the others have mentioned, a jail or a separate 32-bit installation would probably be better. b.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?d873d5be0908311102n4d44f7tcf3181aeeb7d344f>