conda-forge / ctng-compilers-feedstock

A conda-smithy repository for ctng-compilers.
BSD 3-Clause "New" or "Revised" License
12 stars 28 forks source link

Allow binary relocation #74

Closed isuruf closed 3 years ago

isuruf commented 3 years ago

Checklist

conda-forge-linter commented 3 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.

mattgodbolt commented 3 years ago

Do note there's one place where there's a manual rpath fiddle...one sec...

mattgodbolt commented 3 years ago

https://github.com/conda-forge/ctng-compilers-feedstock/search?q=patchelf - both the build for libgcc and libgfortan do their own patching (at apparently the need of other folks needing a working rpath)

isuruf commented 3 years ago

Yes, that's what conda-build does with binary_relocation: True. So those workarounds are not needed anymore.

mattgodbolt commented 3 years ago

I was hoping it was an easy fix. But, the fact it was explicitly turned off (though we could find nothing in the git history as to why) made me concerned there was something we were missing (Chesterton's Fence and all that)

isuruf commented 3 years ago

It was introduced in https://github.com/AnacondaRecipes/aggregate/commit/4adb51ccc6a654f37b0033c467d822f6c3e3bdf5 along with detect_binary_files_with_prefix. binary_relocation: False and detect_binary_files_with_prefix: False are two options we usually turn off when we deal with repackaging a binary that is already relocatable, so binary_relocation might have been inadvertently added.

(I can understand the need for detect_binary_files_with_prefix because gcc embeds the config options that gcc was compiled within the binaries and those are harmless. setting detect_binary_files_with_prefix: True would have meant that each binary has to be postprocessed at conda install time and then multiple environments will have multiple copies invalidating the use of hard links that conda use for the environments.)

isuruf commented 3 years ago

:crossed_fingers: