[ 
https://issues.apache.org/jira/browse/HDFS-11971?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16053971#comment-16053971
 ] 

Anatoli Shein commented on HDFS-11971:
--------------------------------------

Thank you for the review, [~James C]!

The cmake option 'set_target_properties' did not cause issues for the build, 
however I think while we are fixing the linking in these cmake files it also 
makes sense to make them consistent.

For example currently 'connect_cancel.c' builds to the executable 
'connect_cancel_c', and its CMakeLists.txt file has 'set_target_properties' 
even though it is redundant since there is only one executable 
'connect_cancel_c' in the project. Also 'connect_cancel.cc' does not do 
'set_target_properties' while the rest of the examples in 'cc' folder do. In 
order to make things consistent I just removed 'set_target_properties' from all 
the examples and just named executables in 'c' folder as follows: cat_c, 
connect_cancel_c; and in 'cc' folder the executables will still be cat, 
connect_cancel, find, gendirs.

Please let me know if you agree with this modification.

> 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, HDFS-11971.HDFS-8707.002.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: hdfs-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org

Reply via email to