conda-forge / perl-feedstock

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

Use gcc package on linux. #12

Closed johanneskoester closed 6 years ago

johanneskoester commented 7 years ago

In the effort to come up with a common build environment, as far as we know, bioconda and conda-forge agreed to use the gcc package for building stuff on linux. This PR adds gcc to the build requirements for perl, which is used heavily by bioconda packages. The current way of building this with the system gcc on conda-forge/linux-anvil causes problems because it is a different version with different features than the gcc package that is used to build perl packages on bioconda.

@jerowe, @nsoranzo, @bgruening

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

jakirkham commented 7 years ago

When/where was this agreed to or even discussed?

johanneskoester commented 7 years ago

There was a conda-forge meeting that me and @bgruening attended. It was decided that @msarahan would make a poll, and if I remember correctly we agreed to stick to whatever comes out of that poll. Our collective memory at bioconda tells us that the result was to use the gcc package. We did exactly that since then. @bgruening, am I right?

msarahan commented 7 years ago

I think we agreed to work towards this, but it was in the context of a new GCC package, not the current one.

By including all compilers in one package, the current one causes issues, especially on Mac. Please wait. @mingwandroid and I are close to new packages. They'll need to be tested and approved before conda forge should adopt them, but I'm hopeful that they'll greatly improve the ecosystem.

On Thu, Feb 23, 2017, 07:45 jakirkham notifications@github.com wrote:

When/where was this agreed to or even discussed?

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/conda-forge/perl-feedstock/pull/12#issuecomment-281994975, or mute the thread https://github.com/notifications/unsubscribe-auth/AACV-a3tYyYn4imZOQsPh9mu4b1tiSXFks5rfY1-gaJpZM4MJ9ma .

ocefpaf commented 7 years ago

@mingwandroid and I are close to new

packages. They'll need to be tested and approved before conda forge should adopt them, but I'm hopeful that they'll greatly improve the ecosystem.

Mike, I thought this idea was dead. It is good to know that you guys did not gave up!

I agree that this will be an awesome additions to the ecosystem! Looking forward to test it.

johanneskoester commented 7 years ago

That's good news. In that case, we might have misunderstood the result. Am I right that conda-forge recently switched to gcc 4.9 in the linux-anvil container?

jakirkham commented 7 years ago

We have not changed the compiler version in the docker image. It has remained the same for nearly a year.

nsoranzo commented 7 years ago

The gcc in the Docker image is 4.8.2 20140120 (Red Hat 4.8.2-15). The problem is that it contains a backport of -fstack-protector-strong which causes this issue in Bioconda: https://github.com/bioconda/bioconda-recipes/pull/3839

johanneskoester commented 7 years ago

Thanks @nsoranzo for clarifying. Sorry, I should have read that thread more carefully.

msarahan commented 7 years ago

@ocefpaf never dead, just taking a lot longer than any of us would like. =(

Soon...

ocefpaf commented 7 years ago

@ocefpaf https://github.com/ocefpaf never dead, just taking a lot longer than any of us would like. =(

No pressure. I'd love to help more but for now all I can do is to help test it.

Thanks you both for this effort!

bgruening commented 7 years ago

These are fantastic news @msarahan and @mingwandroid! @johanneskoester for us this means we can remove the explicit gcc requirement from perl-gcc packages for the time being if we don't get this PR through.

johanneskoester commented 7 years ago

Yes, that is what I thought as well.

ocefpaf commented 7 years ago

if we don't get this PR through.

Let's discussion this further about the pros and cons of this PR before we dismiss it entirely.

jerowe commented 7 years ago

While I am really excited about any and all improvements to conda, this whole perl thing is beginning to seriously cramp my style. What do you guys recommend? Just remove the conda gcc as a requirement from any and all perl packages?

bgruening commented 7 years ago

@jerowe yes remove the GCC for the time being and hope the best that we get quickly a new GCC conda package.

jerowe commented 7 years ago

If I fire up the conda-forge/linux-anvil image, then if I run which gcc, I get nothing. How does gcc get pulled in the conda-forge image?

jakirkham commented 7 years ago

How are you starting up the image?

jerowe commented 7 years ago

docker run --rm -t -i -v pwd:/conda-recipes:Z --entrypoint /bin/bash condaforge/linux-anvil

jakirkham commented 7 years ago

Changing the entrypoint is causing the issue. We configure the compiler in the entrypoint script. We also set the default command to /bin/bash so that is not necessary, but you can add another command if you want.

jerowe commented 7 years ago

@johanneskoester @bgruening , are we using the conda-forge entry point (and getting the conda-forge gcc) or no?

jakirkham commented 6 years ago

IIUC the builds with the new compilers ( https://github.com/conda-forge/perl-feedstock/pull/27 ) resolve this issue.

Should we close or am I missing something?

bgruening commented 6 years ago

Yes this can be closed.