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: [email protected]
For additional commands, e-mail: [email protected]