Thread

  1. --enable-perl doesn't like Solaris

    PostgreSQL Bugs List <pgsql-bugs@postgresql.org> — 2001-03-25T14:05:59Z

    Justin Clift (jclift@iprimus.com.au) reports a bug with a severity of 3
    The lower the number the more severe it is.
    
    Short Description
    --enable-perl doesn't like Solaris
    
    Long Description
    When testing which 7.1RC1 options are working on Solaris 8 SPARC, I've come across this when using --enable-perl.
    
    It appears that the ./configure script is defining -KPIC somewhere in the perl interface stuff, and this is causing the "make" to bomb out.  I'm pretty sure from memory that -KPIC is not something that gcc on Solaris likes, and will need to be -fPIC -shared or something else.
    
    Please note, on this system 'cc' is a soft link to gcc, for those times I forget to set CC (like this time).
    
    Sample Code
    ./configure --p=/opt/postgresql71 --enable-syslog --with-openssl=/opt/openssl --with-python --with-perl
    
    <snip of successful ./configure stuff>
    <snip of general make stuff>
    make[3]: Leaving directory `/archive/install/postgresql-7.1RC1/src/interfaces/libpgeasy'
    make[3]: Entering directory `/archive/install/postgresql-7.1RC1/src/interfaces/perl5'
    make -C ../../../src/interfaces/libpq all
    make[4]: Entering directory `/archive/install/postgresql-7.1RC1/src/interfaces/libpq'
    make[4]: Nothing to be done for `all'.
    make[4]: Leaving directory `/archive/install/postgresql-7.1RC1/src/interfaces/libpq'
    make -f Makefile all
    make[4]: Entering directory `/archive/install/postgresql-7.1RC1/src/interfaces/perl5'
    cc -c -I../libpq -I../../include  -xO3 -xdepend    -DVERSION=\"1.8.0\" -DXS_VERSION=\"1.8.0\" -KPIC -I/usr/perl5/5.00503/sun4-solaris/CORE  Pg.c
    cc: unrecognized option `-KPIC'
    cc: language depend not recognized
    cc: Pg.c: linker input file unused since linking not done
    Running Mkbootstrap for Pg ()
    chmod 644 Pg.bs
    LD_RUN_PATH="/archive/install/postgresql-7.1RC1/src/interfaces/perl5/../libpq" cc -o blib/arch/auto/Pg/Pg.so -R/archive/install/postgresql-7.1RC1/src/interfaces/perl5/../libpq -G Pg.o    -L/archive/install/postgresql-7.1RC1/src/interfaces/perl5/../libpq -lpq 
    cc: Pg.o: No such file or directory
    make[4]: *** [blib/arch/auto/Pg/Pg.so] Error 1
    make[4]: Leaving directory `/archive/install/postgresql-7.1RC1/src/interfaces/perl5'
    make[3]: *** [all] Error 2
    make[3]: Leaving directory `/archive/install/postgresql-7.1RC1/src/interfaces/perl5'
    make[2]: *** [all] Error 2
    make[2]: Leaving directory `/archive/install/postgresql-7.1RC1/src/interfaces'
    make[1]: *** [all] Error 2
    make[1]: Leaving directory `/archive/install/postgresql-7.1RC1/src'
    make: *** [all] Error 2
    $ 
    
    No file was uploaded with this report
    
    
    
  2. Re: --enable-perl doesn't like Solaris

    Peter Eisentraut <peter_e@gmx.net> — 2001-03-25T14:56:37Z

    > Justin Clift (jclift@iprimus.com.au) reports a bug with a severity of 3
    
    > It appears that the ./configure script is defining -KPIC somewhere in
    > the perl interface stuff, and this is causing the "make" to bomb out.
    > I'm pretty sure from memory that -KPIC is not something that gcc on
    > Solaris likes, and will need to be -fPIC -shared or something else.
    
    The Perl build environment is not provided by us, it comes from the
    ExtUtils::MakeMaker module.  MakeMaker is misdesigned in that it assumes
    that the user will use the same compiler for building his modules as the
    one he used for building perl itself.  So if you got Perl from Sun, then
    it's likely to have been compiled by Sun's cc.
    
    Solution 1 is to hack MakeMaker and/or the Makefile it generates to fix
    the options.  (Replacing -KPIC by -fPIC might do.)
    
    Solution 2 is to recompile Perl with gcc.  This would also give you a
    chance to build a shared libperl, so you can use PL/Perl.
    
    -- 
    Peter Eisentraut      peter_e@gmx.net       http://yi.org/peter-e/