[
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: [email protected]
For additional commands, e-mail: [email protected]