这是indexloc提供的服务,不要输入任何密码
Skip to content

How to disable anaconda's compilers during environment activation? #9172

@shadowwalkersb

Description

@shadowwalkersb

In our software development workflow we use miniconda/anaconda to download and install binary dependencies. We have a metapackage which has the dependencies listed as build and run requirements. With the new compilers, our build workflow got broken. As a workaround, until we update our build system to use the new compilers, we simply added an activation script that unsets compiler related environment variables. That seems to work on Mac, but on Linux doesn't work, and I don't remember if it worked initially and changed later. Initially the assumption was that the activation script of our metapackage would run the last, so we can unset any env var set by anaconda's compilers. I don't know if that was a wrong assumption. So,

  1. Is there a recommended way to disable the new compilers when installing our metapackage?
  2. Is is possible to change some of the environment variables as needed? I guess, for this to work, there should be an order of activation of activation scripts of different packages?
  3. The problematic linker flag seems to be -Wl,-dead_strip_dylibs. It results in errors like this.
ImportError: dlopen(/Users/shadow_walker/some-path/envs/eman-deps-8/lib/python2.7/site-packages/libEM2.so, 2): Symbol not found: _cblas_caxpy
  Referenced from: /Users/shadow_walker/some-path/envs/eman-deps-8/lib/libgsl.23.dylib
  Expected in: flat namespace
 in /Users/shadow_walker/some-path/envs/eman-deps-8/lib/libgsl.23.dylib

It may not be conda/anaconda related exactly, but am posting it here hoping someone would have a suggestion.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions