Explicitely include a needed header to fix compile time error. sys/stat.h used to be indirectly included from another header but no longer is.
Signed-off-by: Max Krummenacher <[email protected]> --- .../chromium-40/add_missing_stat_h_include.patch | 39 ++++++++++++++++++++++ recipes-browser/chromium/chromium_40.0.2214.91.bb | 1 + 2 files changed, 40 insertions(+) create mode 100644 recipes-browser/chromium/chromium/chromium-40/add_missing_stat_h_include.patch diff --git a/recipes-browser/chromium/chromium/chromium-40/add_missing_stat_h_include.patch b/recipes-browser/chromium/chromium/chromium-40/add_missing_stat_h_include.patch new file mode 100644 index 0000000..64fe840 --- /dev/null +++ b/recipes-browser/chromium/chromium/chromium-40/add_missing_stat_h_include.patch @@ -0,0 +1,39 @@ +sys/stat.h used to be indirectly included through +device/udev_linux/scoped_udev.h -> libudev.h -> sys/stat.h +but libudev.h in jethro no longer includes sys/stat.h resulting in the +following compile time errors: + +arm-angstrom-linux-gnueabi-g++ ... ../../components/storage_monitor/storage_monitor_linux.cc -o obj/components/storage_monitor/storage_monitor.storage_monitor_linux.o +../../components/storage_monitor/storage_monitor_linux.cc: In function 'scoped_ptr<storage_monitor::StorageInfo> storage_monitor::{anonymous}::GetDeviceInfo(const base::FilePath&, const base::FilePath&)': +../../components/storage_monitor/storage_monitor_linux.cc:132:15: error: aggregate 'storage_monitor::{anonymous}::GetDeviceInfo(const base::FilePath&, const base::FilePath&)::stat device_stat' has incomplete type and cannot be defined + struct stat device_stat; + ^ +../../components/storage_monitor/storage_monitor_linux.cc:133:53: error: invalid use of incomplete type 'struct storage_monitor::{anonymous}::GetDeviceInfo(const base::FilePath&, const base::FilePath&)::stat' + if (stat(device_path.value().c_str(), &device_stat) < 0) + ^ +../../components/storage_monitor/storage_monitor_linux.cc:132:10: error: forward declaration of 'struct storage_monitor::{anonymous}::GetDeviceInfo(const base::FilePath&, const base::FilePath&)::stat' + struct stat device_stat; + ^ +../../components/storage_monitor/storage_monitor_linux.cc:137:34: error: 'S_ISCHR' was not declared in this scope + if (S_ISCHR(device_stat.st_mode)) + ^ +../../components/storage_monitor/storage_monitor_linux.cc:139:39: error: 'S_ISBLK' was not declared in this scope + else if (S_ISBLK(device_stat.st_mode)) + ^ + +As the code makes use of stat systemcalls include the file explicitely. +Tested with ARCH armv7. + +Signed-off-by: Max Krummenacher <max.oss.09 at gmail.com> +Upstream-Status: Pending + +--- chromium-40.0.2214.91/components/storage_monitor/storage_monitor_linux.cc~ 2015-01-21 21:28:16.000000000 +0100 ++++ chromium-40.0.2214.91/components/storage_monitor/storage_monitor_linux.cc 2015-10-27 13:21:08.405655894 +0100 +@@ -8,6 +8,7 @@ + + #include <mntent.h> + #include <stdio.h> ++#include <sys/stat.h> + + #include <list> + diff --git a/recipes-browser/chromium/chromium_40.0.2214.91.bb b/recipes-browser/chromium/chromium_40.0.2214.91.bb index 44f8593..8bc05ee 100644 --- a/recipes-browser/chromium/chromium_40.0.2214.91.bb +++ b/recipes-browser/chromium/chromium_40.0.2214.91.bb @@ -27,6 +27,7 @@ SRC_URI = "\ file://google-chrome \ file://google-chrome.desktop \ file://chromium-40/fix-build-error-with-GCC-in-Debug-mode.patch \ + file://chromium-40/add_missing_stat_h_include.patch \ " # # * use-egl : Without this packageconfig, the Chromium build will use GLX for creating an OpenGL context in X11, -- 1.9.3 -- _______________________________________________ Openembedded-devel mailing list [email protected] http://lists.openembedded.org/mailman/listinfo/openembedded-devel
