conda-forge / openblas-feedstock

A conda-smithy repository for openblas.
BSD 3-Clause "New" or "Revised" License
9 stars 38 forks source link

Rebuild for Python 3.7, GCC 7, R 3.5.1, openBLAS 0.3.2 #51

Closed regro-cf-autotick-bot closed 5 years ago

regro-cf-autotick-bot commented 6 years ago

It is likely this feedstock needs to be rebuilt. Notes and instructions for merging this PR:

  1. Please merge the PR only after the tests have passed.
  2. Feel free to push to the bot's branch to update this PR if needed.

Please note that if you close this PR we presume that the feedstock has been rebuilt, so if you are going to perform the rebuild yourself don't close this PR until the your rebuild has been merged.

This package has the following downstream children: adept armadillo bob.math caffe casacore And potentially more.

If this PR was opened in error or needs to be updated please add the bot-rerun label to this PR. The bot will close this PR and schedule another one.

This PR was created by the cf-regro-autotick-bot. The cf-regro-autotick-bot is a service to automatically track the dependency graph, migrate packages, and propose package version updates for conda-forge. If you would like a local version of this bot, you might consider using rever. Rever is a tool for automating software releases and forms the backbone of the bot's conda-forge PRing capability. Rever is both conda (conda install -c conda-forge rever) and pip (pip install re-ver) installable. Finally, feel free to drop us a line if there are any issues!

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.

bgruening commented 6 years ago

Upps Program received signal SIGSEGV: Segmentation fault - invalid memory reference.

jakirkham commented 6 years ago

This is the CircleCI build. Also attached the log file.

mariusvniekerk commented 5 years ago

There are a few patches in the AnacondaRecipes version that we may need.

The main thing seems to be we are missing the USE_OPENMP="1" environment variable setting as suggested here https://github.com/xianyi/OpenBLAS/issues/218

jakirkham commented 5 years ago

Looks like issue ( https://github.com/xianyi/OpenBLAS/issues/579 ).

cc @mingwandroid

jakirkham commented 5 years ago

Think those are the patches that we added to build on Windows. We should already have all of them. Is there one you see we are missing?

mariusvniekerk commented 5 years ago

Notably the build.sh looks quite different

https://github.com/AnacondaRecipes/openblas-feedstock/blob/master/recipe/build.sh#L7-L8

https://github.com/AnacondaRecipes/openblas-feedstock/blob/master/recipe/build.sh#L23

https://github.com/AnacondaRecipes/openblas-feedstock/blob/master/recipe/build.sh#L35

jakirkham commented 5 years ago

This commit ( https://github.com/AnacondaRecipes/openblas-feedstock/commit/a6b3811fa6e3196a97bb385cf6e9a6ec5527d449 ) looks promising.

jakirkham commented 5 years ago

Would discourage using OpenMP here as Python multiprocessing uses forking, which is known to cause segfaults with GOMP. The error one gets is very unfriendly (program crashes randomly). One could produce this simply by importing numpy and then forking.

ref: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58378

mariusvniekerk commented 5 years ago

https://github.com/xianyi/OpenBLAS/wiki/faq#Linux_SEGFAULT

jakirkham commented 5 years ago

Yeah, was also reading that. Either trying to disable TLS or using that patch is a good idea. Possibly both.

mariusvniekerk commented 5 years ago

guess we need both

conda-forge-linter commented 5 years ago

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

I wanted to let you know that I linted all conda-recipes in your PR (recipe) and found some lint.

Here's what I've got...

For recipe:

conda-forge-linter commented 5 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 5 years ago

Thanks for exploring this Marius. 😄

Raised issue ( https://github.com/xianyi/OpenBLAS/issues/1766 ) to see if we can set USE_TLS=0 in the future.

mingwandroid commented 5 years ago

Is it possible to add a test for the fork issue? I'd be tempted to apply @njsmith's patch for libgomp here instead, Nathaniel, can you comment on this idea if you have time please?

jakirkham commented 5 years ago

It might be checking whether USE_OPENMP is defined instead of its value. Leaving it undefined may fix it.

jakirkham commented 5 years ago

Wouldn’t the patch need to go in the GCC build? Does it still apply cleanly?

njsmith commented 5 years ago

I haven't looked at that patch in years, so no idea if it still applies cleanly. Also, does conda even distribute its own openmp runtime libraries? I thought those were part of libgcc or something...

mariusvniekerk commented 5 years ago

conda does distribute its own libgcc ....

mingwandroid commented 5 years ago

Also, does conda even distribute its own openmp runtime libraries?

Yes, 'AD' provides its own in the libgcc-ng_linux-* packages.

mariusvniekerk commented 5 years ago

@isuruf Can you help this poor recipe out?

isuruf commented 5 years ago

This shouldn't affect windows