[postgis-users] s390x postgis build - SOLVED!
Derek Jones
scunacc at yahoo.com
Fri Dec 14 07:52:13 PST 2012
Hi all,
Well, I solved the problem! (Been 2 days on this already... :-/ - rebuilding the gcc was 5 hours alone)
Looks like nobody else has recently built postgres/gis on the s390x platform - or - at least - has not made public what they also found perhaps?
There needs to be a case added to Makefile.linux for postgresql *that's postgres, not postgis* for s390x in addtion to SPARC that sets CFLAGS_SL to -fPIC because otherwise it sets to -fpic and then that gets added in silently to the shared lib builds.
You can't mix and match -fpic and -fPIC.
Soooo, now it's built!
That was a *long* haul to find. Can whoever maintains postgres make that change please for future releases?
Kind regards
Derek Jones.
On Dec 14, 2012, at 9:26 AM, Derek Jones wrote:
> Hi all,
>
> I am trying to build postgis 2.0.2 on SUSE EL 10 SP 2 on an s390x
>
> I am getting the following:
>
> postgis_module.o: In function `_PG_fini':
> /stats/build2/postgis-2.0.2/postgis/postgis_module.c:80:(.text+0x34): relocation truncated to fit: R_390_GOT12 against undefined symbol `elog_finish'
> lwgeom_accum.o: In function `pgis_geometry_accum_transfn':
> /stats/build2/postgis-2.0.2/postgis/lwgeom_accum.c:130:(.text+0x1b8): relocation truncated to fit: R_390_GOT12 against undefined symbol `CurrentMemoryContext'
> lwgeom_accum.o: In function `pgis_geometry_accum_finalfn':
> /stats/build2/postgis-2.0.2/postgis/lwgeom_accum.c:200:(.text+0x2ce): relocation truncated to fit: R_390_GOT12 against undefined symbol `CurrentMemoryContext'
> /stats/build2/postgis-2.0.2/postgis/lwgeom_accum.c:200:(.text+0x2d4): relocation truncated to fit: R_390_GOT12 against symbol `pgis_accum_finalfn' defined in .text section in lwgeom_accum.o
> lwgeom_accum.o: In function `pgis_geometry_polygonize_finalfn':
> /stats/build2/postgis-2.0.2/postgis/lwgeom_accum.c:273:(.text+0x334): relocation truncated to fit: R_390_GOT12 against undefined symbol `CurrentMemoryContext'
> /stats/build2/postgis-2.0.2/postgis/lwgeom_accum.c:274:(.text+0x350): relocation truncated to fit: R_390_GOT12 against undefined symbol `DirectFunctionCall1Coll'
> /stats/build2/postgis-2.0.2/postgis/lwgeom_accum.c:274:(.text+0x35e): relocation truncated to fit: R_390_GOT12 against symbol `polygonize_garray' defined in .text section in lwgeom_geos.o
> lwgeom_accum.o: In function `pgis_geometry_makeline_finalfn':
> /stats/build2/postgis-2.0.2/postgis/lwgeom_accum.c:296:(.text+0x400): relocation truncated to fit: R_390_GOT12 against undefined symbol `CurrentMemoryContext'
> /stats/build2/postgis-2.0.2/postgis/lwgeom_accum.c:297:(.text+0x420): relocation truncated to fit: R_390_GOT12 against symbol `LWGEOM_makeline_garray' defined in .text section in lwgeom_functions_basic.o
> lwgeom_accum.o: In function `pgis_geometry_collect_finalfn':
> /stats/build2/postgis-2.0.2/postgis/lwgeom_accum.c:248:(.text+0x478): relocation truncated to fit: R_390_GOT12 against undefined symbol `CurrentMemoryContext'
> /stats/build2/postgis-2.0.2/postgis/lwgeom_accum.c:249:(.text+0x498): additional relocation overflows omitted from the output
> collect2: error: ld returned 1 exit status
> make[1]: *** [postgis-2.0.so] Error 1
> make[1]: Leaving directory `/stats/build2/postgis-2.0.2/postgis'
>
>
> I have rebuilt the whole gcc compiler chain from scratch to the latest 4.7.2 gcc & friends.
>
> I have built the latest binutils (ld etc.)
>
> I have built the latest postgres.
>
> I have built the latest, proj, gdal, geos.
>
> I have the following CFLAGS
>
> -finline-limit=1000 -fPIC -fPIE -g -O2
>
>
> But I can't get postgis to link cleanly - as above. Been trying this every which way for 2 days now.
>
> Has anyone else hit this or know how to resolve it?
>
> Kind regards
>
> Derek Jones.
> _______________________________________________
> postgis-users mailing list
> postgis-users at lists.osgeo.org
> http://lists.osgeo.org/cgi-bin/mailman/listinfo/postgis-users
More information about the postgis-users
mailing list