[ 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