[
https://issues.apache.org/jira/browse/HADOOP-8806?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13455525#comment-13455525
]
Andy Isaacson commented on HADOOP-8806:
---------------------------------------
{quote}
bq. you cannot link a .a into a .so
Sure you can. You can always use ar to pull out the objects and then include
them into your own library.
{quote}
Only if the objects were compiled {{-fPIC}} and any other requirements are met.
My understanding is that PIC is still an issue in the amd64 ABI but I'd have
to go check to make sure...
I'd strongly recommend that we continue to dynamically link against
libsnappy.so, using LD_LIBRARY_PATH if at all possible, but even parsing
{{java.library.path}} and iterating it to dlopen would be OK.
> libhadoop.so: search java.library.path when calling dlopen
> ----------------------------------------------------------
>
> Key: HADOOP-8806
> URL: https://issues.apache.org/jira/browse/HADOOP-8806
> Project: Hadoop Common
> Issue Type: Improvement
> Reporter: Colin Patrick McCabe
> Priority: Minor
>
> libhadoop calls {{dlopen}} to load {{libsnappy.so}} and {{libz.so}}. These
> libraries can be bundled in the {{$HADOOP_ROOT/lib/native}} directory. For
> example, the {{-Dbundle.snappy}} build option copies {{libsnappy.so}} to this
> directory. However, snappy can't be loaded from this directory unless
> {{LD_LIBRARY_PATH}} is set to include this directory.
> Should we also search {{java.library.path}} when loading these libraries?
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira