On Fri, 2005-02-11 at 19:54 -0500, Tom Lane wrote: > Sven Willenberger <sven@xxxxxxx> writes: > > The rpath solution you provided to patch GNUmakefile did not > > work however, bailing with: > > > gcc -O2 -fno-strict-aliasing -Wmissing-declarations, -Wl, > > -rpath, /usr/local/lib/perl5/5.8.6/mach/CORE -fpic -DPIC -I. > > -I/usr/local/lib/perl5/5.8.6/mach/CORE -I../../../src/include -c -o > > plperl.o plperl.c > > gcc: cannot specify -o with -c or -S and multiple compilations > > If that's an accurate cut-and-paste, then you let a space sneak into > the -Wl,-rpath,path construct; perhaps that's the problem? > > regards, tom lane ahh, the linewrap issue of mailclients snuck in ... yes removing the space did result in a successful build: cc -O2 -pipe -march=pentiumpro -fno-strict-aliasing -Wmissing-declarations, -Wl,-rpath,/usr/local/lib/perl5/5.8.6/mach/CORE -fPIC -DPIC -I. -I/usr/local/lib/perl5/5.8.6/mach/CORE -I../../../src/include -c -o plperl.o plperl.c plperl.c: In function `compile_plperl_function': plperl.c:541: warning: cast to pointer from integer of different size plperl.c:730: warning: cast from pointer to integer of different size cc: -rpath: linker input file unused since linking not done cc: /usr/local/lib/perl5/5.8.6/mach/CORE: linker input file unused since linking not done cc -O2 -pipe -march=pentiumpro -fno-strict-aliasing -Wmissing-declarations, -Wl,-rpath,/usr/local/lib/perl5/5.8.6/mach/CORE -fPIC -DPIC -I. -I/usr/local/lib/perl5/5.8.6/mach/CORE -I../../../src/include -c -o eloglvl.o eloglvl.c cc: -rpath: linker input file unused since linking not done cc: /usr/local/lib/perl5/5.8.6/mach/CORE: linker input file unused since linking not done /usr/bin/perl /usr/local/lib/perl5/5.8.6/ExtUtils/xsubpp -typemap /usr/local/lib/perl5/5.8.6/ExtUtils/typemap SPI.xs >SPI.c cc -O2 -pipe -march=pentiumpro -fno-strict-aliasing -Wmissing-declarations, -Wl,-rpath,/usr/local/lib/perl5/5.8.6/mach/CORE -fPIC -DPIC -I. -I/usr/local/lib/perl5/5.8.6/mach/CORE -I../../../src/include -c -o SPI.o SPI.c cc: -rpath: linker input file unused since linking not done cc: /usr/local/lib/perl5/5.8.6/mach/CORE: linker input file unused since linking not done ar cr libplperl.a `lorder plperl.o eloglvl.o SPI.o | tsort` ranlib libplperl.a cc -O2 -pipe -march=pentiumpro -fno-strict-aliasing -Wmissing-declarations, -Wl,-rpath,/usr/local/lib/perl5/5.8.6/mach/CORE -fPIC -DPIC -shared -Wl,-x,-soname,libplperl.so.0 plperl.o eloglvl.o SPI.o -L../../../src/port -L/usr/local/lib -Wl,-E -L/usr/local/lib /usr/local/lib/perl5/5.8.6/mach/auto/DynaLoader/DynaLoader.a -L/usr/local/lib/perl5/5.8.6/mach/CORE -lperl -lm -lcrypt -lutil -R/usr/local/lib -o libplperl.so.0 rm -f libplperl.so ln -s libplperl.so.0 libplperl.so # cd work/postgresql-7.4.7/src/pl/plperl/ # ldd ./libplperl.so ./libplperl.so: libperl.so => /usr/local/lib/perl5/5.8.6/mach/CORE/libperl.so (0x2810b000) libm.so.2 => /usr/lib/libm.so.2 (0x28207000) libcrypt.so.2 => /usr/lib/libcrypt.so.2 (0x28222000) libutil.so.3 => /usr/lib/libutil.so.3 (0x2823b000) I have submitted a patch containing the other solution .. for what it's worth attached is this solution as a patch. I will leave it to the maintainer(s) to determine the "cleaner" solution :-) Svem
--- src/pl/plperl/GNUmakefile.orig Wed Jan 21 14:25:11 2004 +++ src/pl/plperl/GNUmakefile Fri Feb 11 20:06:31 2005 @@ -15,7 +15,7 @@ # The code isn't clean with regard to these warnings. ifeq ($(GCC),yes) -override CFLAGS := $(filter-out -Wall -Wmissing-declarations -Wmissing-prototypes, $(CFLAGS)) +override CFLAGS := $(filter-out -Wall -Wmissing-declarations -Wmissing-prototypes, $(CFLAGS), -Wl,-rpath,$(perl_archlibexp)/CORE) endif override CPPFLAGS := -I$(srcdir) -I$(perl_archlibexp)/CORE $(CPPFLAGS)
---------------------------(end of broadcast)--------------------------- TIP 7: don't forget to increase your free space map settings