[ 
https://issues.apache.org/jira/browse/HDFS-11971?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Anatoli Shein updated HDFS-11971:
---------------------------------
    Attachment: HDFS-11971.HDFS-8707.001.patch

Thanks for the review [~James C]. I just moved the relocation of the files to a 
separate jira (HDFS-11973) so that it will be easier to review.

In the new patch here (attached) I addressed all the portability issued 
mentioned in the jira description and also the Protobuf linking problem 
mentioned in my previous comment. The problem was that ${PROTOBUF_INCLUDE_DIRS} 
was missing from the cmake command 'include_directories', and because of that I 
would get protobuf errors during the build of libhdfspp as a stand alone 
library. Now all the linking errors should be resolved. Please review the new 
patch.

> libhdfs++: A few portability issues
> -----------------------------------
>
>                 Key: HDFS-11971
>                 URL: https://issues.apache.org/jira/browse/HDFS-11971
>             Project: Hadoop HDFS
>          Issue Type: Sub-task
>          Components: hdfs-client
>            Reporter: Anatoli Shein
>            Assignee: Anatoli Shein
>         Attachments: HDFS-11971.HDFS-8707.000.patch, 
> HDFS-11971.HDFS-8707.001.patch
>
>
> I recently encountered a few portability issues with libhdfs++ while trying 
> to build it as a stand alone project (and also as part of another Apache 
> project).
> 1. Method fixCase in configuration.h file produces a warning "conversion to 
> ‘char’ from ‘int’ may alter its value [-Werror=conversion]" which does not 
> allow libhdfs++ to be compiled as part of the codebase that treats such 
> warnings as errors (can be fixed with a simple cast).
> 2. In CMakeLists.txt file (in libhdfspp directory) we do 
> find_package(Threads) however we do not link it to the targets (e.g. 
> hdfspp_static), which causes the build to fail with pthread errors. After the 
> Threads package is found we need to link it using ${CMAKE_THREAD_LIBS_INIT}.
> 3. All the tools and examples fail to build as part of a standalone libhdfs++ 
> because they are missing multiple libraries such as protobuf, ssl, pthread, 
> etc. This happens because we link them to a shared library hdfspp instead of 
> hdfspp_static library. We should either link all the tools and examples to 
> hdfspp_static library or explicitly add linking to all missing libraries for 
> each tool/example.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to