Learn how easy it is to sync an existing GitHub or Google Code repo to a SourceForge project! See Demo

Close

#55 gpsdrive fails to compile with boost-1.46

gpsdrive-2.11
closed-fixed
Hamish B
Mapnik (7)
8
2012-06-08
2011-04-24
Anonymous
No

[ 51%] Building CXX object src/CMakeFiles/gpsdrive.dir/mapnik.o
/home/fiddler/gpsdrive-2.11/src/mapnik.cpp: In Funktion »void mapnik::init_mapnik(char*)«:
/home/fiddler/gpsdrive-2.11/src/mapnik.cpp:212:89: Fehler: »class boost::filesystem3::directory_entry« hat kein Element namens »leaf«
/home/fiddler/gpsdrive-2.11/src/mapnik.cpp:213:58: Fehler: »class boost::filesystem3::directory_entry« hat kein Element namens »string«
/home/fiddler/gpsdrive-2.11/src/mapnik.cpp:216:35: Fehler: »class boost::filesystem3::directory_entry« hat kein Element namens »leaf«
make[2]: *** [src/CMakeFiles/gpsdrive.dir/mapnik.o] Fehler 1
make[1]: *** [src/CMakeFiles/gpsdrive.dir/all] Fehler 2
make: *** [all] Fehler 2

The svn version (rev. 2597) gives me this instead:
[ 51%] Building CXX object src/CMakeFiles/gpsdrive.dir/mapnik.o
/home/fiddler/gpsdrive-trunk/src/mapnik.cpp: In Funktion »void mapnik::init_mapnik(char*)«:
/home/fiddler/gpsdrive-trunk/src/mapnik.cpp:215:89: Fehler: »class boost::filesystem3::directory_entry« hat kein Element namens »filename«
/home/fiddler/gpsdrive-trunk/src/mapnik.cpp:217:58: Fehler: »class boost::filesystem3::directory_entry« hat kein Element namens »string«
/home/fiddler/gpsdrive-trunk/src/mapnik.cpp:223:35: Fehler: »class boost::filesystem3::directory_entry« hat kein Element namens »filename«
make[2]: *** [src/CMakeFiles/gpsdrive.dir/mapnik.o] Fehler 1
make[1]: *** [src/CMakeFiles/gpsdrive.dir/all] Fehler 2
make: *** [all] Fehler 2

It seems between boost::filesystem v2 and v3 some things have changed - I understand "filename" was already marked "legacy" in v2, and has now disappeared in v3.

Discussion

  • Hamish B
    Hamish B
    2012-05-19

    gpsdrive-2.11svn/src/mapnik.cpp: In function 'void mapnik::init_mapnik(char*)':
    gpsdrive-2.11svn/src/mapnik.cpp:212:89: error: 'class boost::filesystem3::directory_entry' has no member named 'leaf'
    gpsdrive-2.11svn/src/mapnik.cpp:213:58: error: 'class boost::filesystem3::directory_entry' has no member named 'string'

    more updates are needed for the new Mapnik 2 API as well.

    Hamish

     
  • Hamish B
    Hamish B
    2012-05-19

    • labels: --> Mapnik
    • priority: 5 --> 8
     
  • Hamish B
    Hamish B
    2012-05-19

    ok, I fixed the filename() -> path().filename() problem,

    http://www.boost.org/doc/libs/1_46_1/libs/filesystem/v2/doc/index.htm#Deprecated-names

    but now I get a linking error from libboost-system1.456.0:

    Linking CXX executable gpsdrive
    /usr/bin/ld: CMakeFiles/gpsdrive.dir/mapnik.o: undefined reference to symbol 'boost::system::system_category()'
    /usr/bin/ld: note: 'boost::system::system_category()' is defined in DSO /usr/lib/libboost_system.so.1.46.1 so try adding it to the linker command line
    /usr/lib/libboost_system.so.1.46.1: could not read symbols: Invalid operation
    collect2: ld returned 1 exit status
    make[3]: *** [src/gpsdrive] Error 1

    ??,
    Hamish

     
  • Hamish B
    Hamish B
    2012-06-08

    link error fixed by forcing it to link against boost-system and boost-thread libs.

    Hamish

     
  • Hamish B
    Hamish B
    2012-06-08

    • assigned_to: nobody --> hbowman
    • status: open --> closed-fixed