[Qgis-developer] Trouble compiling QGIS on Ubuntu Server

Andreas Neumann a.neumann at carto.net
Tue Jun 10 00:45:10 PDT 2014


Hi,

I am trying to compile QGIS server on a new Ubuntu 14.04 server.

I have trouble around spatialite and ‘gaiaVectorLayerPtr’.

The errors I get are as follows:

--------------------------------------

In file included from 
/root/dev/QGIS/src/providers/spatialite/qgsspatialiteprovider.cpp:31:0:
/root/dev/QGIS/src/providers/spatialite/qgsspatialiteprovider.h:409:43: 
error: ‘gaiaVectorLayerPtr’ has not been declared
      bool checkLayerTypeAbstractInterface( gaiaVectorLayerPtr lyr );
                                            ^
/root/dev/QGIS/src/providers/spatialite/qgsspatialiteprovider.h:410:47: 
error: ‘gaiaVectorLayerPtr’ has not been declared
      bool getGeometryDetailsAbstractInterface( gaiaVectorLayerPtr lyr );
                                                ^
/root/dev/QGIS/src/providers/spatialite/qgsspatialiteprovider.h:411:44: 
error: ‘gaiaVectorLayerPtr’ has not been declared
      bool getTableSummaryAbstractInterface( gaiaVectorLayerPtr lyr );
                                             ^
/root/dev/QGIS/src/providers/spatialite/qgsspatialiteprovider.h:412:39: 
error: ‘gaiaVectorLayerPtr’ has not been declared
      void loadFieldsAbstractInterface( gaiaVectorLayerPtr lyr );
                                        ^
/root/dev/QGIS/src/providers/spatialite/qgsspatialiteprovider.cpp: In 
constructor ‘QgsSpatiaLiteProvider::QgsSpatiaLiteProvider(const 
QString&)’:
/root/dev/QGIS/src/providers/spatialite/qgsspatialiteprovider.cpp:448:3: 
error: ‘gaiaVectorLayersListPtr’ was not declared in this scope
    gaiaVectorLayersListPtr list = NULL;
    ^
/root/dev/QGIS/src/providers/spatialite/qgsspatialiteprovider.cpp:448:27: 
error: expected ‘;’ before ‘list’
    gaiaVectorLayersListPtr list = NULL;
                            ^
/root/dev/QGIS/src/providers/spatialite/qgsspatialiteprovider.cpp:449:3: 
error: ‘gaiaVectorLayerPtr’ was not declared in this scope
    gaiaVectorLayerPtr lyr = NULL;
    ^
/root/dev/QGIS/src/providers/spatialite/qgsspatialiteprovider.cpp:449:22: 
error: expected ‘;’ before ‘lyr’
    gaiaVectorLayerPtr lyr = NULL;
                       ^
/root/dev/QGIS/src/providers/spatialite/qgsspatialiteprovider.cpp:460:5: 
error: ‘list’ was not declared in this scope
      list = gaiaGetVectorLayersList( handle->handle(),
      ^
/root/dev/QGIS/src/providers/spatialite/qgsspatialiteprovider.cpp:460:5: 
note: suggested alternative:
In file included from /usr/include/c++/4.8/list:63:0,
                  from /usr/include/qt4/QtCore/qlist.h:51,
                  from /usr/include/qt4/QtCore/qobject.h:50,
                  from /usr/include/qt4/QtCore/qiodevice.h:46,
                  from /usr/include/qt4/QtCore/qdatastream.h:46,
                  from /usr/include/qt4/QtCore/qmetatype.h:49,
                  from /usr/include/qt4/QtCore/QMetaType:1,
                  from 
/root/dev/QGIS/src/providers/spatialite/../../core/qgis.h:24,
                  from 
/root/dev/QGIS/src/providers/spatialite/qgsspatialiteprovider.cpp:17:
/usr/include/c++/4.8/bits/stl_list.h:438:11: note:   ‘std::list’
      class list : protected _List_base<_Tp, _Alloc>
            ^
/root/dev/QGIS/src/providers/spatialite/qgsspatialiteprovider.cpp:463:37: 
error: ‘GAIA_VECTORS_LIST_OPTIMISTIC’ was not declared in this scope
                                      GAIA_VECTORS_LIST_OPTIMISTIC );
                                      ^
/root/dev/QGIS/src/providers/spatialite/qgsspatialiteprovider.cpp:463:66: 
error: ‘gaiaGetVectorLayersList’ was not declared in this scope
                                      GAIA_VECTORS_LIST_OPTIMISTIC );
                                                                   ^
/root/dev/QGIS/src/providers/spatialite/qgsspatialiteprovider.cpp:465:7: 
error: ‘lyr’ was not declared in this scope
        lyr = list->First;
        ^
/root/dev/QGIS/src/providers/spatialite/qgsspatialiteprovider.cpp:466:10: 
error: ‘lyr’ was not declared in this scope
      if ( lyr == NULL )
           ^
/root/dev/QGIS/src/providers/spatialite/qgsspatialiteprovider.cpp:508:8: 
error: ‘lyr’ was not declared in this scope
    if ( lyr != NULL )
         ^
/root/dev/QGIS/src/providers/spatialite/qgsspatialiteprovider.cpp:518:33: 
error: ‘list’ was not declared in this scope
        gaiaFreeVectorLayersList( list );
                                  ^
