[Qgis-developer] Trouble compiling QGIS on Ubuntu Server

Andreas Neumann a.neumann at carto.net
Tue Jun 10 01:59:32 PDT 2014


Hi,

With the self-compiled libspatialite (4.1.1) I am now able to compile 
QGIS server. It does not work with the internal spatialite library 
provided by QGIS and it also fails with the version provided by Ubuntu 
14.04 ;-(

Now I am running into the next issue that Apache does not find my 
Postgis-Service definitions. Maybe the Apache 2.4 environment variables 
have a different setup than in previous Apache / Ubuntu Server versions.

Thanks for the hint - eventually I will be getting there,
Andreas


Am 2014-06-10 09:53, schrieb Andrea Peri:
> 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 [1]
> 
> --
> -----------------
>  Andrea Peri
> . . . . . . . . .
> qwerty àèìòù
> -----------------
> 
> 
> Links:
> ------
> [1] http://lists.osgeo.org/mailman/listinfo/qgis-developer


More information about the Qgis-developer mailing list