Bug report #21382

Fails to build with SERVER_PLUGINS disabled

Added by Tom Palan about 5 years ago. Updated almost 5 years ago.

Status:Open
Priority:Normal
Assignee:-
Category:Build/Install
Affected QGIS version:3.4.5 Regression?:No
Operating System:Debian stretch amd64 Easy fix?:No
Pull Request or Patch supplied:No Resolution:
Crashes QGIS or corrupts data:No Copied to github as #:29199

Description

The following cmake configuration fails to build:

cmake -G Ninja \
-DCMAKE_VERBOSE_MAKEFILE=1 \
-DCMAKE_INSTALL_PREFIX=/usr \
-DBINDINGS_GLOBAL_INSTALL=TRUE \
-DPEDANTIC=TRUE \
-DSERVER_SKIP_ECW=TRUE \
-DQGIS_CGIBIN_SUBDIR=/usr/lib/cgi-bin \
-DWITH_APIDOC=TRUE \
-DGENERATE_QHP=TRUE \
-DWITH_CUSTOM_WIDGETS=FALSE \
-DWITH_GLOBE=FALSE \
-DWITH_SERVER=TRUE \
-DWITH_SERVER_PLUGINS=FALSE \
-DWITH_QWTPOLAR=FALSE \
-DWITH_DESKTOP=FALSE \
-DWITH_GUI=TRUE \
-DDOXYGEN_ON_DEMAND=TRUE ..

with the error message:

[3019/4062] Linking CXX shared library output/lib/libqgis_server.so.3.4.5
FAILED: output/lib/libqgis_server.so.3.4.5
: && ccache /usr/local/bin/c++ -fPIC -Wall -Wextra -Wno-long-long -Wformat-security -Wno-strict-aliasing -Wl,--no-undefined -shared -Wl,-soname,libqgis_server.so.3.4.5 -o output/lib/libqgis_server.so.3.4.5 src/server/CMakeFiles/qgis_server.dir/qgsbufferserverrequest.cpp.o src/server/CMakeFiles/qgis_server.dir/qgsbufferserverresponse.cpp.o src/server/CMakeFiles/qgis_server.dir/qgscapabilitiescache.cpp.o src/server/CMakeFiles/qgis_server.dir/qgsconfigcache.cpp.o src/server/CMakeFiles/qgis_server.dir/qgsfcgiserverrequest.cpp.o src/server/CMakeFiles/qgis_server.dir/qgsfcgiserverresponse.cpp.o src/server/CMakeFiles/qgis_server.dir/qgsfilterresponsedecorator.cpp.o src/server/CMakeFiles/qgis_server.dir/qgsfilterrestorer.cpp.o src/server/CMakeFiles/qgis_server.dir/qgsrequesthandler.cpp.o src/server/CMakeFiles/qgis_server.dir/qgsserver.cpp.o src/server/CMakeFiles/qgis_server.dir/qgsserverparameters.cpp.o src/server/CMakeFiles/qgis_server.dir/qgsserverexception.cpp.o src/server/CMakeFiles/qgis_server.dir/qgsserverinterface.cpp.o src/server/CMakeFiles/qgis_server.dir/qgsserverinterfaceimpl.cpp.o src/server/CMakeFiles/qgis_server.dir/qgsserverlogger.cpp.o src/server/CMakeFiles/qgis_server.dir/qgsserverprojectutils.cpp.o src/server/CMakeFiles/qgis_server.dir/qgsserverrequest.cpp.o src/server/CMakeFiles/qgis_server.dir/qgsserverresponse.cpp.o src/server/CMakeFiles/qgis_server.dir/qgsserversettings.cpp.o src/server/CMakeFiles/qgis_server.dir/qgsservice.cpp.o src/server/CMakeFiles/qgis_server.dir/qgsservicenativeloader.cpp.o src/server/CMakeFiles/qgis_server.dir/qgsserviceregistry.cpp.o src/server/CMakeFiles/qgis_server.dir/qgsfeaturefilterprovidergroup.cpp.o src/server/CMakeFiles/qgis_server.dir/qgsfeaturefilter.cpp.o src/server/CMakeFiles/qgis_server.dir/moc_qgscapabilitiescache.cpp.o src/server/CMakeFiles/qgis_server.dir/moc_qgsconfigcache.cpp.o src/server/CMakeFiles/qgis_server.dir/moc_qgsserverlogger.cpp.o src/server/CMakeFiles/qgis_server.dir/moc_qgsserversettings.cpp.o src/server/CMakeFiles/qgis_server.dir/moc_qgsserverparameters.cpp.o -L/home/tom/projects/InfraGIS/QGIS-server/debian-package/woserverbindings/build/src/core -L/home/tom/projects/InfraGIS/QGIS-server/debian-package/woserverbindings/build/src/gui output/lib/libqgis_analysis.so.3.4.5 -lproj -lfcgi -lpq -lgdal -lqca-qt5 output/lib/libqgispython.so.3.4.5 output/lib/libqgis_core.so.3.4.5 -lqca-qt5 /usr/lib/x86_64-linux-gnu/libQt5Xml.so.5.7.1 /usr/lib/x86_64-linux-gnu/libQt5Svg.so.5.7.1 /usr/lib/x86_64-linux-gnu/libQt5PrintSupport.so.5.7.1 /usr/lib/x86_64-linux-gnu/libQt5WebKitWidgets.so.5.7.1 /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5.7.1 /usr/lib/x86_64-linux-gnu/libQt5WebKit.so.5.7.1 /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5.7.1 /usr/lib/x86_64-linux-gnu/libQt5Network.so.5.7.1 /usr/lib/x86_64-linux-gnu/libQt5Sql.so.5.7.1 /usr/lib/x86_64-linux-gnu/libQt5Concurrent.so.5.7.1 -lqt5keychain -lproj -lgeos_c -lgdal -lspatialindex -lexpat -lsqlite3 -lspatialite -lzip /usr/lib/x86_64-linux-gnu/libQt5SerialPort.so.5.7.1 /usr/lib/x86_64-linux-gnu/libQt5Positioning.so.5.7.1 /usr/lib/x86_64-linux-gnu/libQt5Core.so.5.7.1 -lpython3.5m -lutil -Wl,-rpath,/home/tom/projects/InfraGIS/QGIS-server/debian-package/woserverbindings/build/src/core:/home/tom/projects/InfraGIS/QGIS-server/debian-package/woserverbindings/build/src/gui:/home/tom/projects/InfraGIS/QGIS-server/debian-package/woserverbindings/build/output/lib: && :
src/server/CMakeFiles/qgis_server.dir/qgsserverinterfaceimpl.cpp.o: In function `std::default_delete<QgsServerCacheManager>::operator()(QgsServerCacheManager*) const':
qgsserverinterfaceimpl.cpp:(.text._ZNKSt14default_deleteI21QgsServerCacheManagerEclEPS0_[_ZNKSt14default_deleteI21QgsServerCacheManagerEclEPS0_]+0x1e): undefined reference to `QgsServerCacheManager::~QgsServerCacheManager()'
collect2: error: ld returned 1 exit status

History

#1 Updated by Henrik K almost 5 years ago

Seems to be fixed in master https://github.com/qgis/QGIS/commit/47fba3266e8bf52b3d0d3e807c59be059ddf9ea2

Applied cleanly here to 3.4.8, only qgswmsgetlegendgraphics.cpp needed some manual tweaking. Compiled fine and seems to run ok..

Also available in: Atom PDF