Bibin A Chundatt created HADOOP-15605: -----------------------------------------
Summary: Hadoop compilation fails on gcc 7.3 Key: HADOOP-15605 URL: https://issues.apache.org/jira/browse/HADOOP-15605 Project: Hadoop Common Issue Type: Bug Reporter: Bibin A Chundatt As per document we have specified *GCC 4.8.1 or later* Compilation fails on 7.3 {code} root@bibinpc:~# /usr/bin/gcc-7 --version gcc-7 (Ubuntu 7.3.0-16ubuntu3) 7.3.0 Copyright (C) 2017 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. {code} {code} [exec] [ 28%] Building CXX object main/native/libhdfspp/lib/common/CMakeFiles/common_obj.dir/ioservice_impl.cc.o [exec] In file included from /opt/apacheprojects/hadoop/YARN3409/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/lib/common/ioservice_impl.h:22:0, [exec] from /opt/apacheprojects/hadoop/YARN3409/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/lib/common/ioservice_impl.cc:19: [exec] /opt/apacheprojects/hadoop/YARN3409/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/include/hdfspp/ioservice.h:109:30: error: ‘std::function’ has not been declared [exec] virtual void PostTask(std::function<void(void)> asyncTask) = 0; [exec] ^~~~~~~~ [exec] /opt/apacheprojects/hadoop/YARN3409/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/include/hdfspp/ioservice.h:109:38: error: expected ‘,’ or ‘...’ before ‘<’ token [exec] virtual void PostTask(std::function<void(void)> asyncTask) = 0; [exec] ^ [exec] /opt/apacheprojects/hadoop/YARN3409/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/include/hdfspp/ioservice.h: In member function ‘void hdfs::IoService::PostLambda(LambdaInstance&&)’: [exec] /opt/apacheprojects/hadoop/YARN3409/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/include/hdfspp/ioservice.h:117:10: error: ‘function’ is not a member of ‘std’ [exec] std::function<void(void)> typeEraser = func; [exec] ^~~~~~~~ [exec] /opt/apacheprojects/hadoop/YARN3409/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/include/hdfspp/ioservice.h:117:10: note: suggested alternative: ‘is_function’ [exec] std::function<void(void)> typeEraser = func; [exec] ^~~~~~~~ [exec] is_function [exec] /opt/apacheprojects/hadoop/YARN3409/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/include/hdfspp/ioservice.h:117:19: error: expected primary-expression before ‘void’ [exec] std::function<void(void)> typeEraser = func; [exec] ^~~~ [exec] In file included from /opt/apacheprojects/hadoop/YARN3409/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/lib/common/ioservice_impl.cc:19:0: [exec] /opt/apacheprojects/hadoop/YARN3409/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/lib/common/ioservice_impl.h: At global scope: [exec] /opt/apacheprojects/hadoop/YARN3409/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/lib/common/ioservice_impl.h:45:22: error: ‘std::function’ has not been declared [exec] void PostTask(std::function<void(void)> asyncTask) override; [exec] ^~~~~~~~ [exec] /opt/apacheprojects/hadoop/YARN3409/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/lib/common/ioservice_impl.h:45:30: error: expected ‘,’ or ‘...’ before ‘<’ token [exec] void PostTask(std::function<void(void)> asyncTask) override; [exec] ^ [exec] /opt/apacheprojects/hadoop/YARN3409/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/lib/common/ioservice_impl.cc:104:35: error: variable or field ‘PostTask’ declared void [exec] void IoServiceImpl::PostTask(std::function<void(void)> asyncTask) { [exec] ^~~~~~~~ [exec] /opt/apacheprojects/hadoop/YARN3409/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/lib/common/ioservice_impl.cc:104:35: error: ‘function’ is not a member of ‘std’ [exec] /opt/apacheprojects/hadoop/YARN3409/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/lib/common/ioservice_impl.cc:104:35: note: suggested alternative: ‘is_function’ [exec] void IoServiceImpl::PostTask(std::function<void(void)> asyncTask) { [exec] ^~~~~~~~ [exec] is_function [exec] /opt/apacheprojects/hadoop/YARN3409/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/lib/common/ioservice_impl.cc:104:44: error: expected primary-expression before ‘void’ [exec] void IoServiceImpl::PostTask(std::function<void(void)> asyncTask) { [exec] ^~~~ [exec] main/native/libhdfspp/lib/common/CMakeFiles/common_obj.dir/build.make:88: recipe for target 'main/native/libhdfspp/lib/common/CMakeFiles/common_obj.dir/ioservice_impl.cc.o' failed [exec] CMakeFiles/Makefile2:1966: recipe for target 'main/native/libhdfspp/lib/common/CMakeFiles/common_obj.dir/all' failed [exec] Makefile:140: recipe for target 'all' failed [exec] make[2]: *** [main/native/libhdfspp/lib/common/CMakeFiles/common_obj.dir/ioservice_impl.cc.o] Error 1 [exec] make[1]: *** [main/native/libhdfspp/lib/common/CMakeFiles/common_obj.dir/all] Error 2 [exec] make: *** [all] Error 2 {code} -- This message was sent by Atlassian JIRA (v7.6.3#76005) --------------------------------------------------------------------- To unsubscribe, e-mail: common-dev-unsubscr...@hadoop.apache.org For additional commands, e-mail: common-dev-h...@hadoop.apache.org