Wrapping Previously Installed Libraries by a Conda Package
See original GitHub issueDiscussion Topic: Package type between CDT and Conventional
How do I develop a package which wraps a library not installed by conda? An example of such libraries would be those whose distribution is limited or restricted. e.g.
- Oracle JDK
- mpich and openmpi: https://conda-forge.org/docs/user/tipsandtricks.html#using-external-message-passing-interface-mpi-libraries
Context:
We write open-source plugins for various proprietary software (mostly modeling tools (UML, SysML, etc.)).
While developing (testing) these tools we need to cycle through all the versions of those tools and their libraries.
The binaries for these libraries are not freely distributed; the access to these libraries is not a simple download from a url.
I can make conda-forge packages for these libraries but the source: url:
is problematic.
Case Study: An example is the oracle-jdk; the PR for oracle-jdk package. It illustrates the point, the contributor eventually abandoned it. There is another oracle jdk package which seems to work on linux.
Goal: Develop a consistent way of handling packages which wrap libraries which are not installed using conda.
Ref:
Issue Analytics
- State:
- Created a year ago
- Comments:41 (17 by maintainers)
Top GitHub Comments
As I’ve said before, I don’t know why you need to do “discovery” prematurely. You can do it all in an activate script. It doesn’t seem to me that you need new features.
An important consideration is what is the reach of the libraries “F” “M” “H”? Can users realistically use them, or is it a niche application.
Niche applications are probably best left for your own channel where you can make things match to your own machine based on the specifics of your installation.
The NVIDIA recipe I’m thinking of is: https://github.com/conda-forge/cudnn-feedstock
We use it to build things like pytorch and tensorflow with GPU support.