Search Postgresql Archives

Re: Universal libpq.a ?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, 4 Feb 2008, Tom Lane wrote:

"Dave Page" <dpage@xxxxxxxxxxxxxx> writes:
On Feb 4, 2008 6:25 PM, Tom Lane <tgl@xxxxxxxxxxxxx> wrote:
"Dave Page" <dpage@xxxxxxxxxxxxxx> writes:
The Mac build of EDB Postgres is universal throughout,

Yeah?  How painful is it?  We've had more than one request to enable
universal builds.

There was fair bit of pain getting it to work, but the resulting
script isn't overly complex. Note this is based on work by the guys at
entropy.ch. Ignore the target directory fudging...

Hmm.  The multiple versions of pg_config.h don't bother me --- the RPM
distributions have to do something very similar to support multilib
Linux platforms.  This bit seems pretty brute-force though:

    # Fixup the makefiles
    echo "Post-processing Makefiles for Universal Binary build"
    find . -name Makefile -print -exec perl -p -i.backup -e 's/\Q$(LD)
$(LDREL) $(LDOUT)\E (\S+) (.+)/\$(LD) -arch ppc \$(LDREL) \$(LDOUT)
$1.ppc $2; \$(LD) -arch i386 \$(LDREL) \$(LDOUT) $1.i386 $2; lipo
-create -output $1 $1.ppc $1.i386/' {} \; || _die "Failed to
post-process the Postgres Makefiles for Universal build"

I thought I'd read that you could solve this problem by using the gcc
frontend to invoke loading, ie something involving making $(LD) call gcc
with some options.  I'd be willing to tweak the LDxxx macros a bit if
needed to enable a solution like that, but changing the Makefiles at
build time is clearly right out ...
When I was playing with this last week, the problem is that the gcc front end when passing -Wl,-r still includes other things to make the relocatable SUBSYS.o's.

So, when we try to link, we get duplicate symbols.

I gave up, and just built it twice, and then lipo'd the 2 bin and lib directory
files together as a quick hack.



			regards, tom lane

---------------------------(end of broadcast)---------------------------
TIP 9: In versions below 8.0, the planner will ignore your desire to
      choose an index scan if your joining column's datatypes do not
      match


--
Larry Rosenman                     http://www.lerctr.org/~ler
Phone: +1 512-248-2683                 E-Mail: ler@xxxxxxxxxx
US Mail: 430 Valona Loop, Round Rock, TX 78681-3893

---------------------------(end of broadcast)---------------------------
TIP 2: Don't 'kill -9' the postmaster

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux