Universal and binary builds (was: Re: Is isysroot useful for non-universal?)
Marcus Calhoun-Lopez
mcalhoun at macports.org
Mon Mar 23 19:39:32 PDT 2009
Ryan Schmidt <ryandesign at ...> writes:
> I'm getting really burned out on universal.
...
>
> The new muniversal portgroup aims to solve this but has other severe
> problems, in that the configure phase runs once for each
> architecture, and some configure scripts are written wrong so they
> try to run a program at configure time to learn things about the
> build environment, which is not appropriate when cross-compiling. So
> the configure script exits saying it cannot run a program when cross-
> compiling, and the maintainer has to research what those values are
> supposed to be for each architecture, possibly getting them wrong.
> Many programs simply cannot be cross-compiled so then the list of
> supported architectures is reduced, and it's a different list of
> supported architectures depending on the computer doing the build.
>
> What if we set aside what we have now for universal variants and
> spent some energy on finally doing binary builds? Finish the script
> that builds a port in a clean MacPorts tree in a chroot. Make it
> package that up and send it to a download server. Modify MacPorts
> base to look for, download and install those binaries first. Make
> those binaries integrate properly with the registry. Begin by having
> the build server only build the default variant of a port, but later
> it can be expanded to build more combinations of variants. We can
> work out a system later that allows more variant combinations of an
> old port to be built without impacting the building of newly-updated
> ports. Since the server will have multiple cores we can run multiple
> ports' builds simultaneously, in multiple chroots.
I am all for binary builds, but I would suggest that work on
universal variants continue (personally I find them very useful).
Universal, however, should be limited to 32/64-bit universal as soon as possible.
Having changes several ports over the muniversal PortGroup, the biggest
obstacle is the cross-compiling (see
http://trac.macports.org/attachment/ticket/17042/glib2-Portfile.diff)
for the reasons noted above.
I can not image that MacPorts ppc/i386 universal builds are in widespread use.
-Marcus
More information about the macports-dev
mailing list