Обсуждение: PostgreSQL 8.2.5 compile problem

Поиск
Список
Период
Сортировка

PostgreSQL 8.2.5 compile problem

От
Madison Kelly
Дата:
Hi all,

   I am trying to compile PgSQL 8.2.5 (on Debian Etch, in case it
matters). This is a second install for a dedicated program, which is why
I am not using the binaries in the apt repositories.

   My problem is, 'make' is failing with:

<previous stuff snipped>
make -C pl install
make[2]: Entering directory `/home/digimer/projects/mizu-bu/pgsql/src/pl'
make[3]: Entering directory
`/home/digimer/projects/mizu-bu/pgsql/src/pl/plpgsql'
make -C src install
make[4]: Entering directory
`/home/digimer/projects/mizu-bu/pgsql/src/pl/plpgsql/src'
/bin/sh ../../../../config/install-sh -c -m 755  libplpgsql.so.1.0
'/usr/share/mizu-bu/pgsql//lib/plpgsql.so'
make[4]: Leaving directory
`/home/digimer/projects/mizu-bu/pgsql/src/pl/plpgsql/src'
make[3]: Leaving directory
`/home/digimer/projects/mizu-bu/pgsql/src/pl/plpgsql'
make[3]: Entering directory
`/home/digimer/projects/mizu-bu/pgsql/src/pl/plperl'
gcc -O2 -Wall -Wmissing-prototypes -Wpointer-arith -Winline
-Wdeclaration-after-statement -Wendif-labels -fno-strict-aliasing -fpic
-shared -Wl,-soname,libplperl.so.0   plperl.o spi_internal.o SPI.o
-L/usr/local/lib -L/usr/lib/perl/5.8/CORE -L../../../src/port
/usr/lib/perl/5.8/auto/DynaLoader/DynaLoader.a -lperl -ldl -lm -lpthread
-lc -lcrypt -Wl,-rpath,'/usr/lib/perl/5.8/CORE' -o libplperl.so.0.0
/usr/bin/ld: cannot find -lperl
collect2: ld returned 1 exit status
make[3]: *** [libplperl.so.0.0] Error 1
make[3]: Leaving directory
`/home/digimer/projects/mizu-bu/pgsql/src/pl/plperl'
make[2]: *** [install] Error 1
make[2]: Leaving directory `/home/digimer/projects/mizu-bu/pgsql/src/pl'
make[1]: *** [install] Error 2
make[1]: Leaving directory `/home/digimer/projects/mizu-bu/pgsql/src'
make: *** [install] Error 2

   After this error, I searched for 'libplperl.so.0.0' but couldn't find
it (I did updatedb first). I did find
'/<program_dir>/pgsql/src/pl/plperl/libplperl.a' though...

   The 'configure' step seemed to be okay:

./configure --prefix=/usr/share/mizu-bu/pgsql/ --with-pgport=1062
--without-docdir --with-perl --without-tcl --without-python
--without-krb5 --without-pam --without-ldap --without-bonjour
--without-openssl --without-readline --without-zlib

<stuff snipped>
checking for perl... /usr/bin/perl
checking for Perl archlibexp... /usr/lib/perl/5.8
checking for Perl privlibexp... /usr/share/perl/5.8
checking for Perl useshrplib... true
checking for flags to link embedded Perl...   -L/usr/local/lib
/usr/lib/perl/5.8/auto/DynaLoader/DynaLoader.a -L/usr/lib/perl/5.8/CORE
-lperl -ldl -lm -lpthread -lc -lcrypt

   Any idea why 'make' is failing? I am using GNU Make 3.81, as the docs
require.

Madi

Re: PostgreSQL 8.2.5 compile problem

От
Tom Lane
Дата:
Madison Kelly <linux@alteeve.com> writes:
> gcc -O2 -Wall -Wmissing-prototypes -Wpointer-arith -Winline
> -Wdeclaration-after-statement -Wendif-labels -fno-strict-aliasing -fpic
> -shared -Wl,-soname,libplperl.so.0   plperl.o spi_internal.o SPI.o
> -L/usr/local/lib -L/usr/lib/perl/5.8/CORE -L../../../src/port
> /usr/lib/perl/5.8/auto/DynaLoader/DynaLoader.a -lperl -ldl -lm -lpthread
> -lc -lcrypt -Wl,-rpath,'/usr/lib/perl/5.8/CORE' -o libplperl.so.0.0
> /usr/bin/ld: cannot find -lperl

>    After this error, I searched for 'libplperl.so.0.0' but couldn't find
> it (I did updatedb first).

It's complaining about the lack of libperl.so ... the other one is what
it wants to build.

>    The 'configure' step seemed to be okay:

AFAICT, our configure just believes what perl's ExtUtils::Embed and
Config modules tell it ... it doesn't actually test the results.  So I'm
thinking either libperl.so isn't installed, or it isn't where those
modules say it is --- which would be a Perl misconfiguration.

            regards, tom lane

Re: PostgreSQL 8.2.5 compile problem

От
Madison Kelly
Дата:
Tom Lane wrote:
> Madison Kelly <linux@alteeve.com> writes:
>> gcc -O2 -Wall -Wmissing-prototypes -Wpointer-arith -Winline
>> -Wdeclaration-after-statement -Wendif-labels -fno-strict-aliasing -fpic
>> -shared -Wl,-soname,libplperl.so.0   plperl.o spi_internal.o SPI.o
>> -L/usr/local/lib -L/usr/lib/perl/5.8/CORE -L../../../src/port
>> /usr/lib/perl/5.8/auto/DynaLoader/DynaLoader.a -lperl -ldl -lm -lpthread
>> -lc -lcrypt -Wl,-rpath,'/usr/lib/perl/5.8/CORE' -o libplperl.so.0.0
>> /usr/bin/ld: cannot find -lperl
>
>>    After this error, I searched for 'libplperl.so.0.0' but couldn't find
>> it (I did updatedb first).
>
> It's complaining about the lack of libperl.so ... the other one is what
> it wants to build.
>
>>    The 'configure' step seemed to be okay:
>
> AFAICT, our configure just believes what perl's ExtUtils::Embed and
> Config modules tell it ... it doesn't actually test the results.  So I'm
> thinking either libperl.so isn't installed, or it isn't where those
> modules say it is --- which would be a Perl misconfiguration.
>
>             regards, tom lane

Doh!

Was missing the libperl-dev package. Thanks! :)

Madi