[ 
https://issues.apache.org/jira/browse/HADOOP-8196?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Eugene Koontz updated HADOOP-8196:
----------------------------------

        Fix Version/s: 0.24.0
    Affects Version/s: 0.24.0
               Status: Patch Available  (was: Open)
    
> avoid linker's stripping of dead code from interfering with configure's 
> library name resolution
> -----------------------------------------------------------------------------------------------
>
>                 Key: HADOOP-8196
>                 URL: https://issues.apache.org/jira/browse/HADOOP-8196
>             Project: Hadoop Common
>          Issue Type: Bug
>          Components: native
>    Affects Versions: 0.24.0
>            Reporter: Eugene Koontz
>             Fix For: 0.24.0
>
>
> The configure script generated by 
> hadoop-common/hadoop-common-project/hadoop-common/src/main/native/configure.ac
>  uses the AC_COMPUTE_NEEDED_DSO m4 macro to generate a small probe program in 
> C which it then compiles and links, and then scans the resultant binary to 
> find the names of certain libraries: currently this is used for Zlib and 
> Snappy.
> I was unable to compile with -Pnative on my Ubuntu Linux install because 
> configure could not find libz and libsnappy. This turned out to be because 
> the linker is removing the dependencies on libz and libsnappy at link-time 
> because the libraries in question are not used in the simple probe code 
> generated by the AC_COMPUTE_NEEDED_DSO m4 macro.
> So my fix is modify the AC_COMPUTE_NEEDED_DSO to take another parameter that 
> copies the given argument's text into the C program. Then, in the call to 
> AC_COMPUTE_NEEDED_DSO, we can use this additional parameter, to include, in 
> the generated C code, an actual library function call for each library. This 
> prevents the linker from removing the linkage to the desired libraries.
> My gcc and ldd version information are given below:
> {code}
> eugene@latitude:~/hadoop-common$ gcc --version
> gcc (Ubuntu/Linaro 4.6.3-1ubuntu3) 4.6.3
> Copyright (C) 2011 Free Software Foundation, Inc.
> This is free software; see the source for copying conditions.  There is NO
> warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
> eugene@latitude:~/hadoop-common$ ld --version
> GNU ld (GNU Binutils for Ubuntu) 2.22
> Copyright 2011 Free Software Foundation, Inc.
> This program is free software; you may redistribute it under the terms of
> the GNU General Public License version 3 or (at your option) a later version.
> This program has absolutely no warranty.
> {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to