cavalab / brush

An interpretable machine learning library
http://cavalab.org/brush/
GNU General Public License v3.0
2 stars 0 forks source link

Brush is incompatible with MacOS #16

Open JDRomano2 opened 2 years ago

JDRomano2 commented 2 years ago

Brush requires a modern version of GCC to compile, but modern versions of GCC are hard to come by on MacOS (e.g., the newest supported version on conda-forge is v4.8.5).

It would be ideal if we could add support for clang++ (LLVM). The version that comes installed on most Macs has support for almost all of the C++20 feature proposals (see https://clang.llvm.org/cxx_status.html#cxx20).

This is probably not highest priority at this point, but I can see it being an important feature down the road.

JDRomano2 commented 2 years ago

I haven't ported anything major from gcc to clang, but suspect this will mostly involve mucking about with the CMake files and inserting preprocessor directives in the c++ code.

lacava commented 2 years ago

this is good because @msnliu spent a lot of time trying to get it to work with Mac. Supporting clang is definitely worthwhile. We tried instead to install gcc-11 to no avail.

folivetti commented 1 year ago

not really sure if it is related or if it is of any help, but talking to Bogdan he mentioned that he had to use a meta-package cxx-compiler to build operon conda package.

name: pyoperon
channels:
  - conda-forge
dependencies:
  - cxx-compiler
  - clangxx
  - cmake
  - eigen
  - git
  - make
  - ninja
  - pkg-config
  - pybind11
  - scikit-build
  - taskflow
  - xxhash