Bug #71156 FTBFS: ft2build.h: No such file or directory
Submitted: 16 Dec 2013 20:25 Modified: 16 Jan 2014 20:18
Reporter: Dmitry Smirnov Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Workbench Severity:S2 (Serious)
Version:6.0.8 OS:Linux
Assigned to: CPU Architecture:Any
Tags: FTBFS

[16 Dec 2013 20:25] Dmitry Smirnov
Description:
Forwarded as reported in http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=732316

mysql-workbench FTBFS in current unstable like this:

...
[ 56%] Building CXX object plugins/db.mysql.editors/linux/CMakeFiles/db.mysql.editors.wbp.dir/mysql_table_editor_fe.cpp.o
cd /«BUILDDIR»/mysql-workbench-6.0.8+dfsg/obj-powerpc-linux-gnuspe/plugins/db.mysql.editors/linux && /usr/bin/c++   -DTIXML_USE_STL=1 -D__STDC_FORMAT_MACROS -Ddb_mysql_editors_wbp_EXPORTS -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2  -O2 -g -DNDEBUG -fPIC -I/«BUILDDIR»/mysql-workbench-6.0.8+dfsg/plugins/migration/copytable -I/«BUILDDIR»/mysql-workbench-6.0.8+dfsg/library/base -I/usr/include/gtk-2.0 -I/usr/lib/powerpc-linux-gnuspe/gtk-2.0/include -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/atk-1.0 -I/usr/include/glib-2.0 -I/usr/lib/powerpc-linux-gnuspe/glib-2.0/include -I/usr/include/gtkmm-2.4 -I/usr/lib/powerpc-linux-gnuspe/gtkmm-2.4/include -I/usr/include/gdkmm-2.4 -I/usr/lib/powerpc-linux-gnuspe/gdkmm-2.4/include -I/usr/include/pangomm-1.4 -I/usr/lib/powerpc-linux-gnuspe/pangomm-1.4/include -I/usr/include/cairomm-1.0 -I/usr/lib/cairomm-1.0/include -I/usr/include/giomm-2.4
  -I/usr/lib/powerpc-linux-gnuspe/giomm-2.4/include -I/usr/include/atkmm-1.6 -I/usr/include/glibmm-2.4 -I/usr/lib/powerpc-linux-gnuspe/glibmm-2.4/include -I/usr/include/sigc++-2.0 -I/usr/lib/powerpc-linux-gnuspe/sigc++-2.0/include -I/«BUILDDIR»/mysql-workbench-6.0.8+dfsg/plugins/db.mysql.editors/linux/. -I/«BUILDDIR»/mysql-workbench-6.0.8+dfsg/generated -I/«BUILDDIR»/mysql-workbench-6.0.8+dfsg/backend/wbpublic -I/«BUILDDIR»/mysql-workbench-6.0.8+dfsg/library/grt/src -I/«BUILDDIR»/mysql-workbench-6.0.8+dfsg/library/forms -I/«BUILDDIR»/mysql-workbench-6.0.8+dfsg/modules/interfaces -I/«BUILDDIR»/mysql-workbench-6.0.8+dfsg/library/grt/src/diff -I/«BUILDDIR»/mysql-workbench-6.0.8+dfsg/library/sql-parser/include -I/«BUILDDIR»/mysql-workbench-6.0.8+dfsg/library/sql-parser/source -I/«BUILDDIR»/mysql-workbench-6.0.8+dfsg/plugins -I/«BUILDDIR»/mysql-workbench-6.0.8+dfsg/modules -I/«BUILDDIR»/mysql-workbench-6.0.8+dfsg/frontend/linux -I/«BUILDDIR»/mysql-workbench-6.0.8
 +dfsg/frontend/linux/workbench -I/«BUILDDIR»/mysql-workbench-6.0.8+dfsg/frontend/linux/linux_utilities -I/«BUILDDIR»/mysql-workbench-6.0.8+dfsg/frontend/linux/sqlide -I/«BUILDDIR»/mysql-workbench-6.0.8+dfsg/ext/scintilla/include -I/«BUILDDIR»/mysql-workbench-6.0.8+dfsg -I/usr/include/python2.7 -I/usr/include/powerpc-linux-gnuspe/python2.7 -I/usr/include/lua5.1 -I/usr/include/libxml2    -Wall -Wsign-compare -Wextra -Wno-unused -Wno-deprecated -o CMakeFiles/db.mysql.editors.wbp.dir/mysql_table_editor_fe.cpp.o -c /«BUILDDIR»/mysql-workbench-6.0.8+dfsg/plugins/db.mysql.editors/linux/mysql_table_editor_fe.cpp
