Thread

  1. PG still fussy to compile on Solaris + GCC, may still need Sun ld

    PostgreSQL Bugs List <pgsql-bugs@postgresql.org> — 2000-09-02T16:08:55Z

    Matt Benjamin (matt@linuxbox.nu) reports a bug with a severity of 2
    The lower the number the more severe it is.
    
    Short Description
    PG still fussy to compile on Solaris + GCC, may still need Sun ld
    
    Long Description
    I found that on my Solaris 8, Sparc system with GCC and GNU Binutils, 
    there was one major and one minor hassle:
    
    1. PG libs failed to link with GCC + GNU ld -- switching to Sun ld fixed this
    
    2. PG Perl interface Makefile.PL produced Sun compiler options for compiling PG.c, e.g., "-KPIC", etc.  Easy to fix, but required hacking to get "make install" to run to completion.
    
    Sample Code
    
    
    No file was uploaded with this report
    
    
    
  2. Re: PG still fussy to compile on Solaris + GCC, may still need Sun ld

    Tom Lane <tgl@sss.pgh.pa.us> — 2000-09-02T17:52:10Z

    pgsql-bugs@postgresql.org writes:
    > 2. PG Perl interface Makefile.PL produced Sun compiler options for
    > compiling PG.c, e.g., "-KPIC", etc.
    
    We deliberately try to build the Perl interface with the same compiler
    and options that the local Perl installation claims it was built with,
    regardless of what you are building Postgres with.  Experience so far
    on multi-compiler platforms is that it's much more likely that the
    interface will actually work if built that way (remember it's going to
    link into the Perl executable, not into Postgres).
    
    Did it not work if you just let the makefile do what it wanted?
    
    			regards, tom lane
    
    
  3. Re: PG still fussy to compile on Solaris + GCC, may still need Sun ld

    Matt Benjamin <matt@linuxbox.nu> — 2000-09-02T19:38:07Z

    Hi Tom,
    
    What do you mean, "do what it wanted?"  The configure script produced a
    setup that would not build a perl interface, and the error was related to
    SunWS compiler options.  
    
    The larger problem was of linking the PG libs.  I had a copy of Sun ld
    around, but, since this (somehow, like the compiler) doesn't come with the
    OS, it is a safe bet that a fair number of folks won't have it.
    
    Sounds like half my problem was using the Perl5 that Sun provides with
    Solaris 8. . .
    
    
    Matt 
    
     
    Matt Benjamin President/CTO
     
    The Linux Box 
    206 South Fifth Ave. Suite 150 
    Ann Arbor, MI  48104
     
    tel. 734-761-4689 
    fax. 734-769-8938
    pgr. 734-431-0118    
    
    On Sat, 2 Sep 2000, Tom Lane wrote:
    
    > pgsql-bugs@postgresql.org writes:
    > > 2. PG Perl interface Makefile.PL produced Sun compiler options for
    > > compiling PG.c, e.g., "-KPIC", etc.
    > 
    > We deliberately try to build the Perl interface with the same compiler
    > and options that the local Perl installation claims it was built with,
    > regardless of what you are building Postgres with.  Experience so far
    > on multi-compiler platforms is that it's much more likely that the
    > interface will actually work if built that way (remember it's going to
    > link into the Perl executable, not into Postgres).
    > 
    > Did it not work if you just let the makefile do what it wanted?
    > 
    > 			regards, tom lane
    > 
    
    
    
  4. Re: PG still fussy to compile on Solaris + GCC, may still need Sun ld

    Tom Lane <tgl@sss.pgh.pa.us> — 2000-09-02T19:49:58Z

    Matt Benjamin <matt@linuxbox.nu> writes:
    > What do you mean, "do what it wanted?"  The configure script produced a
    > setup that would not build a perl interface, and the error was related to
    > SunWS compiler options.  
    
    > Sounds like half my problem was using the Perl5 that Sun provides with
    > Solaris 8. . .
    
    Urgh, could be.  If you'd built and installed Perl yourself, it'd be a
    pretty good bet that it'd report a compiler name and switches that would
    actually work on your box.  If you're using a vendor-supplied Perl then
    I could see how there might be a problem: perhaps they used a compiler
    different from the one you have.
    
    Not sure what we could/should do about this.  We used to try to force
    the perl5 interface to be built with the same compiler/switches used for
    Postgres. Our current behavior (ie, just accepting MakeMaker's stored
    recollection of the Perl build setup) was chosen after getting reports
    that that didn't work either, on machines where there was actually some
    material difference.  Seems like we lose either way, just on different
    machines...
    
    > The larger problem was of linking the PG libs.  I had a copy of Sun ld
    > around, but, since this (somehow, like the compiler) doesn't come with the
    > OS, it is a safe bet that a fair number of folks won't have it.
    
    I'd argue that that means GNU ld is broken on your platform, and you
    ought to be complaining to the bintools people about it.  Postgres
    doesn't do anything particularly out-of-the-ordinary as far as the
    linker is concerned.
    
    			regards, tom lane
    
    
  5. Re: PG still fussy to compile on Solaris + GCC, may still need Sun ld

    Matt Benjamin <matt@linuxbox.nu> — 2000-09-03T04:44:05Z

    
    Okay, thanks for the help.  
    
    
    Matt
     
    Matt Benjamin President/CTO
     
    The Linux Box 
    206 South Fifth Ave. Suite 150 
    Ann Arbor, MI  48104
     
    tel. 734-761-4689 
    fax. 734-769-8938
    pgr. 734-431-0118    
    
    On Sat, 2 Sep 2000, Tom Lane wrote:
    
    > Matt Benjamin <matt@linuxbox.nu> writes:
    > > What do you mean, "do what it wanted?"  The configure script produced a
    > > setup that would not build a perl interface, and the error was related to
    > > SunWS compiler options.  
    > 
    > > Sounds like half my problem was using the Perl5 that Sun provides with
    > > Solaris 8. . .
    > 
    > Urgh, could be.  If you'd built and installed Perl yourself, it'd be a
    > pretty good bet that it'd report a compiler name and switches that would
    > actually work on your box.  If you're using a vendor-supplied Perl then
    > I could see how there might be a problem: perhaps they used a compiler
    > different from the one you have.
    > 
    > Not sure what we could/should do about this.  We used to try to force
    > the perl5 interface to be built with the same compiler/switches used for
    > Postgres. Our current behavior (ie, just accepting MakeMaker's stored
    > recollection of the Perl build setup) was chosen after getting reports
    > that that didn't work either, on machines where there was actually some
    > material difference.  Seems like we lose either way, just on different
    > machines...
    > 
    > > The larger problem was of linking the PG libs.  I had a copy of Sun ld
    > > around, but, since this (somehow, like the compiler) doesn't come with the
    > > OS, it is a safe bet that a fair number of folks won't have it.
    > 
    > I'd argue that that means GNU ld is broken on your platform, and you
    > ought to be complaining to the bintools people about it.  Postgres
    > doesn't do anything particularly out-of-the-ordinary as far as the
    > linker is concerned.
    > 
    > 			regards, tom lane
    >