[jira] [Updated] (HDFS-10354) Fix compilation & unit test issues on Mac OS X with clang compiler
[ https://issues.apache.org/jira/browse/HDFS-10354?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] James Clampffer updated HDFS-10354: --- Parent Issue: HDFS-14032 (was: HDFS-8707) > Fix compilation & unit test issues on Mac OS X with clang compiler > -- > > Key: HDFS-10354 > URL: https://issues.apache.org/jira/browse/HDFS-10354 > Project: Hadoop HDFS > Issue Type: Sub-task > Components: hdfs-client > Environment: OS X: 10.11 > clang: Apple LLVM version 7.0.2 (clang-700.1.81) >Reporter: Tibor Kiss >Assignee: Tibor Kiss >Priority: Major > Attachments: HDFS-10354.HDFS-8707.001.patch, > HDFS-10354.HDFS-8707.002.patch > > > Compilation fails with multiple errors on Mac OS X. > Unit test test_test_libhdfs_zerocopy_hdfs_static also fails to execute on OS > X. > Compile error 1: > {noformat} > [exec] Scanning dependencies of target common_obj > [exec] [ 45%] Building CXX object > main/native/libhdfspp/lib/common/CMakeFiles/common_obj.dir/base64.cc.o > [exec] [ 45%] Building CXX object > main/native/libhdfspp/lib/common/CMakeFiles/common_obj.dir/status.cc.o > [exec] [ 46%] Building CXX object > main/native/libhdfspp/lib/common/CMakeFiles/common_obj.dir/sasl_digest_md5.cc.o > [exec] [ 46%] Building CXX object > main/native/libhdfspp/lib/common/CMakeFiles/common_obj.dir/hdfs_public_api.cc.o > [exec] [ 47%] Building CXX object > main/native/libhdfspp/lib/common/CMakeFiles/common_obj.dir/options.cc.o > [exec] [ 48%] Building CXX object > main/native/libhdfspp/lib/common/CMakeFiles/common_obj.dir/configuration.cc.o > [exec] > /Users/tiborkiss/workspace/apache-hadoop/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/lib/common/configuration.cc:85:12: > error: no viable conversion from 'optional' to 'optional' > [exec] return result; > [exec]^~ > [exec] > /Users/tiborkiss/workspace/apache-hadoop/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/third_party/tr2/optional.hpp:427:13: > note: candidate constructor not viable: no known conversion from > 'std::experimental::optional' to 'std::experimental::nullopt_t' for 1st > argument > [exec] constexpr optional(nullopt_t) noexcept : OptionalBase() {}; > [exec] ^ > [exec] > /Users/tiborkiss/workspace/apache-hadoop/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/third_party/tr2/optional.hpp:429:3: > note: candidate constructor not viable: no known conversion from > 'std::experimental::optional' to 'const > std::experimental::optional &' for 1st argument > [exec] optional(const optional& rhs) > [exec] ^ > [exec] > /Users/tiborkiss/workspace/apache-hadoop/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/third_party/tr2/optional.hpp:438:3: > note: candidate constructor not viable: no known conversion from > 'std::experimental::optional' to 'std::experimental::optional long> &&' for 1st argument > [exec] optional(optional&& rhs) > noexcept(is_nothrow_move_constructible::value) > [exec] ^ > [exec] > /Users/tiborkiss/workspace/apache-hadoop/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/third_party/tr2/optional.hpp:447:13: > note: candidate constructor not viable: no known conversion from > 'std::experimental::optional' to 'const long long &' for 1st argument > [exec] constexpr optional(const T& v) : OptionalBase(v) {} > [exec] ^ > [exec] > /Users/tiborkiss/workspace/apache-hadoop/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/third_party/tr2/optional.hpp:449:13: > note: candidate constructor not viable: no known conversion from > 'std::experimental::optional' to 'long long &&' for 1st argument > [exec] constexpr optional(T&& v) : OptionalBase(constexpr_move(v)) > {} > [exec] ^ > [exec] 1 error generated. > [exec] make[2]: *** > [main/native/libhdfspp/lib/common/CMakeFiles/common_obj.dir/configuration.cc.o] > Error 1 > [exec] make[1]: *** > [main/native/libhdfspp/lib/common/CMakeFiles/common_obj.dir/all] Error 2 > [exec] make: *** [all] Error 2 > {noformat} > Compile error 2: > {noformat} > [exec] > /Users/tiborkiss/workspace/apache-hadoop/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/lib/fs/filesystem.cc:285:66: > error: use of overloaded operator '<<' is ambiguous (with operand types > 'hdfs::LogMessage' and 'size_type' (aka 'unsigned long')) > [exec] << " Existing thread count = " > << worker_threads_.size()); > [exec] >
[jira] [Updated] (HDFS-10354) Fix compilation & unit test issues on Mac OS X with clang compiler
[ https://issues.apache.org/jira/browse/HDFS-10354?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Tibor Kiss updated HDFS-10354: -- Description: Compilation fails with multiple errors on Mac OS X. Unit test test_test_libhdfs_zerocopy_hdfs_static also fails to execute on OS X. Compile error 1: {noformat} [exec] Scanning dependencies of target common_obj [exec] [ 45%] Building CXX object main/native/libhdfspp/lib/common/CMakeFiles/common_obj.dir/base64.cc.o [exec] [ 45%] Building CXX object main/native/libhdfspp/lib/common/CMakeFiles/common_obj.dir/status.cc.o [exec] [ 46%] Building CXX object main/native/libhdfspp/lib/common/CMakeFiles/common_obj.dir/sasl_digest_md5.cc.o [exec] [ 46%] Building CXX object main/native/libhdfspp/lib/common/CMakeFiles/common_obj.dir/hdfs_public_api.cc.o [exec] [ 47%] Building CXX object main/native/libhdfspp/lib/common/CMakeFiles/common_obj.dir/options.cc.o [exec] [ 48%] Building CXX object main/native/libhdfspp/lib/common/CMakeFiles/common_obj.dir/configuration.cc.o [exec] /Users/tiborkiss/workspace/apache-hadoop/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/lib/common/configuration.cc:85:12: error: no viable conversion from 'optional' to 'optional' [exec] return result; [exec]^~ [exec] /Users/tiborkiss/workspace/apache-hadoop/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/third_party/tr2/optional.hpp:427:13: note: candidate constructor not viable: no known conversion from 'std::experimental::optional' to 'std::experimental::nullopt_t' for 1st argument [exec] constexpr optional(nullopt_t) noexcept : OptionalBase() {}; [exec] ^ [exec] /Users/tiborkiss/workspace/apache-hadoop/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/third_party/tr2/optional.hpp:429:3: note: candidate constructor not viable: no known conversion from 'std::experimental::optional' to 'const std::experimental::optional &' for 1st argument [exec] optional(const optional& rhs) [exec] ^ [exec] /Users/tiborkiss/workspace/apache-hadoop/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/third_party/tr2/optional.hpp:438:3: note: candidate constructor not viable: no known conversion from 'std::experimental::optional' to 'std::experimental::optional &&' for 1st argument [exec] optional(optional&& rhs) noexcept(is_nothrow_move_constructible::value) [exec] ^ [exec] /Users/tiborkiss/workspace/apache-hadoop/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/third_party/tr2/optional.hpp:447:13: note: candidate constructor not viable: no known conversion from 'std::experimental::optional' to 'const long long &' for 1st argument [exec] constexpr optional(const T& v) : OptionalBase(v) {} [exec] ^ [exec] /Users/tiborkiss/workspace/apache-hadoop/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/third_party/tr2/optional.hpp:449:13: note: candidate constructor not viable: no known conversion from 'std::experimental::optional' to 'long long &&' for 1st argument [exec] constexpr optional(T&& v) : OptionalBase(constexpr_move(v)) {} [exec] ^ [exec] 1 error generated. [exec] make[2]: *** [main/native/libhdfspp/lib/common/CMakeFiles/common_obj.dir/configuration.cc.o] Error 1 [exec] make[1]: *** [main/native/libhdfspp/lib/common/CMakeFiles/common_obj.dir/all] Error 2 [exec] make: *** [all] Error 2 {noformat} Compile error 2: {noformat} [exec] /Users/tiborkiss/workspace/apache-hadoop/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/lib/fs/filesystem.cc:285:66: error: use of overloaded operator '<<' is ambiguous (with operand types 'hdfs::LogMessage' and 'size_type' (aka 'unsigned long')) [exec] << " Existing thread count = " << worker_threads_.size()); [exec] ~~~^~ {noformat} There is an addition compile failure in native client related to thread_local. The complexity of the error mandates to track that issue in a [separate ticket|https://issues.apache.org/jira/browse/HDFS-10355]. {noformat} [exec] /Users/tiborkiss/workspace/apache-hadoop/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/lib/bindings/c/hdfs.cc:66:1: error: thread-local storage is not supported for the current target [exec] thread_local std::string errstr; [exec] ^ [exec] 1 warning and 1 error generated. [exec] make[2]: *** [main/native/libhdfspp/lib/bindings/c/CMakeFiles/bindings_c_obj.dir/hdfs.cc.o] Error 1 [exec] make[1]: *** [main/native/libhdfspp/lib/bindings/c/CMakeFiles/bindings_c_obj.dir/all] Error 2
[jira] [Updated] (HDFS-10354) Fix compilation & unit test issues on Mac OS X with clang compiler
[ https://issues.apache.org/jira/browse/HDFS-10354?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Tibor Kiss updated HDFS-10354: -- Attachment: HDFS-10354.HDFS-8707.002.patch > Fix compilation & unit test issues on Mac OS X with clang compiler > -- > > Key: HDFS-10354 > URL: https://issues.apache.org/jira/browse/HDFS-10354 > Project: Hadoop HDFS > Issue Type: Sub-task > Components: hdfs-client > Environment: OS X: 10.11 > clang: Apple LLVM version 7.0.2 (clang-700.1.81) >Reporter: Tibor Kiss >Assignee: Tibor Kiss > Attachments: HDFS-10354.HDFS-8707.001.patch, > HDFS-10354.HDFS-8707.002.patch > > > Compilation fails with multiple errors on Mac OS X. > Unit test test_test_libhdfs_zerocopy_hdfs_static also fails to execute on OS > X. > Compile error 1: > {noformat} > [exec] Scanning dependencies of target common_obj > [exec] [ 45%] Building CXX object > main/native/libhdfspp/lib/common/CMakeFiles/common_obj.dir/base64.cc.o > [exec] [ 45%] Building CXX object > main/native/libhdfspp/lib/common/CMakeFiles/common_obj.dir/status.cc.o > [exec] [ 46%] Building CXX object > main/native/libhdfspp/lib/common/CMakeFiles/common_obj.dir/sasl_digest_md5.cc.o > [exec] [ 46%] Building CXX object > main/native/libhdfspp/lib/common/CMakeFiles/common_obj.dir/hdfs_public_api.cc.o > [exec] [ 47%] Building CXX object > main/native/libhdfspp/lib/common/CMakeFiles/common_obj.dir/options.cc.o > [exec] [ 48%] Building CXX object > main/native/libhdfspp/lib/common/CMakeFiles/common_obj.dir/configuration.cc.o > [exec] > /Users/tiborkiss/workspace/apache-hadoop/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/lib/common/configuration.cc:85:12: > error: no viable conversion from 'optional' to 'optional' > [exec] return result; > [exec]^~ > [exec] > /Users/tiborkiss/workspace/apache-hadoop/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/third_party/tr2/optional.hpp:427:13: > note: candidate constructor not viable: no known conversion from > 'std::experimental::optional' to 'std::experimental::nullopt_t' for 1st > argument > [exec] constexpr optional(nullopt_t) noexcept : OptionalBase() {}; > [exec] ^ > [exec] > /Users/tiborkiss/workspace/apache-hadoop/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/third_party/tr2/optional.hpp:429:3: > note: candidate constructor not viable: no known conversion from > 'std::experimental::optional' to 'const > std::experimental::optional &' for 1st argument > [exec] optional(const optional& rhs) > [exec] ^ > [exec] > /Users/tiborkiss/workspace/apache-hadoop/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/third_party/tr2/optional.hpp:438:3: > note: candidate constructor not viable: no known conversion from > 'std::experimental::optional' to 'std::experimental::optional long> &&' for 1st argument > [exec] optional(optional&& rhs) > noexcept(is_nothrow_move_constructible::value) > [exec] ^ > [exec] > /Users/tiborkiss/workspace/apache-hadoop/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/third_party/tr2/optional.hpp:447:13: > note: candidate constructor not viable: no known conversion from > 'std::experimental::optional' to 'const long long &' for 1st argument > [exec] constexpr optional(const T& v) : OptionalBase(v) {} > [exec] ^ > [exec] > /Users/tiborkiss/workspace/apache-hadoop/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/third_party/tr2/optional.hpp:449:13: > note: candidate constructor not viable: no known conversion from > 'std::experimental::optional' to 'long long &&' for 1st argument > [exec] constexpr optional(T&& v) : OptionalBase(constexpr_move(v)) > {} > [exec] ^ > [exec] 1 error generated. > [exec] make[2]: *** > [main/native/libhdfspp/lib/common/CMakeFiles/common_obj.dir/configuration.cc.o] > Error 1 > [exec] make[1]: *** > [main/native/libhdfspp/lib/common/CMakeFiles/common_obj.dir/all] Error 2 > [exec] make: *** [all] Error 2 > {noformat} > Compile error 2: > {noformat} > [exec] > /Users/tiborkiss/workspace/apache-hadoop/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/lib/fs/filesystem.cc:285:66: > error: use of overloaded operator '<<' is ambiguous (with operand types > 'hdfs::LogMessage' and 'size_type' (aka 'unsigned long')) > [exec] << " Existing thread count = " > << worker_threads_.size()); > [exec] > ~~~^~ >
[jira] [Updated] (HDFS-10354) Fix compilation & unit test issues on Mac OS X with clang compiler
[ https://issues.apache.org/jira/browse/HDFS-10354?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Tibor Kiss updated HDFS-10354: -- Attachment: HDFS-10354.HDFS-8707.001.patch > Fix compilation & unit test issues on Mac OS X with clang compiler > -- > > Key: HDFS-10354 > URL: https://issues.apache.org/jira/browse/HDFS-10354 > Project: Hadoop HDFS > Issue Type: Sub-task > Components: hdfs-client > Environment: OS X: 10.11 > clang: Apple LLVM version 7.0.2 (clang-700.1.81) >Reporter: Tibor Kiss >Assignee: Tibor Kiss > Attachments: HDFS-10354.HDFS-8707.001.patch > > > Compilation fails with multiple errors on Mac OS X. > Unit test test_test_libhdfs_zerocopy_hdfs_static also fails to execute on OS > X. > Compile error 1: > {noformat} > [exec] Scanning dependencies of target common_obj > [exec] [ 45%] Building CXX object > main/native/libhdfspp/lib/common/CMakeFiles/common_obj.dir/base64.cc.o > [exec] [ 45%] Building CXX object > main/native/libhdfspp/lib/common/CMakeFiles/common_obj.dir/status.cc.o > [exec] [ 46%] Building CXX object > main/native/libhdfspp/lib/common/CMakeFiles/common_obj.dir/sasl_digest_md5.cc.o > [exec] [ 46%] Building CXX object > main/native/libhdfspp/lib/common/CMakeFiles/common_obj.dir/hdfs_public_api.cc.o > [exec] [ 47%] Building CXX object > main/native/libhdfspp/lib/common/CMakeFiles/common_obj.dir/options.cc.o > [exec] [ 48%] Building CXX object > main/native/libhdfspp/lib/common/CMakeFiles/common_obj.dir/configuration.cc.o > [exec] > /Users/tiborkiss/workspace/apache-hadoop/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/lib/common/configuration.cc:85:12: > error: no viable conversion from 'optional' to 'optional' > [exec] return result; > [exec]^~ > [exec] > /Users/tiborkiss/workspace/apache-hadoop/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/third_party/tr2/optional.hpp:427:13: > note: candidate constructor not viable: no known conversion from > 'std::experimental::optional' to 'std::experimental::nullopt_t' for 1st > argument > [exec] constexpr optional(nullopt_t) noexcept : OptionalBase() {}; > [exec] ^ > [exec] > /Users/tiborkiss/workspace/apache-hadoop/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/third_party/tr2/optional.hpp:429:3: > note: candidate constructor not viable: no known conversion from > 'std::experimental::optional' to 'const > std::experimental::optional &' for 1st argument > [exec] optional(const optional& rhs) > [exec] ^ > [exec] > /Users/tiborkiss/workspace/apache-hadoop/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/third_party/tr2/optional.hpp:438:3: > note: candidate constructor not viable: no known conversion from > 'std::experimental::optional' to 'std::experimental::optional long> &&' for 1st argument > [exec] optional(optional&& rhs) > noexcept(is_nothrow_move_constructible::value) > [exec] ^ > [exec] > /Users/tiborkiss/workspace/apache-hadoop/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/third_party/tr2/optional.hpp:447:13: > note: candidate constructor not viable: no known conversion from > 'std::experimental::optional' to 'const long long &' for 1st argument > [exec] constexpr optional(const T& v) : OptionalBase(v) {} > [exec] ^ > [exec] > /Users/tiborkiss/workspace/apache-hadoop/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/third_party/tr2/optional.hpp:449:13: > note: candidate constructor not viable: no known conversion from > 'std::experimental::optional' to 'long long &&' for 1st argument > [exec] constexpr optional(T&& v) : OptionalBase(constexpr_move(v)) > {} > [exec] ^ > [exec] 1 error generated. > [exec] make[2]: *** > [main/native/libhdfspp/lib/common/CMakeFiles/common_obj.dir/configuration.cc.o] > Error 1 > [exec] make[1]: *** > [main/native/libhdfspp/lib/common/CMakeFiles/common_obj.dir/all] Error 2 > [exec] make: *** [all] Error 2 > {noformat} > Compile error 2: > {noformat} > [exec] > /Users/tiborkiss/workspace/apache-hadoop/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/lib/fs/filesystem.cc:285:66: > error: use of overloaded operator '<<' is ambiguous (with operand types > 'hdfs::LogMessage' and 'size_type' (aka 'unsigned long')) > [exec] << " Existing thread count = " > << worker_threads_.size()); > [exec] > ~~~^~ > {noformat} > There is an addition
[jira] [Updated] (HDFS-10354) Fix compilation & unit test issues on Mac OS X with clang compiler
[ https://issues.apache.org/jira/browse/HDFS-10354?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Tibor Kiss updated HDFS-10354: -- Status: Patch Available (was: Open) > Fix compilation & unit test issues on Mac OS X with clang compiler > -- > > Key: HDFS-10354 > URL: https://issues.apache.org/jira/browse/HDFS-10354 > Project: Hadoop HDFS > Issue Type: Sub-task > Components: hdfs-client > Environment: OS X: 10.11 > clang: Apple LLVM version 7.0.2 (clang-700.1.81) >Reporter: Tibor Kiss >Assignee: Tibor Kiss > Attachments: HDFS-10354.HDFS-8707.001.patch > > > Compilation fails with multiple errors on Mac OS X. > Unit test test_test_libhdfs_zerocopy_hdfs_static also fails to execute on OS > X. > Compile error 1: > {noformat} > [exec] Scanning dependencies of target common_obj > [exec] [ 45%] Building CXX object > main/native/libhdfspp/lib/common/CMakeFiles/common_obj.dir/base64.cc.o > [exec] [ 45%] Building CXX object > main/native/libhdfspp/lib/common/CMakeFiles/common_obj.dir/status.cc.o > [exec] [ 46%] Building CXX object > main/native/libhdfspp/lib/common/CMakeFiles/common_obj.dir/sasl_digest_md5.cc.o > [exec] [ 46%] Building CXX object > main/native/libhdfspp/lib/common/CMakeFiles/common_obj.dir/hdfs_public_api.cc.o > [exec] [ 47%] Building CXX object > main/native/libhdfspp/lib/common/CMakeFiles/common_obj.dir/options.cc.o > [exec] [ 48%] Building CXX object > main/native/libhdfspp/lib/common/CMakeFiles/common_obj.dir/configuration.cc.o > [exec] > /Users/tiborkiss/workspace/apache-hadoop/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/lib/common/configuration.cc:85:12: > error: no viable conversion from 'optional' to 'optional' > [exec] return result; > [exec]^~ > [exec] > /Users/tiborkiss/workspace/apache-hadoop/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/third_party/tr2/optional.hpp:427:13: > note: candidate constructor not viable: no known conversion from > 'std::experimental::optional' to 'std::experimental::nullopt_t' for 1st > argument > [exec] constexpr optional(nullopt_t) noexcept : OptionalBase() {}; > [exec] ^ > [exec] > /Users/tiborkiss/workspace/apache-hadoop/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/third_party/tr2/optional.hpp:429:3: > note: candidate constructor not viable: no known conversion from > 'std::experimental::optional' to 'const > std::experimental::optional &' for 1st argument > [exec] optional(const optional& rhs) > [exec] ^ > [exec] > /Users/tiborkiss/workspace/apache-hadoop/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/third_party/tr2/optional.hpp:438:3: > note: candidate constructor not viable: no known conversion from > 'std::experimental::optional' to 'std::experimental::optional long> &&' for 1st argument > [exec] optional(optional&& rhs) > noexcept(is_nothrow_move_constructible::value) > [exec] ^ > [exec] > /Users/tiborkiss/workspace/apache-hadoop/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/third_party/tr2/optional.hpp:447:13: > note: candidate constructor not viable: no known conversion from > 'std::experimental::optional' to 'const long long &' for 1st argument > [exec] constexpr optional(const T& v) : OptionalBase(v) {} > [exec] ^ > [exec] > /Users/tiborkiss/workspace/apache-hadoop/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/third_party/tr2/optional.hpp:449:13: > note: candidate constructor not viable: no known conversion from > 'std::experimental::optional' to 'long long &&' for 1st argument > [exec] constexpr optional(T&& v) : OptionalBase(constexpr_move(v)) > {} > [exec] ^ > [exec] 1 error generated. > [exec] make[2]: *** > [main/native/libhdfspp/lib/common/CMakeFiles/common_obj.dir/configuration.cc.o] > Error 1 > [exec] make[1]: *** > [main/native/libhdfspp/lib/common/CMakeFiles/common_obj.dir/all] Error 2 > [exec] make: *** [all] Error 2 > {noformat} > Compile error 2: > {noformat} > [exec] > /Users/tiborkiss/workspace/apache-hadoop/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/lib/fs/filesystem.cc:285:66: > error: use of overloaded operator '<<' is ambiguous (with operand types > 'hdfs::LogMessage' and 'size_type' (aka 'unsigned long')) > [exec] << " Existing thread count = " > << worker_threads_.size()); > [exec] > ~~~^~ > {noformat} > There is an addition compile
[jira] [Updated] (HDFS-10354) Fix compilation & unit test issues on Mac OS X with clang compiler
[ https://issues.apache.org/jira/browse/HDFS-10354?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Tibor Kiss updated HDFS-10354: -- Description: Compilation fails with multiple errors on Mac OS X. Unit test test_test_libhdfs_zerocopy_hdfs_static also fails to execute on OS X. Compile error 1: {noformat} [exec] Scanning dependencies of target common_obj [exec] [ 45%] Building CXX object main/native/libhdfspp/lib/common/CMakeFiles/common_obj.dir/base64.cc.o [exec] [ 45%] Building CXX object main/native/libhdfspp/lib/common/CMakeFiles/common_obj.dir/status.cc.o [exec] [ 46%] Building CXX object main/native/libhdfspp/lib/common/CMakeFiles/common_obj.dir/sasl_digest_md5.cc.o [exec] [ 46%] Building CXX object main/native/libhdfspp/lib/common/CMakeFiles/common_obj.dir/hdfs_public_api.cc.o [exec] [ 47%] Building CXX object main/native/libhdfspp/lib/common/CMakeFiles/common_obj.dir/options.cc.o [exec] [ 48%] Building CXX object main/native/libhdfspp/lib/common/CMakeFiles/common_obj.dir/configuration.cc.o [exec] /Users/tiborkiss/workspace/apache-hadoop/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/lib/common/configuration.cc:85:12: error: no viable conversion from 'optional' to 'optional' [exec] return result; [exec]^~ [exec] /Users/tiborkiss/workspace/apache-hadoop/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/third_party/tr2/optional.hpp:427:13: note: candidate constructor not viable: no known conversion from 'std::experimental::optional' to 'std::experimental::nullopt_t' for 1st argument [exec] constexpr optional(nullopt_t) noexcept : OptionalBase() {}; [exec] ^ [exec] /Users/tiborkiss/workspace/apache-hadoop/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/third_party/tr2/optional.hpp:429:3: note: candidate constructor not viable: no known conversion from 'std::experimental::optional' to 'const std::experimental::optional &' for 1st argument [exec] optional(const optional& rhs) [exec] ^ [exec] /Users/tiborkiss/workspace/apache-hadoop/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/third_party/tr2/optional.hpp:438:3: note: candidate constructor not viable: no known conversion from 'std::experimental::optional' to 'std::experimental::optional &&' for 1st argument [exec] optional(optional&& rhs) noexcept(is_nothrow_move_constructible::value) [exec] ^ [exec] /Users/tiborkiss/workspace/apache-hadoop/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/third_party/tr2/optional.hpp:447:13: note: candidate constructor not viable: no known conversion from 'std::experimental::optional' to 'const long long &' for 1st argument [exec] constexpr optional(const T& v) : OptionalBase(v) {} [exec] ^ [exec] /Users/tiborkiss/workspace/apache-hadoop/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/third_party/tr2/optional.hpp:449:13: note: candidate constructor not viable: no known conversion from 'std::experimental::optional' to 'long long &&' for 1st argument [exec] constexpr optional(T&& v) : OptionalBase(constexpr_move(v)) {} [exec] ^ [exec] 1 error generated. [exec] make[2]: *** [main/native/libhdfspp/lib/common/CMakeFiles/common_obj.dir/configuration.cc.o] Error 1 [exec] make[1]: *** [main/native/libhdfspp/lib/common/CMakeFiles/common_obj.dir/all] Error 2 [exec] make: *** [all] Error 2 {noformat} Compile error 2: {noformat} [exec] /Users/tiborkiss/workspace/apache-hadoop/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/lib/fs/filesystem.cc:285:66: error: use of overloaded operator '<<' is ambiguous (with operand types 'hdfs::LogMessage' and 'size_type' (aka 'unsigned long')) [exec] << " Existing thread count = " << worker_threads_.size()); [exec] ~~~^~ {noformat} There is an addition compile failure in native client related to thread_local. The complexity of the error mandates to track that issue in a separate ticket. {noformat} [exec] /Users/tiborkiss/workspace/apache-hadoop/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/lib/bindings/c/hdfs.cc:66:1: error: thread-local storage is not supported for the current target [exec] thread_local std::string errstr; [exec] ^ [exec] 1 warning and 1 error generated. [exec] make[2]: *** [main/native/libhdfspp/lib/bindings/c/CMakeFiles/bindings_c_obj.dir/hdfs.cc.o] Error 1 [exec] make[1]: *** [main/native/libhdfspp/lib/bindings/c/CMakeFiles/bindings_c_obj.dir/all] Error 2 [exec] make: *** [all] Error 2 {noformat} Unit