[jira] [Updated] (HDFS-10354) Fix compilation & unit test issues on Mac OS X with clang compiler

2018-10-26 Thread James Clampffer (JIRA)


 [ 
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

2016-05-03 Thread Tibor Kiss (JIRA)

 [ 
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

2016-05-02 Thread Tibor Kiss (JIRA)

 [ 
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

2016-05-02 Thread Tibor Kiss (JIRA)

 [ 
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

2016-05-02 Thread Tibor Kiss (JIRA)

 [ 
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

2016-05-02 Thread Tibor Kiss (JIRA)

 [ 
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