[mapserver-dev] problems compiling mapserver 7.2.1 with php7 and harfbuzz on debian9

Jeff McKenna jmckenna at gatewaygeomatics.com
Wed Dec 5 04:52:44 PST 2018


Hi Dierk,

For MS4W on Windows I have the same configuration (MapServer 7.2.1, 
PHP7, Harfbuzz 1.9.0) successfully.  From your logs it looks like you 
have not enabled Harfbuzz in your make/cmake command.   -jeff

PS. feel lucky that you're not trying that on Windows ;)


-- 
Jeff McKenna
MapServer Consulting and Training Services
https://gatewaygeomatics.com/



On 2018-12-05 8:15 AM, Linsenmaier Dierk wrote:
> Hello Devs,
> 
> I have problems compiling mapserver 7.2.1 with php7 and harfbuzz on 
> Debian 9.
> 
> Compilation fails with error:
> 
> //usr/lib/x86_64-linux-gnu/libpangoft2-1.0.so.0: undefined reference to 
> `hb_buffer_set_cluster_level'
> 
> Last lines oft he whole output:
> 
> 8<
> 
> cd /usr/local/src/mapserver/mapserver-7.2.1/build && /usr/bin/cmake -E 
> cmake_depends "Unix Makefiles" /usr/local/src/mapserver/mapserver-7.2.1 
> /usr/local/src/mapserver/mapserver-7.2.1 
> /usr/local/src/mapserver/mapserver-7.2.1/build 
> /usr/local/src/mapserver/mapserver-7.2.1/build 
> /usr/local/src/mapserver/mapserver-7.2.1/build/CMakeFiles/shptreetst.dir/DependInfo.cmake 
> --color=
> 
> Dependee 
> "/usr/local/src/mapserver/mapserver-7.2.1/build/CMakeFiles/shptreetst.dir/DependInfo.cmake" 
> is newer than depender 
> "/usr/local/src/mapserver/mapserver-7.2.1/build/CMakeFiles/shptreetst.dir/depend.internal".
> 
> Dependee 
> "/usr/local/src/mapserver/mapserver-7.2.1/build/CMakeFiles/CMakeDirectoryInformation.cmake" 
> is newer than depender 
> "/usr/local/src/mapserver/mapserver-7.2.1/build/CMakeFiles/shptreetst.dir/depend.internal".
> 
> Scanning dependencies of target shptreetst
> 
> make[2]: Leaving directory '/usr/local/src/mapserver/mapserver-7.2.1/build'
> 
> make -f CMakeFiles/shptreetst.dir/build.make CMakeFiles/shptreetst.dir/build
> 
> make[2]: Entering directory '/usr/local/src/mapserver/mapserver-7.2.1/build'
> 
> [ 69%] Building C object CMakeFiles/shptreetst.dir/shptreetst.c.o
> 
> /usr/bin/cc   -I/usr/local/src/mapserver/mapserver-7.2.1/build 
> -I/usr/local/src/mapserver/mapserver-7.2.1/renderers/agg/include 
> -I/usr/local/src/mapserver/mapserver-7.2.1/mapscript/v8 
> -I/usr/include/freetype2 
> -I/usr/local/src/mapserver/mapserver-7.2.1/build/renderers/mvt 
> -I/usr/include/cairo -I/usr/include/oracle/18.3/client64 
> -I/usr/include/postgresql -I/usr/include/gdal -I/usr/include/librsvg-2.0 
> -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 
> -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include 
> -I/usr/include/pixman-1 -I/usr/include/x86_64-linux-gnu 
> -I/usr/include/libxml2  -Wall -Werror=format-security 
> -Wdeclaration-after-statement -O3 -DNDEBUG   -o 
> CMakeFiles/shptreetst.dir/shptreetst.c.o   -c 
> /usr/local/src/mapserver/mapserver-7.2.1/shptreetst.c
> 
> [ 70%] Linking CXX executable shptreetst
> 
> /usr/bin/cmake -E cmake_link_script CMakeFiles/shptreetst.dir/link.txt 
> --verbose=1
> 
> /usr/bin/c++    -Wall -Werror=format-security -O3 -DNDEBUG   
> CMakeFiles/shptreetst.dir/shptreetst.c.o  -o shptreetst  
> -L/usr/lib/oracle/18.3/client64/lib 
> -Wl,-rpath,/usr/lib/oracle/18.3/client64/lib::::::::::::::: -rdynamic 
> libmapserver_static.a -lpng -lz -ljpeg -lfreetype -lproj -lprotobuf-c 
> -lcairo /usr/lib/oracle/18.3/client64/lib/libclntsh.so 
> /usr/lib/oracle/18.3/client64/lib/libocci.so -lnnz18 -lgeos_c -lpq 
> -lgdal -lrsvg-2 -lgobject-2.0 -lcurl -lxml2 -lpthread -lgif -ldl -lm
> 
> //usr/lib/x86_64-linux-gnu/libpangoft2-1.0.so.0: undefined reference to 
> `hb_buffer_set_cluster_level'
> 
> collect2: error: ld returned 1 exit status
> 
> CMakeFiles/shptreetst.dir/build.make:113: recipe for target 'shptreetst' 
> failed
> 
> make[2]: *** [shptreetst] Error 1
> 
> make[2]: Leaving directory '/usr/local/src/mapserver/mapserver-7.2.1/build'
> 
> CMakeFiles/Makefile2:67: recipe for target 
> 'CMakeFiles/shptreetst.dir/all' failed
> 
> make[1]: *** [CMakeFiles/shptreetst.dir/all] Error 2
> 
> make[1]: Leaving directory '/usr/local/src/mapserver/mapserver-7.2.1/build'
> 
> Makefile:127: recipe for target 'all' failed
> 
> make: *** [all] Error 2
> 
>  >8
> 
> I start compilation with these options:
> 
> /usr/local/src/mapserver/mapserver-7.2.1/build# cmake -DWITH_PROJ=1 
> -DWITH_KML=0 -DWITH_SOS=0 -DWITH_WMS=1 -DWITH_FRIBIDI=0 
> -DWITH_HARFBUZZ=0       -DWITH_ICONV=1 -DWITH_CAIRO=1 -DWITH_SVGCAIRO=0 
> -DWITH_RSVG=1 -DWITH_MYSQL=0 -DWITH_FCGI=0 -DWITH_GEOS=1   
>      -DWITH_POSTGIS=1 -DWITH_GDAL=1 -DWITH_OGR=1 -DWITH_CLIENT_WMS=1 
> -DWITH_CLIENT_WFS=1 -DWITH_CURL=1       -DWITH_WFS=0 -DWITH_WCS=0 
> -DWITH_LIBXML2=1 -DWITH_THREAD_SAFETY=1 -DWITH_GIF=1 -DWITH_PHP=1       
> -DWITH_POINT_Z_M=0 -DWITH_ORACLESPATIAL=1 -DLINK_STATIC_LIBMAPSERVER=1 
> -DCMAKE_PREFIX_PATH="/usr/local"       
> -DGOBJECT_INCLUDE_DIRS="/usr/include/glib-2.0" 
> -DCMAKE_BUILD_TYPE=Release   ../
> 
> I compiled harfbuzz on the same server libraries are in /usr/local/lib.
> 
> Do you have any hint how to solve this problem?
> 
> Thanks in advance
> 
> Dierk
> 


More information about the mapserver-dev mailing list