MySQL port name confusion

Ryan Schmidt ryandesign at macports.org
Sat Sep 26 13:01:35 PDT 2009


On Sep 26, 2009, at 14:24, Scott Haneda wrote:

> Question of curiosity.  Why does MacPorts needs to be able to build  
> a UB? MacPorts builds on the machine it is intended to use.  I am  
> not aware of many desiring to copy a binary from one machine to the  
> other, and that would be a lot of work with all the man pages and  
> other parts that may come along with the binary.

I agree with you, when universal_archs is ppc i386. This was the  
default for Mac OS X 10.5.x and earlier. But starting with Snow  
Leopard the default universal_archs is x86_64 i386 and it is very  
useful. The default build_arch is also x86_64 on Snow Leopard now.  
This means we build 64-bit by default, which is good because it's  
faster and lets you use more memory (for example you can use more than  
4GB of memory for your MySQL database server, which is something  
people might want to do). However, not all ports can build x86_64;  
some need to be built i386 due to various bugs. But if that software  
requires MySQL, and you've built mysql5 for x86_64 only, then you  
can't use MySQL from an i386 program. So you would need to build  
mysql5 universal for both x86_64 and i386.

Users on Leopard can modify their build_arch and universal_archs in  
macports.conf if they want 64-bit builds.

Users on Tiger can try to do so as well, but it probably won't work  
for many ports and so is probably not a good idea.


> If the arch specific base will build, while probably not ideal with  
> regard to a UB, is that not more or less the most desirable case?   
> The UB would be bloated, and many may run lipo on it to get rid of  
> the parts they can not, or do not want to have.

It would be silly for a user to request the +universal variant and  
then use lipo to strip out the nonnative architectures. If the user  
doesn't want a universal build, the user should not request the  
+universal variant.


> Other than MacPorts ability to make a dmg or installer, what is the  
> reason behind the UB builds, aside from being really cool to be able  
> to do, and certainly a target moving forward, but in this case,  
> would the MySql port not suffice to be able to stand as is?

I will probably update the mysql5 port anyway and just disable its  
universal variant. Any user complaints about this can then be directed  
at the MySQL developers with whom the blame lies.


> I have never added +universal to a port, and in all the port files I  
> have looked at, a very small percentage even have that variant.


MacPorts base includes a default universal variant which all ports  
inherit, unless they specifically request not to by using  
"universal_variant no", by using "use_configure no", by using the  
muniversal portgroup, or by defining their own universal variant. Some  
portgroups like xcode and cmake define their own universal variants.



More information about the macports-dev mailing list