[OSM-talk] New to OSM, trying to export UK road network as shapefiles

Stephen Woodbridge woodbri at swoodbridge.com
Sat Sep 15 05:11:16 BST 2007


Hi all,

I just got a current copy of svn and tried to build osm2shp, I found a 
thread in the talk archives that helped a little. Here is what I did:

cd svn.openstreetmap.org/lib/libosm
make
sudo make install
cd ../ccoord
make
sudo cp libccoord.a /usr/local/lib
sudo cp *.h /usr/local/include

cd svn.openstreetmap.org/applications/utils/export/osm2shp
# edit Makefile  %s/libs/lib/g
make

g++ -o osm2shp osm2shp.o  -L/usr/local/lib ../../../lib/libosm/libosm.a 
  -lshp -lexpat
../../../lib/libosm/libosm.a(Components.o)(.text+0x1210): In function 
`OSM::Components::toOSGB()':
/home/woodbri/work/openstreetmap/svn.openstreetmap.org/applications/lib/libosm/Components.cpp:388: 
undefined reference to `LatLng::toOSRef()'
../../../lib/libosm/libosm.a(Components.o)(.gnu.linkonce.t._ZN6LatLng8toOSGB36Ev+0x55): 
In function `LatLng::toOSGB36()':
/home/woodbri/work/openstreetmap/svn.openstreetmap.org/applications/lib/libosm/Components.h:65: 
undefined reference to `toRadians(double)'
../../../lib/libosm/libosm.a(Components.o)(.gnu.linkonce.t._ZN6LatLng8toOSGB36Ev+0x68): 
In function `LatLng::toOSGB36()':
/usr/include/c++/3.3/bits/stl_tree.h:851: undefined reference to 
`toRadians(double)'
../../../lib/libosm/libosm.a(Components.o)(.gnu.linkonce.t._ZN6LatLng8toOSGB36Ev+0x77): 
In function `LatLng::toOSGB36()':
/home/woodbri/work/openstreetmap/svn.openstreetmap.org/applications/lib/libosm/Components.cpp:57: 
undefined reference to `sinSquared(double)'
../../../lib/libosm/libosm.a(Components.o)(.gnu.linkonce.t._ZN6LatLng8toOSGB36Ev+0x1ba): 
In function `LatLng::toOSGB36()':
/home/woodbri/work/openstreetmap/svn.openstreetmap.org/applications/lib/libosm/FeatureClassification.h:62: 
undefined reference to `toRadians(double)'
../../../lib/libosm/libosm.a(Components.o)(.gnu.linkonce.t._ZN6LatLng8toOSGB36Ev+0x1cf): 
In function `LatLng::toOSGB36()':
../ccoord/LatLng.h:137: undefined reference to `toRadians(double)'
../../../lib/libosm/libosm.a(Components.o)(.gnu.linkonce.t._ZN6LatLng8toOSGB36Ev+0x1e4): 
In function `LatLng::toOSGB36()':
/usr/include/c++/3.3/bits/vector.tcc:254: undefined reference to 
`toRadians(double)'
../../../lib/libosm/libosm.a(Components.o)(.gnu.linkonce.t._ZN6LatLng8toOSGB36Ev+0x362): 
In function `LatLng::toOSGB36()':
/home/woodbri/work/openstreetmap/svn.openstreetmap.org/applications/lib/libosm/Components.cpp:117: 
undefined reference to `toDegrees(double)'
../../../lib/libosm/libosm.a(Components.o)(.gnu.linkonce.t._ZN6LatLng8toOSGB36Ev+0x3f6):/home/woodbri/work/openstreetmap/svn.openstreetmap.org/applications/lib/libosm/Components.cpp:128: 
undefined reference to `sinSquared(double)'
../../../lib/libosm/libosm.a(Components.o)(.gnu.linkonce.t._ZN6LatLng8toOSGB36Ev+0x491):/home/woodbri/work/openstreetmap/svn.openstreetmap.org/applications/lib/libosm/Components.cpp:142: 
undefined reference to `toDegrees(double)'
collect2: ld returned 1 exit status
make: *** [osm2shp] Error 1

Any ideas on fixing this?

Thanks,
   -Steve W




More information about the talk mailing list