PlPerl compile failure

Started by Bruce Momjianover 24 years ago5 messages
#1Bruce Momjian
pgman@candle.pha.pa.us

I am seeing this error in CVS current:

gmake -f Makefile all
gmake[1]: Entering directory `/usr/var/local/src/gen/pgsql/CURRENT/pgsql/src/pl/plperl'
LD_RUN_PATH="" ld -o blib/arch/auto/plperl/plperl.so -shared -x -L/usr/X11/lib -L/usr/local/lib plperl.o eloglvl.o SPI.o -rdynamic -Wl,-rpath,/usr/libdata/perl5/5.00503/i386-bsdos/CORE -L/usr/X11/lib -L/usr/local/lib /usr/libdata/perl5/5.00503/i386-bsdos/auto/DynaLoader/DynaLoader.a -L/usr/libdata/perl5/5.00503/i386-bsdos/CORE -lperl -ldl -lm -lc

ld: -r and -shared may not be used together
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
gmake[1]: *** [blib/arch/auto/plperl/plperl.so] Error 1
gmake[1]: Leaving directory `/usr/var/local/src/gen/pgsql/CURRENT/pgsql/src/pl/plperl'
gmake: *** [all] Error 2

Can anyone suggest a fix? Everything else compiles fine. I am on
BSD/OS.

-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 853-3000
  +  If your life is a hard drive,     |  830 Blythe Avenue
  +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026
