[ 
https://issues.apache.org/jira/browse/HADOOP-2009?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12679049#action_12679049
 ] 

Lars Francke commented on HADOOP-2009:
--------------------------------------

I have a similar problem using FreeBSD 7.1.

ac_cv_libname_$1="`objdump -p conftest | grep NEEDED | grep $1 | sed 
's/\W*NEEDED\W*\(.*\)\W*$/\"\1\"/'`"

A sample objdump output line is:
  NEEDED      libc.so.7
the sed regex resolves this to:
"      libc.so.7"
with four extra spaces in front of the lib name. This causes the lib to fail 
loading.
Manually changing the config.h works but I don't know how to fix this regex.

To find this out I changed the following line in ZLibCompressor (and the other 
files):
                THROW(env, "java/lang/UnsatisfiedLinkError", "Cannot load 
libz.so");
to
                THROW(env, "java/lang/UnsatisfiedLinkError", dlerror());
and changed ZlibCompressor.java to include a LOG and actually output the 
exception message thrown in the native code. As it is now the message is simply 
discarded and the only message that is shown is "Failed to load/initialize 
native-zlib library". Not very helpful :)

I'm not sure if I should open a new issue for this last part but I believe it 
would be a sensible default behaviour.

> configure script for compiling hadoop native doesn't set lzo lib name 
> correctly
> -------------------------------------------------------------------------------
>
>                 Key: HADOOP-2009
>                 URL: https://issues.apache.org/jira/browse/HADOOP-2009
>             Project: Hadoop Core
>          Issue Type: Bug
>          Components: build
>    Affects Versions: 0.13.1
>         Environment: Fedora, amd64
>            Reporter: Joydeep Sen Sarma
>            Assignee: Arun C Murthy
>
> Looks like this was already reported (but not resolved on the the list): 
> http://tinyurl.com/2rwu6x
> I would like to compile libhadoop on amd64/Fedora and everything seems kosher 
> until I hit this compile error:
>      [exec] 
> /home/jssarma/fbprojects/hadoop-0.13.1/src/native/src/org/apache/hadoop/io/compress/lzo/LzoCompressor.c:116:
>  error: syntax error before ',' token
> the line in question is:
>     // Load liblzo2.so                                                        
>                             
>     liblzo2 = dlopen(HADOOP_LZO_LIBRARY, RTLD_LAZY | RTLD_GLOBAL);
> seems like this is being set by:
> configure:#define HADOOP_LZO_LIBRARY ${ac_cv_libname_lzo2}
> I tried executing the relevant part of configure by hand:
>   if test -z "`${CC} -o conftest conftest.c -llzo2 2>&1`"; then
>         if test ! -z "`which objdump`"; then
>       ac_cv_libname_lzo2="`objdump -p conftest | grep NEEDED | grep lzo2 | 
> sed 's/\W*NEEDED\W*\(.*\)\W*$/\
> \"\1\"/'`"
> This is not working on my system, since:
> > objdump -p conftest | grep NEEDED                         
>   NEEDED      libc.so.6
> So that would explain the compile error. Editing the configure script 
> manually for now works.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to