/root/dev/QGIS/src/providers/spatialite/qgsspatialiteprovider.cpp:518:33: 
note: suggested alternative:
In file included from /usr/include/c++/4.8/list:63:0,
                  from /usr/include/qt4/QtCore/qlist.h:51,
                  from /usr/include/qt4/QtCore/qobject.h:50,
                  from /usr/include/qt4/QtCore/qiodevice.h:46,
                  from /usr/include/qt4/QtCore/qdatastream.h:46,
                  from /usr/include/qt4/QtCore/qmetatype.h:49,
                  from /usr/include/qt4/QtCore/QMetaType:1,
                  from 
/root/dev/QGIS/src/providers/spatialite/../../core/qgis.h:24,
                  from 
/root/dev/QGIS/src/providers/spatialite/qgsspatialiteprovider.cpp:17:
/usr/include/c++/4.8/bits/stl_list.h:438:11: note:   ‘std::list’
      class list : protected _List_base<_Tp, _Alloc>
            ^
/root/dev/QGIS/src/providers/spatialite/qgsspatialiteprovider.cpp:518:38: 
error: ‘gaiaFreeVectorLayersList’ was not declared in this scope
        gaiaFreeVectorLayersList( list );
                                       ^
/root/dev/QGIS/src/providers/spatialite/qgsspatialiteprovider.cpp:527:33: 
error: ‘list’ was not declared in this scope
        gaiaFreeVectorLayersList( list );
                                  ^
/root/dev/QGIS/src/providers/spatialite/qgsspatialiteprovider.cpp:527:33: 
note: suggested alternative:
In file included from /usr/include/c++/4.8/list:63:0,
                  from /usr/include/qt4/QtCore/qlist.h:51,
                  from /usr/include/qt4/QtCore/qobject.h:50,
                  from /usr/include/qt4/QtCore/qiodevice.h:46,
                  from /usr/include/qt4/QtCore/qdatastream.h:46,
                  from /usr/include/qt4/QtCore/qmetatype.h:49,
                  from /usr/include/qt4/QtCore/QMetaType:1,
                  from 
/root/dev/QGIS/src/providers/spatialite/../../core/qgis.h:24,
                  from 
/root/dev/QGIS/src/providers/spatialite/qgsspatialiteprovider.cpp:17:
/usr/include/c++/4.8/bits/stl_list.h:438:11: note:   ‘std::list’
      class list : protected _List_base<_Tp, _Alloc>
            ^
/root/dev/QGIS/src/providers/spatialite/qgsspatialiteprovider.cpp:527:38: 
error: ‘gaiaFreeVectorLayersList’ was not declared in this scope
        gaiaFreeVectorLayersList( list );
                                       ^
/root/dev/QGIS/src/providers/spatialite/qgsspatialiteprovider.cpp:532:31: 
error: ‘list’ was not declared in this scope
      gaiaFreeVectorLayersList( list );
                                ^
/root/dev/QGIS/src/providers/spatialite/qgsspatialiteprovider.cpp:532:31: 
note: suggested alternative:
In file included from /usr/include/c++/4.8/list:63:0,
                  from /usr/include/qt4/QtCore/qlist.h:51,
                  from /usr/include/qt4/QtCore/qobject.h:50,
                  from /usr/include/qt4/QtCore/qiodevice.h:46,
                  from /usr/include/qt4/QtCore/qdatastream.h:46,
                  from /usr/include/qt4/QtCore/qmetatype.h:49,
                  from /usr/include/qt4/QtCore/QMetaType:1,
                  from 
/root/dev/QGIS/src/providers/spatialite/../../core/qgis.h:24,
                  from 
/root/dev/QGIS/src/providers/spatialite/qgsspatialiteprovider.cpp:17:
/usr/include/c++/4.8/bits/stl_list.h:438:11: note:   ‘std::list’
      class list : protected _List_base<_Tp, _Alloc>
            ^
/root/dev/QGIS/src/providers/spatialite/qgsspatialiteprovider.cpp:532:36: 
error: ‘gaiaFreeVectorLayersList’ was not declared in this scope
      gaiaFreeVectorLayersList( list );
                                     ^
/root/dev/QGIS/src/providers/spatialite/qgsspatialiteprovider.cpp: At 
global scope:
/root/dev/QGIS/src/providers/spatialite/qgsspatialiteprovider.cpp:592:58: 
error: variable or field ‘loadFieldsAbstractInterface’ declared void
  void QgsSpatiaLiteProvider::loadFieldsAbstractInterface( 
gaiaVectorLayerPtr lyr )
                                                           ^
/root/dev/QGIS/src/providers/spatialite/qgsspatialiteprovider.cpp:592:58: 
error: ‘gaiaVectorLayerPtr’ was not declared in this scope
make[2]: *** 
[src/providers/spatialite/CMakeFiles/spatialiteprovider.dir/qgsspatialiteprovider.cpp.o] 
Error 1
make[1]: *** 
[src/providers/spatialite/CMakeFiles/spatialiteprovider.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....

--------------------------------------------------

I set the option to use the internal spatialite in the cmake options. Do 
you have any idea how I may be able to fix this compile problem?

Thanks,
Andreas


More information about the Qgis-developer mailing list