#2Bruce Momjian
pgman@candle.pha.pa.us
In reply to: Bruce Momjian (#1)
1 attachment(s)
Re: PlPerl compile failure

Output attached.

That's me fault. I'm reading up on bsdos documentation to see what's the
right way to run ld on it.

Can you give me output of 'perl -MExtUtils::Embed -e ldopts' and 'perl -V'
on your machine?

Thanks

On Tue, 19 Jun 2001, Bruce Momjian wrote:

I am seeing this error in CVS current:

gmake -f Makefile all
gmake[1]: Entering directory `/usr/var/local/src/gen/pgsql/CURRENT/pgsql/src/pl/plperl'

LD_RUN_PATH="" ld -o blib/arch/auto/plperl/plperl.so -shared -x
-L/usr/X11/lib -L/usr/local/lib plperl.o eloglvl.o SPI.o -rdynamic
-Wl,-rpath,/usr/libdata/perl5/5.00503/i386-bsdos/CORE -L/usr/X11/lib
-L/usr/local/lib
/usr/libdata/perl5/5.00503/i386-bsdos/auto/DynaLoader/DynaLoader.a
-L/usr/libdata/perl5/5.00503/i386-bsdos/CORE -lperl -ldl -lm -lc

ld: -r and -shared may not be used together
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
gmake[1]: *** [blib/arch/auto/plperl/plperl.so] Error 1
gmake[1]: Leaving directory `/usr/var/local/src/gen/pgsql/CURRENT/pgsql/src/pl/plperl'
gmake: *** [all] Error 2

Can anyone suggest a fix? Everything else compiles fine. I am on
BSD/OS.

-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 853-3000
  +  If your life is a hard drive,     |  830 Blythe Avenue
  +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026

Attachments:

/bjm/outtext/plainDownload
#3Alex Pilosov
alex@pilosoft.com
In reply to: Bruce Momjian (#1)
Re: PlPerl compile failure

That's me fault. I'm reading up on bsdos documentation to see what's the
right way to run ld on it.

Can you give me output of 'perl -MExtUtils::Embed -e ldopts' and 'perl -V'
on your machine?

Thanks

On Tue, 19 Jun 2001, Bruce Momjian wrote:

Show quoted text

I am seeing this error in CVS current:

gmake -f Makefile all
gmake[1]: Entering directory `/usr/var/local/src/gen/pgsql/CURRENT/pgsql/src/pl/plperl'

LD_RUN_PATH="" ld -o blib/arch/auto/plperl/plperl.so -shared -x
-L/usr/X11/lib -L/usr/local/lib plperl.o eloglvl.o SPI.o -rdynamic
-Wl,-rpath,/usr/libdata/perl5/5.00503/i386-bsdos/CORE -L/usr/X11/lib
-L/usr/local/lib
/usr/libdata/perl5/5.00503/i386-bsdos/auto/DynaLoader/DynaLoader.a
-L/usr/libdata/perl5/5.00503/i386-bsdos/CORE -lperl -ldl -lm -lc

ld: -r and -shared may not be used together
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
gmake[1]: *** [blib/arch/auto/plperl/plperl.so] Error 1
gmake[1]: Leaving directory `/usr/var/local/src/gen/pgsql/CURRENT/pgsql/src/pl/plperl'
gmake: *** [all] Error 2

Can anyone suggest a fix? Everything else compiles fine. I am on
BSD/OS.

#4Alex Pilosov
alex@pilosoft.com
In reply to: Bruce Momjian (#2)
Re: PlPerl compile failure

Bruce, try the following patch, and let me know.

Apparently, on some systems, ExtUtils::Embed and MakeMaker are slightly
broken, and its impossible to make a shared library when compiling with
both CCDLFLAGS and LDDLFAGS, you have to pick one or the other.

Index: Makefile.PL
===================================================================
RCS file: /home/cvs/pgsql/pgsql/src/pl/plperl/Makefile.PL,v
retrieving revision 1.12.1000.1
diff --unified -r1.12.1000.1 Makefile.PL
--- Makefile.PL 2001/06/16 23:18:04     1.12.1000.1
+++ Makefile.PL 2001/06/19 14:10:33
@@ -29,8 +29,11 @@
        exit(0);
 }
+my $ldopts=ldopts();
+$ldopts=~s/$Config{ccdlflags}//;
+
 WriteMakefile( 'NAME' => 'plperl', 
-       dynamic_lib => { 'OTHERLDFLAGS' =>  ldopts() } ,
+       dynamic_lib => { 'OTHERLDFLAGS' =>  $ldopts } ,
        INC => "$ENV{EXTRA_INCLUDES}",
        XS => { 'SPI.xs' => 'SPI.c' },
        OBJECT => 'plperl.o eloglvl.o SPI.o',

On Tue, 19 Jun 2001, Bruce Momjian wrote:

Show quoted text

Output attached.

That's me fault. I'm reading up on bsdos documentation to see what's the
right way to run ld on it.

Can you give me output of 'perl -MExtUtils::Embed -e ldopts' and 'perl -V'
on your machine?

Thanks

On Tue, 19 Jun 2001, Bruce Momjian wrote:

I am seeing this error in CVS current:

gmake -f Makefile all
gmake[1]: Entering directory `/usr/var/local/src/gen/pgsql/CURRENT/pgsql/src/pl/plperl'

LD_RUN_PATH="" ld -o blib/arch/auto/plperl/plperl.so -shared -x
-L/usr/X11/lib -L/usr/local/lib plperl.o eloglvl.o SPI.o -rdynamic
-Wl,-rpath,/usr/libdata/perl5/5.00503/i386-bsdos/CORE -L/usr/X11/lib
-L/usr/local/lib
/usr/libdata/perl5/5.00503/i386-bsdos/auto/DynaLoader/DynaLoader.a
-L/usr/libdata/perl5/5.00503/i386-bsdos/CORE -lperl -ldl -lm -lc

ld: -r and -shared may not be used together
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
gmake[1]: *** [blib/arch/auto/plperl/plperl.so] Error 1
gmake[1]: Leaving directory `/usr/var/local/src/gen/pgsql/CURRENT/pgsql/src/pl/plperl'
gmake: *** [all] Error 2

Can anyone suggest a fix? Everything else compiles fine. I am on
BSD/OS.

#5Bruce Momjian
pgman@candle.pha.pa.us
In reply to: Alex Pilosov (#4)
Re: PlPerl compile failure

The fix worked. Thanks. Patch applied.

Bruce, try the following patch, and let me know.

Apparently, on some systems, ExtUtils::Embed and MakeMaker are slightly
broken, and its impossible to make a shared library when compiling with
both CCDLFLAGS and LDDLFAGS, you have to pick one or the other.

Index: Makefile.PL
===================================================================
RCS file: /home/cvs/pgsql/pgsql/src/pl/plperl/Makefile.PL,v
retrieving revision 1.12.1000.1
diff --unified -r1.12.1000.1 Makefile.PL
--- Makefile.PL 2001/06/16 23:18:04     1.12.1000.1
+++ Makefile.PL 2001/06/19 14:10:33
@@ -29,8 +29,11 @@
exit(0);
}
+my $ldopts=ldopts();
+$ldopts=~s/$Config{ccdlflags}//;
+
WriteMakefile( 'NAME' => 'plperl', 
-       dynamic_lib => { 'OTHERLDFLAGS' =>  ldopts() } ,
+       dynamic_lib => { 'OTHERLDFLAGS' =>  $ldopts } ,
INC => "$ENV{EXTRA_INCLUDES}",
XS => { 'SPI.xs' => 'SPI.c' },
OBJECT => 'plperl.o eloglvl.o SPI.o',

On Tue, 19 Jun 2001, Bruce Momjian wrote:

Output attached.

That's me fault. I'm reading up on bsdos documentation to see what's the
right way to run ld on it.

Can you give me output of 'perl -MExtUtils::Embed -e ldopts' and 'perl -V'
on your machine?

Thanks

On Tue, 19 Jun 2001, Bruce Momjian wrote:

I am seeing this error in CVS current:

gmake -f Makefile all
gmake[1]: Entering directory `/usr/var/local/src/gen/pgsql/CURRENT/pgsql/src/pl/plperl'

LD_RUN_PATH="" ld -o blib/arch/auto/plperl/plperl.so -shared -x
-L/usr/X11/lib -L/usr/local/lib plperl.o eloglvl.o SPI.o -rdynamic
-Wl,-rpath,/usr/libdata/perl5/5.00503/i386-bsdos/CORE -L/usr/X11/lib
-L/usr/local/lib
/usr/libdata/perl5/5.00503/i386-bsdos/auto/DynaLoader/DynaLoader.a
-L/usr/libdata/perl5/5.00503/i386-bsdos/CORE -lperl -ldl -lm -lc

ld: -r and -shared may not be used together
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
gmake[1]: *** [blib/arch/auto/plperl/plperl.so] Error 1
gmake[1]: Leaving directory `/usr/var/local/src/gen/pgsql/CURRENT/pgsql/src/pl/plperl'
gmake: *** [all] Error 2

Can anyone suggest a fix? Everything else compiles fine. I am on
BSD/OS.

-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 853-3000
  +  If your life is a hard drive,     |  830 Blythe Avenue
  +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026