[Qgis-developer] Trouble compiling QGIS on Ubuntu Server

Andrea Peri aperi2007 at gmail.com
Tue Jun 10 00:53:08 PDT 2014


I work on Debina. stable.

I download the spatialite from home site and compile from source.

is surely easy and no problem at all.

I download and use the SL 4.2.0 RC1, but as reported in another thread of
this ML.

There a little bug that ask to resolve manually.
Add a define to spatialite source.

If you use the SL 4.1.1 all go without no errors.

And GQIS-server work very well.

regards,

Andrea.



2014-06-10 9:45 GMT+02:00 Andreas Neumann <a.neumann at carto.net>:

> 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
> _______________________________________________
> Qgis-developer mailing list
> Qgis-developer at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/qgis-developer




-- 
-----------------
Andrea Peri
. . . . . . . . .
qwerty àèìòù
-----------------
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/qgis-developer/attachments/20140610/f610c963/attachment-0001.html>


More information about the Qgis-developer mailing list