Source: qtwebkit Version: 2.3.4.dfsg-3 Severity: normal Tags: patch Hey,
When building qtwebkit in a directory under /usr (e.g. /usr/src) the following compiler error occurs: In file included from /usr/src/packages/BUILD/qtwebkit-2.3.4.dfsg/Source/WebKit/qt/declarative/qdeclarativewebview_p.h:29:0, from /usr/src/packages/BUILD/qtwebkit-2.3.4.dfsg/Source/WebKit/qt/declarative/qdeclarativewebview.cpp:21: ../../../../include/QtWebKit/qgraphicswebview.h:1:81: fatal error: ../../../../../../../../../../Source/WebKit/qt/Api/qgraphicswebview.h: No such file or directory #include "../../../../../../../../../../Source/WebKit/qt/Api/qgraphicswebview.h" ^ compilation terminated. This turns out to be because syncqt-4.8 generated incorrect relative paths due to this section of code: sub fixPaths { my ($file, $dir) = @_; $dir =~ s=^$quoted_basedir/=$out_basedir/= if(!($basedir eq $out_basedir)); dir being the full path to the source files, basedir /usr, when dir doesn't start with /usr this is a noop, but if it is the /usr part gets replaced and things break... Patch attached to fix this
--- a/Tools/qmake/syncqt-4.8 +++ b/Tools/qmake/syncqt-4.8 @@ -353,7 +353,6 @@ ###################################################################### sub fixPaths { my ($file, $dir) = @_; - $dir =~ s=^$quoted_basedir/=$out_basedir/= if(!($basedir eq $out_basedir)); $file =~ s=\\=/=g; $dir =~ s=\\=/=g;