[Gdal-dev] static libraries revamped (was: new build strategy for org/orgsf_frmts/)

Norman Vine nhv at cape.com
Tue Jul 22 15:40:20 EDT 2003


Alessandro Amici writes:
>
> HEADS UP, this is disruption time!
>
> i just committed the last remaining bit of the static library unification.
> now all object files that were fonund in gdal.a, ogr.a, orgsf_frmts.a and
> cpl.a are linked into the new libgdal.a. gdal.a disappeared and the other old
> static libraries will follow soon.

FYI

$ uname -a
CYGWIN_NT-5.0 sfdev3 1.3.22(0.78/3/2) 2003-03-18 09:20 i686 unknown unknown Cygwin

$ gcc --version
gcc (GCC) 3.2 20020927 (prerelease)

$ ld --version
GNU ld version 2.13.90 20030308


ld -r -o ogr.o ogrgeometryfactory.o ogrpoint.o ogrcurve.o ogrlinestring.o ogrlinearring.o ogrpolygon.o ogrutils.o ogrgeometry.o
ogrgeometrycollection.o ogrmultipolygon.o ogrsurface.o ogrmultipoint.o ogrmultilinestring.o ogr_api.o ogrfeature.o ogrfeaturedefn.o
ogrfeaturestyle.o ogrfielddefn.o ogrspatialreference.o ogr_srsnode.o ogr_srs_proj4.o ogr_fromepsg.o ogrct.o ogr_opt.o ogr_srs_esri.o
ogrfeaturequery.o swq.o ogr_srs_validate.o ogr_srs_xml.o ograssemblepolygon.o ogr2gmlgeometry.o gml2ogrgeometry.o
ogrsf_frmts/o/avc_bin.o ogrsf_frmts/o/avc_binwr.o ogrsf_frmts/o/avc_e00gen.o ogrsf_frmts/o/avc_e00parse.o
ogrsf_frmts/o/avc_e00read.o ogrsf_frmts/o/avc_e00write.o ogrsf_frmts/o/avc_mbyte.o ogrsf_frmts/o/avc_misc.o
ogrsf_frmts/o/avc_rawbin.o ogrsf_frmts/o/dbfopen.o ogrsf_frmts/o/ddfrecordindex.o ogrsf_frmts/o/dgnfloat.o ogrsf_frmts/o/dgnhelp.o
ogrsf_frmts/o/dgnopen.o ogrsf_frmts/o/dgnread.o ogrsf_frmts/o/dgnstroke.o ogrsf_frmts/o/dgnwrite.o ogrsf_frmts/o/gmlfeature.o
ogrsf_frmts/o/gmlfeatureclass.o ogrsf_frmts/o/gmlpropertydefn.o ogrsf_frmts/o/gmlreader.o ogrsf_frmts/o/ll_recio.o
ogrsf_frmts/o/mitab_bounds.o ogrsf_frmts/o/mitab_coordsys.o ogrsf_frmts/o/mitab_datfile.o ogrsf_frmts/o/mitab_feature.o
ogrsf_frmts/o/mitab_feature_mif.o ogrsf_frmts/o/mitab_geometry.o ogrsf_frmts/o/mitab_idfile.o ogrsf_frmts/o/mitab_imapinfofile.o
ogrsf_frmts/o/mitab_indfile.o ogrsf_frmts/o/mitab_mapcoordblock.o ogrsf_frmts/o/mitab_mapfile.o ogrsf_frmts/o/mitab_mapheaderblock.o
ogrsf_frmts/o/mitab_mapindexblock.o ogrsf_frmts/o/mitab_mapobjectblock.o ogrsf_frmts/o/mitab_maptoolblock.o
ogrsf_frmts/o/mitab_middatafile.o ogrsf_frmts/o/mitab_miffile.o ogrsf_frmts/o/mitab_ogr_datasource.o
ogrsf_frmts/o/mitab_ogr_driver.o ogrsf_frmts/o/mitab_rawbinblock.o ogrsf_frmts/o/mitab_spatialref.o ogrsf_frmts/o/mitab_tabfile.o
ogrsf_frmts/o/mitab_tabseamless.o ogrsf_frmts/o/mitab_tabview.o ogrsf_frmts/o/mitab_tooldef.o ogrsf_frmts/o/mitab_utils.o
ogrsf_frmts/o/ntf_codelist.o ogrsf_frmts/o/ntf_estlayers.o ogrsf_frmts/o/ntf_generic.o ogrsf_frmts/o/ntf_raster.o
ogrsf_frmts/o/ntffilereader.o ogrsf_frmts/o/ntfrecord.o ogrsf_frmts/o/ntfstroke.o ogrsf_frmts/o/ogr_attrind.o
ogrsf_frmts/o/ogr_gensql.o ogrsf_frmts/o/ogr_miattrind.o ogrsf_frmts/o/ogravcbindatasource.o ogrsf_frmts/o/ogravcbindriver.o
ogrsf_frmts/o/ogravcbinlayer.o ogrsf_frmts/o/ogravcdatasource.o ogrsf_frmts/o/ogravclayer.o ogrsf_frmts/o/ogrdatasource.o
ogrsf_frmts/o/ogrdgndatasource.o ogrsf_frmts/o/ogrdgndriver.o ogrsf_frmts/o/ogrdgnlayer.o ogrsf_frmts/o/ogrgmldatasource.o
ogrsf_frmts/o/ogrgmldriver.o ogrsf_frmts/o/ogrgmllayer.o ogrsf_frmts/o/ogrlayer.o ogrsf_frmts/o/ogrmemdatasource.o
ogrsf_frmts/o/ogrmemdriver.o ogrsf_frmts/o/ogrmemlayer.o ogrsf_frmts/o/ogrntfdatasource.o ogrsf_frmts/o/ogrntfdriver.o
ogrsf_frmts/o/ogrntffeatureclasslayer.o ogrsf_frmts/o/ogrntflayer.o ogrsf_frmts/o/ogrpgdatasource.o ogrsf_frmts/o/ogrpgdriver.o
ogrsf_frmts/o/ogrpglayer.o ogrsf_frmts/o/ogrpgresultlayer.o ogrsf_frmts/o/ogrpgtablelayer.o ogrsf_frmts/o/ogrrecdatasource.o
ogrsf_frmts/o/ogrrecdriver.o ogrsf_frmts/o/ogrreclayer.o ogrsf_frmts/o/ogrregisterall.o ogrsf_frmts/o/ogrs57datasource.o
ogrsf_frmts/o/ogrs57driver.o ogrsf_frmts/o/ogrs57layer.o ogrsf_frmts/o/ogrsdtsdatasource.o ogrsf_frmts/o/ogrsdtsdriver.o
ogrsf_frmts/o/ogrsdtslayer.o ogrsf_frmts/o/ogrsfdriver.o ogrsf_frmts/o/ogrsfdriverregistrar.o ogrsf_frmts/o/ogrshapedatasource.o
ogrsf_frmts/o/ogrshapedriver.o ogrsf_frmts/o/ogrshapelayer.o ogrsf_frmts/o/ogrtigerdatasource.o ogrsf_frmts/o/ogrtigerdriver.o
ogrsf_frmts/o/ogrtigerlayer.o ogrsf_frmts/o/s57classregistrar.o ogrsf_frmts/o/s57filecollector.o ogrsf_frmts/o/s57reader.o
ogrsf_frmts/o/shape2ogr.o ogrsf_frmts/o/shpopen.o ogrsf_frmts/o/shptree.o ogrsf_frmts/o/tigeraltname.o
ogrsf_frmts/o/tigerarealandmarks.o ogrsf_frmts/o/tigercompletechain.o ogrsf_frmts/o/tigerentitynames.o
ogrsf_frmts/o/tigerfeatureids.o ogrsf_frmts/o/tigerfilebase.o ogrsf_frmts/o/tigeridhistory.o ogrsf_frmts/o/tigerkeyfeatures.o
ogrsf_frmts/o/tigerlandmarks.o ogrsf_frmts/o/tigeroverunder.o ogrsf_frmts/o/tigerpip.o ogrsf_frmts/o/tigerpoint.o
ogrsf_frmts/o/tigerpolychainlink.o ogrsf_frmts/o/tigerpolygon.o ogrsf_frmts/o/tigerpolygoncorrections.o
ogrsf_frmts/o/tigerpolygoneconomic.o ogrsf_frmts/o/tigertlidrange.o ogrsf_frmts/o/tigerzerocellid.o ogrsf_frmts/o/tigerzipcodes.o
ogrsf_frmts/o/tigerzipplus4.o
ogrlinestring.o(.eh_frame+0xd2c):ogrlinestring.cpp: reloc refers to symbol `.text$_ZN8OGRCurveD0Ev' which is not being output
ogrlinestring.o(.eh_frame+0xd58):ogrlinestring.cpp: reloc refers to symbol `.text$_ZN8OGRCurveD1Ev' which is not being output
ogrmultipolygon.o(.eh_frame+0x1e7c):ogrmultipolygon.cpp: reloc refers to symbol `.text$_ZN15OGRMultiPolygonD1Ev' which is not being
output
ogrmultipolygon.o(.eh_frame+0x1ea4):ogrmultipolygon.cpp: reloc refers to symbol `.text$_ZN15OGRMultiPolygonD0Ev' which is not being
output
ogrmultipoint.o(.eh_frame+0x2038):ogrmultipoint.cpp: reloc refers to symbol `.text$_ZN13OGRMultiPointD1Ev' which is not being output
ogrmultipoint.o(.eh_frame+0x2060):ogrmultipoint.cpp: reloc refers to symbol `.text$_ZN13OGRMultiPointD0Ev' which is not being output
ogrmultilinestring.o(.eh_frame+0x21d4):ogrmultilinestring.cpp: reloc refers to symbol `.text$_ZN18OGRMultiLineStringD1Ev' which is
not being output
ogrmultilinestring.o(.eh_frame+0x21fc):ogrmultilinestring.cpp: reloc refers to symbol `.text$_ZN18OGRMultiLineStringD0Ev' which is
not being output
gml2ogrgeometry.o(.eh_frame+0x733c):gml2ogrgeometry.cpp: reloc refers to symbol `.text$_ZN15OGRMultiPolygonD0Ev' which is not being
output
gml2ogrgeometry.o(.eh_frame+0x7368):gml2ogrgeometry.cpp: reloc refers to symbol `.text$_ZN15OGRMultiPolygonD1Ev' which is not being
output
ogrsf_frmts/o/mitab_feature.o(.eh_frame+0xa50c):mitab_feature.cpp: reloc refers to symbol `.text$_ZN15OGRMultiPolygonD1Ev' which is
not being output
ogrsf_frmts/o/mitab_feature.o(.eh_frame+0xa534):mitab_feature.cpp: reloc refers to symbol `.text$_ZN15OGRMultiPolygonD0Ev' which is
not being output
ogrsf_frmts/o/mitab_feature.o(.eh_frame+0xa560):mitab_feature.cpp: reloc refers to symbol `.text$_ZN13OGRMultiPointD1Ev' which is
not being output
ogrsf_frmts/o/mitab_feature.o(.eh_frame+0xa588):mitab_feature.cpp: reloc refers to symbol `.text$_ZN13OGRMultiPointD0Ev' which is
not being output
ogrsf_frmts/o/mitab_feature.o(.eh_frame+0xa5b4):mitab_feature.cpp: reloc refers to symbol `.text$_ZN18OGRMultiLineStringD1Ev' which
is not being output
ogrsf_frmts/o/mitab_feature.o(.eh_frame+0xa5dc):mitab_feature.cpp: reloc refers to symbol `.text$_ZN18OGRMultiLineStringD0Ev' which
is not being output
ogrsf_frmts/o/mitab_feature_mif.o(.eh_frame+0xaafc):mitab_feature_mif.cpp: reloc refers to symbol `.text$_ZN15OGRMultiPolygonD1Ev'
which is not being output
ogrsf_frmts/o/mitab_feature_mif.o(.eh_frame+0xab24):mitab_feature_mif.cpp: reloc refers to symbol `.text$_ZN15OGRMultiPolygonD0Ev'
which is not being output
ogrsf_frmts/o/mitab_feature_mif.o(.eh_frame+0xab50):mitab_feature_mif.cpp: reloc refers to symbol `.text$_ZN13OGRMultiPointD1Ev'
which is not being output
ogrsf_frmts/o/mitab_feature_mif.o(.eh_frame+0xab78):mitab_feature_mif.cpp: reloc refers to symbol `.text$_ZN13OGRMultiPointD0Ev'
which is not being output
ogrsf_frmts/o/mitab_feature_mif.o(.eh_frame+0xaba4):mitab_feature_mif.cpp: reloc refers to symbol
`.text$_ZN18OGRMultiLineStringD1Ev' which is not being output
ogrsf_frmts/o/mitab_feature_mif.o(.eh_frame+0xabcc):mitab_feature_mif.cpp: reloc refers to symbol
`.text$_ZN18OGRMultiLineStringD0Ev' which is not being output
ogrsf_frmts/o/ogrdgnlayer.o(.eh_frame+0x12738):ogrdgnlayer.cpp: reloc refers to symbol `.text$_ZN18OGRMultiLineStringD0Ev' which is
not being output
ogrsf_frmts/o/ogrdgnlayer.o(.eh_frame+0x12764):ogrdgnlayer.cpp: reloc refers to symbol `.text$_ZN18OGRMultiLineStringD1Ev' which is
not being output
ogrsf_frmts/o/s57reader.o(.eh_frame+0x1795c):s57reader.cpp: reloc refers to symbol `.text$_ZN13OGRMultiPointD1Ev' which is not being
output
ogrsf_frmts/o/s57reader.o(.eh_frame+0x17984):s57reader.cpp: reloc refers to symbol `.text$_ZN13OGRMultiPointD0Ev' which is not being
output
ogrsf_frmts/o/shape2ogr.o(.eh_frame+0x17af0):shape2ogr.cpp: reloc refers to symbol `.text$_ZN13OGRMultiPointD1Ev' which is not being
output
ogrsf_frmts/o/shape2ogr.o(.eh_frame+0x17b18):shape2ogr.cpp: reloc refers to symbol `.text$_ZN13OGRMultiPointD0Ev' which is not being
output
ogrsf_frmts/o/shape2ogr.o(.eh_frame+0x17b44):shape2ogr.cpp: reloc refers to symbol `.text$_ZN18OGRMultiLineStringD0Ev' which is not
being output
ogrsf_frmts/o/shape2ogr.o(.eh_frame+0x17b70):shape2ogr.cpp: reloc refers to symbol `.text$_ZN18OGRMultiLineStringD1Ev' which is not
being output
ogrsf_frmts/o/tigeroverunder.o(.eh_frame+0x18f9c):tigeroverunder.cpp: reloc refers to symbol `.text$_ZN10TigerPointD0Ev' which is
not being output
ogrsf_frmts/o/tigeroverunder.o(.eh_frame+0x18fc8):tigeroverunder.cpp: reloc refers to symbol `.text$_ZN10TigerPointD1Ev' which is
not being output
ogrsf_frmts/o/tigerpip.o(.eh_frame+0x19198):tigerpip.cpp: reloc refers to symbol `.text$_ZN10TigerPointD0Ev' which is not being
output
ogrsf_frmts/o/tigerpip.o(.eh_frame+0x191c4):tigerpip.cpp: reloc refers to symbol `.text$_ZN10TigerPointD1Ev' which is not being
output
ogrsf_frmts/o/tigerpoint.o(.eh_frame+0x1932c):tigerpoint.cpp: reloc refers to symbol `.text$_ZN10TigerPointD1Ev' which is not being
output
ogrsf_frmts/o/tigerpoint.o(.eh_frame+0x19354):tigerpoint.cpp: reloc refers to symbol `.text$_ZN10TigerPointD0Ev' which is not being
output

FWIW I really don't understand why you didin't just use the
`--whole-archive' option to LD as I pointed out in my last email

What are we gaining with this ?

Norman




More information about the Gdal-dev mailing list