In file included from /usr/include/cairomm-1.0/cairomm/fontoptions.h:26:0,
                 from /usr/include/cairomm-1.0/cairomm/surface.h:37,
                 from /usr/include/cairomm-1.0/cairomm/context.h:24,
                 from /usr/include/pangomm-1.4/pangomm/context.h:43,
                 from /usr/include/pangomm-1.4/pangomm/layout.h:36,
                 from /usr/include/gdkmm-2.4/gdkmm/drawable.h:29,
                 from /usr/include/gdkmm-2.4/gdkmm/pixbuf.h:32,
                 from /«BUILDDIR»/mysql-workbench-6.0.8+dfsg/frontend/linux/linux_utilities/image_cache.h:4,
                 from /«BUILDDIR»/mysql-workbench-6.0.8+dfsg/plugins/db.mysql.editors/linux/mysql_table_editor_fe.cpp:17:
/usr/include/cairo/cairo-ft.h:46:22: fatal error: ft2build.h: No such file or directory
compilation terminated.
make[4]: *** [plugins/db.mysql.editors/linux/CMakeFiles/db.mysql.editors.wbp.dir/mysql_table_editor_fe.cpp.o] Error 1
make[4]: Leaving directory `/«BUILDDIR»/mysql-workbench-6.0.8+dfsg/obj-powerpc-linux-gnuspe'
make[3]: *** [plugins/db.mysql.editors/linux/CMakeFiles/db.mysql.editors.wbp.dir/all] Error 2
make[3]: *** Waiting for unfinished jobs....
...

freetype changed by moving ft2build.h to an include subdir not found now.
"pkg-config --cflags cairo" does the right thing but unfortunately, the result
is not used correctly in all relevant places. The attached patch fixes this.

Roland

How to repeat:
Build mysql-workbench 6.0.8 in Debian "unstable".

Suggested fix:
--- mysql-workbench-6.0.8+dfsg.orig/plugins/db.mysql.editors/linux/CMakeLists.txt
+++ mysql-workbench-6.0.8+dfsg/plugins/db.mysql.editors/linux/CMakeLists.txt
@@ -33,6 +33,7 @@ include_directories(.
     ${VSQLITE_INCLUDE_DIRS}
     ${PROJECT_SOURCE_DIR}
     ${GTK2_INCLUDE_DIRS}
+    ${CAIRO_INCLUDE_DIRS}
     ${SIGC++_INCLUDE_DIRS}
     ${GRT_INCLUDE_DIRS}
 )
--- mysql-workbench-6.0.8+dfsg.orig/plugins/wb.printing/linux/CMakeLists.txt
+++ mysql-workbench-6.0.8+dfsg/plugins/wb.printing/linux/CMakeLists.txt
@@ -14,6 +14,7 @@ include_directories(.
     ${PROJECT_SOURCE_DIR}/modules
     ${PROJECT_SOURCE_DIR}
     ${GTK2_INCLUDE_DIRS}
+    ${CAIRO_INCLUDE_DIRS}
     ${SIGC++_INCLUDE_DIRS}
     ${GRT_INCLUDE_DIRS}
 )
--- mysql-workbench-6.0.8+dfsg.orig/plugins/wb.model.editors/linux/CMakeLists.txt
+++ mysql-workbench-6.0.8+dfsg/plugins/wb.model.editors/linux/CMakeLists.txt
@@ -21,6 +21,7 @@ include_directories(.
     ${PROJECT_SOURCE_DIR}/modules
     ${PROJECT_SOURCE_DIR}
     ${GTK2_INCLUDE_DIRS}
+    ${CAIRO_INCLUDE_DIRS}
     ${SIGC++_INCLUDE_DIRS}
     ${GRT_INCLUDE_DIRS}
 )
--- mysql-workbench-6.0.8+dfsg.orig/plugins/db.search/CMakeLists.txt
+++ mysql-workbench-6.0.8+dfsg/plugins/db.search/CMakeLists.txt
@@ -14,6 +14,7 @@ include_directories(.
     ${PROJECT_SOURCE_DIR}
     ${GRT_INCLUDE_DIRS}
     ${GTK2_INCLUDE_DIRS}
+    ${CAIRO_INCLUDE_DIRS}
     ${MYSQLCPPCONN_INCLUDE_DIRS}
 )
 
--- mysql-workbench-6.0.8+dfsg.orig/plugins/migration/CMakeLists.txt
+++ mysql-workbench-6.0.8+dfsg/plugins/migration/CMakeLists.txt
@@ -1,5 +1,6 @@
 include_directories(
     ${GLIB_INCLUDE_DIRS}
+    ${CAIRO_INCLUDE_DIRS}
     ${ODBC_INCLUDE_DIRS} 
     ${PYTHON_INCLUDE_DIRS} 
     ${MYSQL_INCLUDE_DIRS}
[7 Jan 2014 10:53] Alfredo Kojima
Thank you for the bug report
[16 Jan 2014 20:18] Philip Olson
Fixed as of the upcoming Workbench 6.0.9 release, and here is the changelog entry:

MySQL Workbench now builds on Debian 7.0-unstable.

Thank you for the bug report.