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