conda-forge / curl-feedstock

A conda-smithy repository for curl.
BSD 3-Clause "New" or "Revised" License
3 stars 42 forks source link

Disable dtags when linking on Linux #29

Closed nsoranzo closed 6 years ago

nsoranzo commented 6 years ago

Without this, the libcurl.so library will have RUNPATH set instead of RPATH, which means that LD_LIBRARY_PATH would have higher precedence when the linker searches for libraries.

Fix https://github.com/conda-forge/curl-feedstock/issues/24 , which I'm also experiencing in a cluster environment where LD_LIBRARY_PATH is forcibly set.

conda-forge-linter commented 6 years ago

Hi! This is the friendly automated conda-forge-linting service.

I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

nsoranzo commented 6 years ago

Green!

ocefpaf commented 6 years ago

@isuruf can you take a quick look at this?

jakirkham commented 6 years ago

LGTM

jakirkham commented 6 years ago

cc @mingwandroid

mingwandroid commented 6 years ago

LGTM, thanks. BTW when conda-build 3 is being used this is either warned about or becomes a fatal error (which I strongly prefer) if you put pass --error-overlinking on the command-line or set conda_build/error_overlinking: true in ~/.condarc.

mingwandroid commented 6 years ago

I'm not sure why the AD builds are not using DT_RUNTAG though (but am happy they are not):

readelf -d /opt/conda/pkgs/libcurl-7.59.0-h1ad7b7a_0/lib/libcurl.so                                                                                                                                                                             

Dynamic section at offset 0x72360 contains 26 entries:                                                                                                                                                                                                                         
  Tag        Type                         Name/Value                                                                                                                                                                                                                           
 0x0000000000000001 (NEEDED)             Shared library: [libssl.so.1.0.0]                                                                                                                                                                                                     
 0x0000000000000001 (NEEDED)             Shared library: [libcrypto.so.1.0.0]                                                                                                                                                                                                  
 0x0000000000000001 (NEEDED)             Shared library: [libz.so.1]                                                                                                                                                                                                           
 0x0000000000000001 (NEEDED)             Shared library: [librt.so.1]                                                                                                                                                                                                          
 0x0000000000000001 (NEEDED)             Shared library: [libpthread.so.0]                                                                                                                                                                                                     
 0x0000000000000001 (NEEDED)             Shared library: [libc.so.6]                                                                                                                                                                                                           
 0x000000000000000e (SONAME)             Library soname: [libcurl.so.4]                                                                                                                                                                                                        
 0x000000000000000f (RPATH)              Library rpath: [$ORIGIN/.]                                                                                                                                                                                                            
 0x000000000000000c (INIT)               0x97b8                                                                                                                                                                                                                                
 0x000000000000000d (FINI)               0x59e4c                                                                                                                                                                                                                               
 0x0000000000000004 (HASH)               0x190                                                                                                                                                                                                                                 
 0x0000000000000005 (STRTAB)             0x3630                                                                                                                                                                                                                                
 0x0000000000000006 (SYMTAB)             0x12f0                                                                                                                                                                                                                                
 0x000000000000000a (STRSZ)              6031 (bytes)                                                                                                                                                                                                                          
 0x000000000000000b (SYMENT)             24 (bytes)                                                                                                                                                                                                                            
 0x0000000000000003 (PLTGOT)             0x272540                                                                                                                                                                                                                              
 0x0000000000000007 (RELA)               0x5150                                                                                                                                                                                                                                
 0x0000000000000008 (RELASZ)             18024 (bytes)                                                                                                                                                                                                                         
 0x0000000000000009 (RELAENT)            24 (bytes)                                                                                                                                                                                                                            
 0x0000000000000018 (BIND_NOW)                                                                                                                                                                                                                                                 
 0x000000006ffffffb (FLAGS_1)            Flags: NOW                                                                                                                                                                                                                            
 0x000000006ffffffe (VERNEED)            0x50b0                                                                                                                                                                                                                                
 0x000000006fffffff (VERNEEDNUM)         3                                                                                                                                                                                                                                     
 0x000000006ffffff0 (VERSYM)             0x4dc0                                                                                                                                                                                                                                
 0x000000006ffffff9 (RELACOUNT)          401                                                                                                                                                                                                                                   
 0x0000000000000000 (NULL)               0x0