-HEAD build failure on OpenBSD 3.6-current/Sparc64 +patch - Mailing list pgsql-hackers

From Stefan Kaltenbrunner
Subject -HEAD build failure on OpenBSD 3.6-current/Sparc64 +patch
Date
Msg-id 4161BF51.2050306@kaltenbrunner.cc
Whole thread Raw
Responses Re: -HEAD build failure on OpenBSD 3.6-current/Sparc64 +patch
List pgsql-hackers
this one got caught by the testfarm as well - it looks like the
openbsd-specific makefile is missing a -fPIC for the Sparc platform(I
would assume that at least NetBSD/sparc is affected too but I don't have
access to such a system to test on).
And I also think that -shared is now prefered/recommended on OpenBSD/elf
too   - a small patch implementing those chances is attached and passes
regress on my box.
The actual compile failure is in contrib/tsearch2 (because it looks like
the postgresql libs itself are small enough to avoid the 8k GOT limit).


Stefan


gmake[1]: Entering directory
`/home/pgbuild/pgbuildfarm/HEAD/pgsql.8969/contrib/tsearch2'
sed -e 's,MODULE_PATHNAME,$libdir/tsearch2,g' \
     -e
's,DATA_PATH,/home/pgbuild/pgbuildfarm/HEAD/inst/share/postgresql/contrib,g'
tsearch.sql.in >tsearch2.sql
cp untsearch.sql.in untsearch2.sql
gcc -O2 -fno-strict-aliasing -g -Wall -Wmissing-prototypes
-Wmissing-declarations -fpic -DPIC -I./snowball -I./ispell
-I./wordparser -I. -I../../src/include   -c -o dict_ex.o dict_ex.c
gcc -O2 -fno-strict-aliasing -g -Wall -Wmissing-prototypes
-Wmissing-declarations -fpic -DPIC -I./snowball -I./ispell
-I./wordparser -I. -I../../src/include   -c -o dict.o dict.c
gcc -O2 -fno-strict-aliasing -g -Wall -Wmissing-prototypes
-Wmissing-declarations -fpic -DPIC -I./snowball -I./ispell
-I./wordparser -I. -I../../src/include   -c -o snmap.o snmap.c
gcc -O2 -fno-strict-aliasing -g -Wall -Wmissing-prototypes
-Wmissing-declarations -fpic -DPIC -I./snowball -I./ispell
-I./wordparser -I. -I../../src/include   -c -o stopword.o stopword.c
gcc -O2 -fno-strict-aliasing -g -Wall -Wmissing-prototypes
-Wmissing-declarations -fpic -DPIC -I./snowball -I./ispell
-I./wordparser -I. -I../../src/include   -c -o common.o common.c
gcc -O2 -fno-strict-aliasing -g -Wall -Wmissing-prototypes
-Wmissing-declarations -fpic -DPIC -I./snowball -I./ispell
-I./wordparser -I. -I../../src/include   -c -o prs_dcfg.o prs_dcfg.c
gcc -O2 -fno-strict-aliasing -g -Wall -Wmissing-prototypes
-Wmissing-declarations -fpic -DPIC -I./snowball -I./ispell
-I./wordparser -I. -I../../src/include   -c -o dict_snowball.o
dict_snowball.c
gcc -O2 -fno-strict-aliasing -g -Wall -Wmissing-prototypes
-Wmissing-declarations -fpic -DPIC -I./snowball -I./ispell
-I./wordparser -I. -I../../src/include   -c -o dict_ispell.o dict_ispell.c
gcc -O2 -fno-strict-aliasing -g -Wall -Wmissing-prototypes
-Wmissing-declarations -fpic -DPIC -I./snowball -I./ispell
-I./wordparser -I. -I../../src/include   -c -o dict_syn.o dict_syn.c
gcc -O2 -fno-strict-aliasing -g -Wall -Wmissing-prototypes
-Wmissing-declarations -fpic -DPIC -I./snowball -I./ispell
-I./wordparser -I. -I../../src/include   -c -o wparser.o wparser.c
gcc -O2 -fno-strict-aliasing -g -Wall -Wmissing-prototypes
-Wmissing-declarations -fpic -DPIC -I./snowball -I./ispell
-I./wordparser -I. -I../../src/include   -c -o wparser_def.o wparser_def.c
gcc -O2 -fno-strict-aliasing -g -Wall -Wmissing-prototypes
-Wmissing-declarations -fpic -DPIC -I./snowball -I./ispell
-I./wordparser -I. -I../../src/include   -c -o ts_cfg.o ts_cfg.c
gcc -O2 -fno-strict-aliasing -g -Wall -Wmissing-prototypes
-Wmissing-declarations -fpic -DPIC -I./snowball -I./ispell
-I./wordparser -I. -I../../src/include   -c -o tsvector.o tsvector.c
gcc -O2 -fno-strict-aliasing -g -Wall -Wmissing-prototypes
-Wmissing-declarations -fpic -DPIC -I./snowball -I./ispell
-I./wordparser -I. -I../../src/include   -c -o rewrite.o rewrite.c
gcc -O2 -fno-strict-aliasing -g -Wall -Wmissing-prototypes
-Wmissing-declarations -fpic -DPIC -I./snowball -I./ispell
-I./wordparser -I. -I../../src/include   -c -o crc32.o crc32.c
gcc -O2 -fno-strict-aliasing -g -Wall -Wmissing-prototypes
-Wmissing-declarations -fpic -DPIC -I./snowball -I./ispell
-I./wordparser -I. -I../../src/include   -c -o query.o query.c
gcc -O2 -fno-strict-aliasing -g -Wall -Wmissing-prototypes
-Wmissing-declarations -fpic -DPIC -I./snowball -I./ispell
-I./wordparser -I. -I../../src/include   -c -o gistidx.o gistidx.c
gcc -O2 -fno-strict-aliasing -g -Wall -Wmissing-prototypes
-Wmissing-declarations -fpic -DPIC -I./snowball -I./ispell
-I./wordparser -I. -I../../src/include   -c -o tsvector_op.o tsvector_op.c
gcc -O2 -fno-strict-aliasing -g -Wall -Wmissing-prototypes
-Wmissing-declarations -fpic -DPIC -I./snowball -I./ispell
-I./wordparser -I. -I../../src/include   -c -o rank.o rank.c
gcc -O2 -fno-strict-aliasing -g -Wall -Wmissing-prototypes
-Wmissing-declarations -fpic -DPIC -I./snowball -I./ispell
-I./wordparser -I. -I../../src/include   -c -o ts_stat.o ts_stat.c
gmake -C snowball SUBSYS.o
gmake[2]: Entering directory
`/home/pgbuild/pgbuildfarm/HEAD/pgsql.8969/contrib/tsearch2/snowball'
gcc -O2 -fno-strict-aliasing -g -Wall -Wmissing-prototypes
-Wmissing-declarations -fpic -DPIC -I./.. -I. -I../../../src/include
-c -o english_stem.o english_stem.c
gcc -O2 -fno-strict-aliasing -g -Wall -Wmissing-prototypes
-Wmissing-declarations -fpic -DPIC -I./.. -I. -I../../../src/include
-c -o api.o api.c
gcc -O2 -fno-strict-aliasing -g -Wall -Wmissing-prototypes
-Wmissing-declarations -fpic -DPIC -I./.. -I. -I../../../src/include
-c -o russian_stem.o russian_stem.c
gcc -O2 -fno-strict-aliasing -g -Wall -Wmissing-prototypes
-Wmissing-declarations -fpic -DPIC -I./.. -I. -I../../../src/include
-c -o utilities.o utilities.c
/usr/bin/ld -r -o SUBSYS.o english_stem.o api.o russian_stem.o utilities.o
gmake[2]: Leaving directory
`/home/pgbuild/pgbuildfarm/HEAD/pgsql.8969/contrib/tsearch2/snowball'
gmake -C ispell SUBSYS.o
gmake[2]: Entering directory
`/home/pgbuild/pgbuildfarm/HEAD/pgsql.8969/contrib/tsearch2/ispell'
gcc -O2 -fno-strict-aliasing -g -Wall -Wmissing-prototypes
-Wmissing-declarations -fpic -DPIC -I./.. -I. -I../../../src/include
-I. -I../../../src/include   -c -o spell.o spell.c
gcc -O2 -fno-strict-aliasing -g -Wall -Wmissing-prototypes
-Wmissing-declarations -fpic -DPIC -I./.. -I. -I../../../src/include
-I. -I../../../src/include   -c -o regis.o regis.c
/usr/bin/ld -r -o SUBSYS.o spell.o regis.o
gmake[2]: Leaving directory
`/home/pgbuild/pgbuildfarm/HEAD/pgsql.8969/contrib/tsearch2/ispell'
gmake -C wordparser SUBSYS.o
gmake[2]: Entering directory
`/home/pgbuild/pgbuildfarm/HEAD/pgsql.8969/contrib/tsearch2/wordparser'
/usr/bin/flex  -8 -Ptsearch2_yy -o'parser.c' parser.l
gcc -O2 -fno-strict-aliasing -g -Wall -Wmissing-prototypes
-Wmissing-declarations -fpic -DPIC -I./.. -I. -I../../../src/include
-c -o parser.o parser.c
gcc -O2 -fno-strict-aliasing -g -Wall -Wmissing-prototypes
-Wmissing-declarations -fpic -DPIC -I./.. -I. -I../../../src/include
-c -o deflex.o deflex.c
/usr/bin/ld -r -o SUBSYS.o parser.o deflex.o
gmake[2]: Leaving directory
`/home/pgbuild/pgbuildfarm/HEAD/pgsql.8969/contrib/tsearch2/wordparser'
ar cr libtsearch2.a `lorder dict_ex.o dict.o snmap.o stopword.o common.o
prs_dcfg.o dict_snowball.o dict_ispell.o dict_syn.o wparser.o
wparser_def.o ts_cfg.o tsvector.o rewrite.o crc32.o query.o gistidx.o
tsvector_op.o rank.o ts_stat.o snowball/SUBSYS.o ispell/SUBSYS.o
wordparser/SUBSYS.o | tsort`
tsort: cycle in data
tsort: wparser.o
tsort: ts_cfg.o
tsort: cycle in data
tsort: dict.o
tsort: snmap.o
tsort: common.o
tsort: cycle in data
tsort: ts_cfg.o
tsort: common.o
ranlib libtsearch2.a
gcc -O2 -fno-strict-aliasing -g -Wall -Wmissing-prototypes
-Wmissing-declarations -fpic -DPIC -shared
-Wl,-x,-soname,libtsearch2.so.0 dict_ex.o dict.o snmap.o stopword.o
common.o prs_dcfg.o dict_snowball.o dict_ispell.o dict_syn.o wparser.o
wparser_def.o ts_cfg.o tsvector.o rewrite.o crc32.o query.o gistidx.o
tsvector_op.o rank.o ts_stat.o snowball/SUBSYS.o ispell/SUBSYS.o
wordparser/SUBSYS.o -L../../src/port -lm  -lc  -o libtsearch2.so.0.0
wordparser/SUBSYS.o(.text+0x1590): In function `yy_fatal_error':
/home/pgbuild/pgbuildfarm/HEAD/pgsql.8969/contrib/tsearch2/wordparser/parser.c:2055:
relocation truncated to fit: R_SPARC_GOT13 .LLC11
wordparser/SUBSYS.o(.text+0x164c): In function `tsearch2_end_parse':
/home/pgbuild/pgbuildfarm/HEAD/pgsql.8969/contrib/tsearch2/wordparser/parser.l:324:
relocation truncated to fit: R_SPARC_GOT13 buf
wordparser/SUBSYS.o(.text+0x1690): In function `tsearch2_start_parse_str':
/home/pgbuild/pgbuildfarm/HEAD/pgsql.8969/contrib/tsearch2/wordparser/parser.l:330:
relocation truncated to fit: R_SPARC_GOT13 buf
collect2: ld returned 1 exit status
gmake[1]: *** [libtsearch2.so.0.0] Error 1
gmake[1]: Leaving directory
`/home/pgbuild/pgbuildfarm/HEAD/pgsql.8969/contrib/tsearch2'
gmake: *** [all] Error 2
Index: src/makefiles/Makefile.openbsd
===================================================================
RCS file: /projects/cvsroot/pgsql-server/src/makefiles/Makefile.openbsd,v
retrieving revision 1.8
diff -u -r1.8 Makefile.openbsd
--- src/makefiles/Makefile.openbsd    29 Aug 2001 19:14:40 -0000    1.8
+++ src/makefiles/Makefile.openbsd    4 Oct 2004 21:13:50 -0000
@@ -7,11 +7,17 @@
 endif

 DLSUFFIX = .so
-CFLAGS_SL = -fpic -DPIC
+
+ifeq "$(findstring sparc,$(host_cpu))" "sparc"
+CFLAGS_SL = -fPIC
+else
+CFLAGS_SL = -fpic
+endif
+

 %.so: %.o
 ifdef ELF_SYSTEM
-    $(LD) -x -Bshareable -o $@ $<
+    $(CC) -shared -o $@ $<
 else
     $(LD) $(LDREL) $(LDOUT) $<.obj -x $<
     @echo building shared object $@

pgsql-hackers by date:

Previous
From: Reini Urban
Date:
Subject: cygwin test package available
Next
From: Reini Urban
Date:
Subject: Re: open item: tablespace handing in pg_dump/pg_restore