Hi Harry. On Jul 27, 2008, at 13:26, Harry van der Wolf wrote:
> As Macports does not build all ports as universal and as some of > the universal ports are not correct anyway due to the endian > "problem" of MacPorts(*), I wanted to set up two parallel macports > trees in user space using the ./configure option "--with-install- > user=USER" with my own userid, thereby also removing the sudo part > of the port command. > So I built from source (1.6) a parallell tree in /Users/Shared/ > macports_universal/ppc and one in /Users/Shared/macports_universal/ > i386 (see attached Setenv-unversal.txt for all scripts and the 1_- > build_parallel_macports_trees for building the parellel trees). > I myself are on Intel (Intel Macbook) but I like to built in the "/ > Users/Shared/macports_universal/ppc" tree for PPC. > I have tried lots of options but without result. Also ports built > in the ppc tree are i386 builds (lipo -info <lib or binary>). > In macports.conf I tried with: > os.endian bigEndian > os.arch ppc (also powerpc and ) > os.version 7.0 I would not expect os.* to be configurable parameters. They're informative only. > I also tried with all kind of (obviously incorrect) "command line" > options like configure.cflags-append "-isysroot /Developer/SDKs/ > MacOSX10.4u.sdk -arch ppc" and configure.ldflags-append " -arch > ppc", but without result. I tried the same in macports.conf (in > the .../ppc/etc/macports/macports.conf) and also using the > extra_env settings like CFLAGS="-isysroot /Developer/SDKs/ > MacOSX10.4u.sdk -arch ppc", but nothing works. > > Is it possible to build ports on intel for ppc at all? > How do I setup my system to accomplish this? The correct solution is to use the +universal variant to build universal binaries. Using MacPorts trunk (a.k.a. MacPorts 1.7.0) you can configure which architectures you want to include in a universal build and which SDK to use. But changing this from the defaults is not guaranteed to work (i.e. will probably fail a lot of the time) so I don't recommend changing it. > *: Macports builds universal packages (that support it) correctly > for ppc or i386 but always uses the endianness of the build > platform. For example: when building glib2, cairo, pango and gtk on > Intel universally (a common option) it will build the ppc "side" > also with little_endian instead of big_endian (same for tiff by the > way). This will result in seemingly correct builds, but these > "universal" builds will not work on "the other platform". Please don't generalize that MacPorts "always uses the endianness of the build platform". That is not correct. In any case, this is not the fault of MacPorts base. MacPorts base does the right thing to build ports universal. If an individual port doesn't get the endianness right, then that individual port is broken. Most ports that have universal variants should work correctly. It's just not tested often because most of us do not have both a PowerPC and an Intel Mac. Since you do have both, you can help us to fix the broken ports. I recently fixed the glib2 port, which may also fix the gtk2 port? I'm not sure. Please test. See: http://trac.macports.org/ticket/15816 I'm surprised you were able to build cairo universal at all; as far as I was aware, this is impossible at this time. See: http://trac.macports.org/ticket/15451 For any other ports that do not build correctly universal, please file tickets against those ports. Each port needs to be fixed individually. _______________________________________________ macports-users mailing list macports-users@lists.macosforge.org http://lists.macosforge.org/mailman/listinfo.cgi/macports-users