Re: Build universal binary on Mac OS X 10.6? - Mailing list pgsql-general

From Tom Lane
Subject Re: Build universal binary on Mac OS X 10.6?
Date
Msg-id 16900.1259774763@sss.pgh.pa.us
Whole thread Raw
In response to Re: Build universal binary on Mac OS X 10.6?  (Israel Brewster <israel@frontierflying.com>)
Responses Re: Build universal binary on Mac OS X 10.6?  (Israel Brewster <israel@frontierflying.com>)
List pgsql-general
Israel Brewster <israel@frontierflying.com> writes:
> That said, I did sort of get this to work. What I ended up doing was
> building for each architecture separately (but on the same machine),
> then using lipo to combine the resulting libraries. When I took all
> but one architecture flag out of the configure string I used, it
> worked- regardless of which architecture I left in. I haven't had a
> chance to test this fully yet, but so far it seems to have worked -

The server executables will probably not work, except on the arch you
built on.  The client programs might accidentally fail to fail;
I'm not sure whether they contain any dependencies on the arch-specific
values that are extracted by configure.  You really need to create
pg_config.h contents that are correct for the specific arch you're
trying to compile for.  The last time I tried this, the only good way
to do that was by running configure on the particular architecture.
(Maybe 10.6 has got some cute way around that, but I doubt it.)

> I'm somewhat curious though. I didn't have any difficulties making
> universal builds of MySQL and SQLite by simply passing multiple -arch
> flags to CFLAGS and LDFLAGS.

Can't speak to SQLite, but I know quite well that mysql has got
essentially the same issues as PG with having arch-specific configure
output.  Have you actually tested those universal builds on any arch
except where you built them?

            regards, tom lane

pgsql-general by date:

Previous
From: Greg Smith
Date:
Subject: Re: Postgres performance on Veritas VxVM
Next
From: "Daniel Verite"
Date:
Subject: Re: return value for PQbinaryTuples