idaholab / conda-moose

A repository designed to hold the necessary formulas to build the MOOSE Environment packages designed for Conda distribution.
4 stars 4 forks source link

boost-system missing #39

Closed dschwen closed 4 years ago

dschwen commented 4 years ago

when installing only up to moose-petsc configuring libmesh/metaphysicl fails with a missing boost/system/error_code.hpp message.

dschwen commented 4 years ago

conda install boost fixes this (should be installed automatically as a dependency)

milljm commented 4 years ago

@dschwen I might be inclined to put this in moose-tools. But I don't think it belongs in moose-petsc. PETSc does not depend on Boost. libMesh does. So I can see the reason for adding boost to moose-libmesh (which I will do, as it currently is not in there...).

I am not sure where to place this dependency for a developer. You, being a developer knew to conda install boost. A normal user will not be installing only moose-petsc. I suppose it wouldn't hurt to place the dependency in moose-petsc...

aeslaughter commented 4 years ago

The boost system is not missing, when we get the basic stack working as is we will add that ability to optionally add boost and rely on conda to do the correct thing.

conda install moose-libmesh will use a libmesh without boost

conda install moose-libmesh boost will use a libmesh with boost

This is the most flexible way to do this stuff and it is supported by conda, the VTK package does this with OSMESA.

milljm commented 4 years ago

Leaving open, until we figure out how to do what Andrew mentioned.

milljm commented 4 years ago

@dschwen and @aeslaughter cause maybe you have an idea.

I am not sure this is possible. And I am pretty frustrated over it. Bad on Conda if I am actually right about this.

It would appear, that in order to make use of 'features', one needs some measure of control over the recipe of the feature you're trying to track (meaning I need to alter conda-forge's boost package). I know this sounds crazy. The Boost recipe needs the 'track_features' added to it:

package:
  name: boost
  version: 1.0
build:
  track_features: <----- Add these two lines to boost recipe so 
    - boost       <----/ other recipes can... track it? That doesn't sound right.

Sure enough: features

Example: VTK is creating a 'feature'. Which, if the user also installs mesalib, VTK specifically built with mesa will be installed instead. But first, mesalib must add the track_features ...TO ITSELF...?.

WHY this is necessary, I have no idea. As far as I can tell, it's harmless to have 'track_features' enabled in a recipe. It's like you have to opt-in your recipe to allow it to be tracked or something.

milljm commented 4 years ago

I will gladly re-open this, if/when someone/me figures this out.

milljm commented 4 years ago

I've posted my question about this with conda-forge: https://groups.google.com/forum/#!topic/conda-forge/MZtoCXkstOQ