64-bit versions of some ports
Ryan Schmidt
ryandesign at macports.org
Wed Jan 30 03:52:35 PST 2008
The ability for MacPorts to build 64-bit versions of ports was
discussed a little while ago, but I don't think there was any
resolution. Let's try again. Paulo Moura wrote to me because users of
his swi-prolog port have requested this (requires dependencies gmp
and readline to be 64-bit too):
On Jan 30, 2008, at 05:30, Paulo Moura wrote:
> Some time ago, I posted to the mailing list a message about 64 bits
> variants but received no reply. Maybe you're able to provide me
> some feedback on this issue. I would like to add 64 bits variants
> to some port such as "readline" and "gmp". Is my understanding
> (please correct me if I'm wrong) that 64 bits and 32 bits versions
> of the same library co-exist peacefully. The reason I'm asking is
> that some SWI-Prolog users are asking for a 64 bits variant. In
> order to provide this 64 bits variant I need first to have 64 bits
> variants in-place for all the libraries SWI-Prolog depend on.
And Randy Melder requested this for my mysql5 port (probably requires
64-bit openssl and zlib):
On Jan 28, 2008, at 12:35, Randy Melder wrote:
> Is this a 64bit compile, or 32? I seems the 32bit compiles have
> problems with allocating memory above 2GB.
From the previous discussion, I remember that we (or rather mww)
started by changing the +universal variant to build all 4 versions (2
architectures each of 32-bit and 64-bit) but this was problematic
because many ports failed to build out of the box as 64-bit, and
there was no clear upgrade path for those who already had 2-
architecture universal variants installed, and it was said that 64-
bit versions of most ports don't make sense anyway (aren't faster, or
possibly are even slower). But it seems like we want to be able to do
this for selected ports.
Suppose we say we want to define a new variant called +64bit. Let's
figure out what we want that to do. Are we asking for a way to build
a 64-bit local-architecture binary instead of a 32-bit local-
architecture binary (e.g. x86_64 only)? or in addition to a 32-bit
local-architecture binary by installing both into separate paths
(e.g. ${prefix}/lib and ${prefix}/lib64 -- I don't think this is the
Mac way)? or in addition to a 32-bit local-architecture binary by
making a single fat binary (e.g. i386 and x86_64 in one file)? What
if the user selects +universal in addition to +64bit? How will we
handle that?
I saw some commits fly by (by afb) about the universal support in
base. Was this something to do with making the universal_archs array
configurable? If so, is that user-configurable or port-configurable?
The above is really just babbling to demonstrate that I don't know
what to do about this problem. Maybe someone else can be smarter for
me and figure it out.
More information about the macports-dev
mailing list