[
https://issues.apache.org/jira/browse/HDFS-7012?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14157866#comment-14157866
]
Zhanwei Wang commented on HDFS-7012:
------------------------------------
Hi Colin
I try to build the patch on OSX 10.9 with latest xcode SDK and command line
tools and get following warning and error.
1. Seems the quotation mark is not used correctly.
{code}
CMake Warning (dev) at CMakeLists.txt:32 (INCLUDE):
Syntax Warning in cmake code at
/Users/wangzw/workspace/hadoop/hadoop-latest/hadoop-hdfs-project/hadoop-hdfs/src/contrib/libhdfs3/CMake/Platform.cmake:31:42
Argument not separated from preceding token by whitespace.
This warning is for project developers. Use -Wno-dev to suppress it.
{code}
2. Seems libc++ in clang has already dropped namespace "tr1"
{code}
In file included from
/Users/wangzw/workspace/hadoop/hadoop-latest/hadoop-hdfs-project/hadoop-hdfs/src/contrib/libhdfs3/src/client/LocalBlockReader.cc:24:
In file included from
/Users/wangzw/workspace/hadoop/hadoop-latest/hadoop-hdfs-project/hadoop-hdfs/src/contrib/libhdfs3/src/client/LocalBlockReader.h:26:
/Users/wangzw/workspace/hadoop/hadoop-latest/hadoop-hdfs-project/hadoop-hdfs/src/contrib/libhdfs3/src/common/SharedPtr.h:22:10:
fatal error:
'tr1/memory' file not found
#include <tr1/memory>
^
1 error generated.
make[2]: *** [src/CMakeFiles/libhdfs3-shared.dir/client/LocalBlockReader.cc.o]
Error 1
make[1]: *** [src/CMakeFiles/libhdfs3-shared.dir/all] Error 2
make: *** [all] Error 2
{code}
My gcc version
{code}
zhanwei-wang:build wangzw$ gcc --version
Configured with: --prefix=/Applications/Xcode6-Beta.app/Contents/Developer/usr
--with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 6.0 (clang-600.0.34.4) (based on LLVM 3.5svn)
Target: x86_64-apple-darwin13.4.0
Thread model: posix
zhanwei-wang:build wangzw$ which gcc
/usr/bin/gcc
{code}
3. should move setNoSigPipe into namesapce hdfs::internal
{code}
/Users/wangzw/workspace/hadoop/hadoop-latest/hadoop-hdfs-project/hadoop-hdfs/src/contrib/libhdfs3/src/network/TcpSocket.cc:60:15:
error:
unknown type name 'HdfsNetworkException'; did you mean
'hdfs::HdfsNetworkException'?
THROW(HdfsNetworkException, "Set socket flag failed for remote "
^~~~~~~~~~~~~~~~~~~~
hdfs::HdfsNetworkException
{code}
4. setNoSigPipe could be a private member function, but should not be a static
function. Since it refer member parameter remoteAddr
{code}
/Users/wangzw/workspace/hadoop/hadoop-latest/hadoop-hdfs-project/hadoop-hdfs/src/contrib/libhdfs3/src/network/TcpSocket.cc:64:30:
error:
use of undeclared identifier 'remoteAddr'
"node %s: %s", remoteAddr.c_str(), GetSystemErrorInfo(errno));
{code}
5. missing "Permission.cc"
{code}
Undefined symbols for architecture x86_64:
"hdfs::Permission::Permission(unsigned short)", referenced from:
hdfs::internal::NamenodeImpl::getListing(std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char> > const&,
std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char> > const&, bool, std::__1::vector<hdfs::FileStatus,
std::__1::allocator<hdfs::FileStatus> >&) in NamenodeImpl.cc.o
hdfs::internal::NamenodeImpl::getFileInfo(std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char> > const&) in
NamenodeImpl.cc.o
ld: symbol(s) not found for architecture x86_64
{code}
6. add license header in GenerateProtobufs.cmake
> Add hdfs native client RPC functionality
> ----------------------------------------
>
> Key: HDFS-7012
> URL: https://issues.apache.org/jira/browse/HDFS-7012
> Project: Hadoop HDFS
> Issue Type: Sub-task
> Components: hdfs-client
> Reporter: Zhanwei Wang
> Assignee: Colin Patrick McCabe
> Attachments: HADOOP-7012-pnative.002.patch, HDFS-7012.patch
>
>
> Implement a module for libhdfs3 to provide basic function of TCP client.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)