rcppmlpack / rcppmlpack2

Rcpp Interface to mlpack (version 2.1.0 and up)
GNU General Public License v2.0
24 stars 9 forks source link

Binaries for macOS + Windows #13

Open coatless opened 7 years ago

coatless commented 7 years ago

So, it looks like a binary approach is going to be used for both of the methods.

Before, we were opting to just hook into the homebrew version of MLPACK. However, that is compiled under libstd++ vs. libc++, which is how R is compiled on macOS.

Target: Next weekend.

bhaskarvk commented 7 years ago

Sorry to butt in, but on my mac I have boost/armadillo/mlpack all compiled against libc++ using homebrew. Out of these only armadillo was compiled from source using homebrew's llvm compiler, boost and mlpack were simply installed as binaries from homebrew.

$> otool -L /usr/local/opt/boost/lib/libboost_math_c99.dylib
boost/lib/libboost_math_c99.dylib:
    /usr/local/opt/boost/lib/libboost_math_c99.dylib (compatibility version 0.0.0, current version 0.0.0)
    /usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 307.5.0)
    /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1238.50.2)

$> otool -L /usr/local/opt/armadillo/lib/libarmadillo.7.80.2.dylib
armadillo/lib/libarmadillo.7.80.2.dylib:
    /usr/local/opt/armadillo/lib/libarmadillo.7.dylib (compatibility version 7.0.0, current version 7.80.2)
    /System/Library/Frameworks/Accelerate.framework/Versions/A/Accelerate (compatibility version 1.0.0, current version 4.0.0)
    /usr/local/opt/hdf5/lib/libhdf5.100.dylib (compatibility version 101.0.0, current version 101.1.0)
    /usr/local/opt/szip/lib/libsz.2.dylib (compatibility version 3.0.0, current version 3.0.0)
    /usr/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.8)
    /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1238.50.2)
    /usr/local/opt/arpack/libexec/lib/libarpack.2.dylib (compatibility version 3.0.0, current version 3.0.0)
    /usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 307.5.0)

$> otool -L /usr/local/opt/mlpack/lib/libmlpack.2.2.dylib
mlpack/lib/libmlpack.2.2.dylib:
    /usr/local/opt/mlpack/lib/libmlpack.2.dylib (compatibility version 2.0.0, current version 2.2.0)
    /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1238.50.2)
    /usr/local/opt/armadillo/lib/libarmadillo.7.dylib (compatibility version 7.0.0, current version 7.80.2)
    /usr/local/opt/boost/lib/libboost_program_options-mt.dylib (compatibility version 0.0.0, current version 0.0.0)
    /usr/local/opt/boost/lib/libboost_unit_test_framework-mt.dylib (compatibility version 0.0.0, current version 0.0.0)
    /usr/local/opt/boost/lib/libboost_serialization-mt.dylib (compatibility version 0.0.0, current version 0.0.0)
    /usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 307.5.0)

I don't know if that helps but I thought you might like to know.

eddelbuettel commented 7 years ago

I so wish this wasn't so complicated :-/

It all just works on Linux.

bhaskarvk commented 7 years ago

Me too. I am so close to ditching osx.