On Dec 2, 2009, at 8:26 AM, Tom Lane wrote:
Israel Brewster <israel@xxxxxxxxxxxxxxxxxx> 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?
Well, I'm not trying to use the server or client programs from this
build - I just want the universal libraries for my programs. My point
in this last section, however, doesn't necessarily extend as far as
actual function, but rather is just with the build. MySQL and SQLite
build for multiple architectures quite happily, Postgres doesn't build
at all except for single architectures (the way I am trying at least).
Granted, it's entirely possible that the server/client built by MySQL
doesn't work on other platforms, but the build does - thus my curiosity.
FWIW, I have tested a program of mine linked against the multi-
architecture builds of the MySQL and SQLite libraries on other
platforms, and they do work. But then, I didn't need to do any fancy
work with multiple builds and lipo with them. Actually, back when I
was on Mac OS 10.5 I managed to get a universal build of Postgres 8.2
that worked - there's an old thread of mine from when I was having
problems with that as well. But I'm trying to get updated here, and
seem to be running into all new problems :-)
regards, tom lane
-----------------------------------------------
Israel Brewster
Computer Support Technician II
Frontier Flying Service Inc.
5245 Airport Industrial Rd
Fairbanks, AK 99709
(907) 450-7250 x293
-----------------------------------------------
BEGIN:VCARD
VERSION:3.0
N:Brewster;Israel;;;
FN:Israel Brewster
ORG:Frontier Flying Service;MIS
TITLE:PC Support Tech II
EMAIL;type=INTERNET;type=WORK;type=pref:israel@xxxxxxxxxxxxxxxxxx
TEL;type=WORK;type=pref:907-450-7293
item1.ADR;type=WORK;type=pref:;;5245 Airport Industrial Wy;Fairbanks;AK;99701;
item1.X-ABADR:us
CATEGORIES:General
X-ABUID:36305438-95EA-4410-91AB-45D16CABCDDC\:ABPerson
END:VCARD
--
Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general