[mlpack] make test failure on OS X

Kevin Locke kevin at kevinlocke.name
Wed Mar 19 15:40:59 EDT 2014


Hello All,

I am attempting to install mlpack 1.0.8 on OS X 10.8.5 with clang
"Apple LLVM version 5.0 (clang-500.2.75) (based on LLVM 3.3svn)" using
brew 0.9.5 and linking against libc++.  I am using boost 1.55.0_1 and
armadillo 4.100.2 both build with brew and linked against libc++.
When I attempt to install with `brew install mlpack --c++11` the
installation aborts due to test failures

I've attempted to isolate the problem and can reproduce the issue
without brew by running the following commands (which mimic brew's
invocations and where fix-nmf-nan.patch is a backported fix from this
ML that brew applies[1], note that the failure occurs with or without
the patch):

curl http://www.mlpack.org/files/mlpack-1.0.8.tar.gz | tar -xz && \
    patch -p0 < fix-nmf-nan.patch &&
    mkdir mlpack-1.0.8/build &&
    cd mlpack-1.0.8/build &&
    CXXFLAGS="-std=c++11 -stdlib=libc++" /usr/local/bin/cmake .. -DBOOST_ROOT=/usr/local -DARMADILLO_INCLUDE_DIR=/usr/local/include -DARMADILLO_LIBRARY=/usr/local/lib/libarmadillo.dylib -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_BUILD_TYPE=None -DCMAKE_FIND_FRAMEWORK=LAST -DCMAKE_VERBOSE_MAKEFILE=ON -Wno-dev &&
    make test

Which produces a large amount of output (make test output attached).
The part that seemed relevant was:

[WARN ] Unable to detect type of 'test_file.txt'; load failed. Incorrect extension?
/path/to/mlpack-1.0.8/src/mlpack/tests/load_save_test.cpp:202: fatal error in "SaveArmaASCIITest": critical check data::Load("test_file.txt", test) == true failed
[WARN ] Loading 'test_file.bin' as raw binary formatted data; but this may not be the actual filetype!

Attempting to further isolate the issue, I ran the following command
(with output):

$ ./bin/mlpack_test -t LoadSaveTest/SaveArmaASCIITest
Running 1 test case...
[WARN ] Unable to detect type of 'test_file.txt'; load failed. Incorrect extension?
/path/to/mlpack-1.0.8/src/mlpack/tests/load_save_test.cpp:202: fatal error in "SaveArmaASCIITest": critical check data::Load("test_file.txt", test) == true failed

*** 1 failure detected in test suite "MLPACKTest"


So, is this an error that I should be concerned about?  It is
something related to my machine or build configuration?  Is there more
that I can do to help diagnose the issue?  Any input/help is greatly
appreciated.

Thanks,
Kevin

1.  https://mailman.cc.gatech.edu/pipermail/mlpack/2014-March/000320.html
2.  http://trac.research.cc.gatech.edu/fastlab/ticket/296


P.S.  I stumbled across bug 296[2] (bus error in boost) when checking for
this test failure.  I have the same bug between QuantLib and boost
unrelated to mlpack.  It's quite a formidable bug.
-------------- next part --------------
/usr/local/Cellar/cmake/2.8.12.2/bin/cmake -H/path/to/mlpack-1.0.8 -B/path/to/mlpack-1.0.8/build --check-build-system CMakeFiles/Makefile.cmake 0
/usr/bin/make -f CMakeFiles/Makefile2 test
/usr/local/Cellar/cmake/2.8.12.2/bin/cmake -H/path/to/mlpack-1.0.8 -B/path/to/mlpack-1.0.8/build --check-build-system CMakeFiles/Makefile.cmake 0
/usr/local/Cellar/cmake/2.8.12.2/bin/cmake -E cmake_progress_start /path/to/mlpack-1.0.8/build/CMakeFiles 73
/usr/bin/make -f CMakeFiles/Makefile2 src/mlpack/CMakeFiles/test.dir/all
/usr/bin/make -f src/mlpack/CMakeFiles/mlpack.dir/build.make src/mlpack/CMakeFiles/mlpack.dir/depend
cd /path/to/mlpack-1.0.8/build && /usr/local/Cellar/cmake/2.8.12.2/bin/cmake -E cmake_depends "Unix Makefiles" /path/to/mlpack-1.0.8 /path/to/mlpack-1.0.8/src/mlpack /path/to/mlpack-1.0.8/build /path/to/mlpack-1.0.8/build/src/mlpack /path/to/mlpack-1.0.8/build/src/mlpack/CMakeFiles/mlpack.dir/DependInfo.cmake --color=
/usr/bin/make -f src/mlpack/CMakeFiles/mlpack.dir/build.make src/mlpack/CMakeFiles/mlpack.dir/build
make[3]: Nothing to be done for `src/mlpack/CMakeFiles/mlpack.dir/build'.
/usr/local/Cellar/cmake/2.8.12.2/bin/cmake -E cmake_progress_report /path/to/mlpack-1.0.8/build/CMakeFiles  20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
[ 41%] Built target mlpack
/usr/bin/make -f src/mlpack/tests/CMakeFiles/mlpack_test.dir/build.make src/mlpack/tests/CMakeFiles/mlpack_test.dir/depend
cd /path/to/mlpack-1.0.8/build && /usr/local/Cellar/cmake/2.8.12.2/bin/cmake -E cmake_depends "Unix Makefiles" /path/to/mlpack-1.0.8 /path/to/mlpack-1.0.8/src/mlpack/tests /path/to/mlpack-1.0.8/build /path/to/mlpack-1.0.8/build/src/mlpack/tests /path/to/mlpack-1.0.8/build/src/mlpack/tests/CMakeFiles/mlpack_test.dir/DependInfo.cmake --color=
/usr/bin/make -f src/mlpack/tests/CMakeFiles/mlpack_test.dir/build.make src/mlpack/tests/CMakeFiles/mlpack_test.dir/build
make[3]: Nothing to be done for `src/mlpack/tests/CMakeFiles/mlpack_test.dir/build'.
/usr/local/Cellar/cmake/2.8.12.2/bin/cmake -E cmake_progress_report /path/to/mlpack-1.0.8/build/CMakeFiles  50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91
[ 98%] Built target mlpack_test
/usr/bin/make -f src/mlpack/CMakeFiles/test.dir/build.make src/mlpack/CMakeFiles/test.dir/depend
cd /path/to/mlpack-1.0.8/build && /usr/local/Cellar/cmake/2.8.12.2/bin/cmake -E cmake_depends "Unix Makefiles" /path/to/mlpack-1.0.8 /path/to/mlpack-1.0.8/src/mlpack /path/to/mlpack-1.0.8/build /path/to/mlpack-1.0.8/build/src/mlpack /path/to/mlpack-1.0.8/build/src/mlpack/CMakeFiles/test.dir/DependInfo.cmake --color=
/usr/bin/make -f src/mlpack/CMakeFiles/test.dir/build.make src/mlpack/CMakeFiles/test.dir/build
/usr/local/Cellar/cmake/2.8.12.2/bin/cmake -E cmake_progress_report /path/to/mlpack-1.0.8/build/CMakeFiles 99
[100%] Running MLPACK test
/path/to/mlpack-1.0.8/build/bin/mlpack_test
Running 312 test cases...
[WARN ] RANN-RS: RANN guarantee fails on 0 queries.
[WARN ] RANN-TSS: RANN guarantee fails on 0 queries.
[WARN ] RANN-TSD: RANN guarantee fails on 0 queries.
[WARN ] RANN-TSS (cover tree): RANN guarantee fails on 0 queries.
[WARN ] RANN-TSD (cover tree): RANN guarantee fails on 0 queries.
[WARN ] AugLagrangian on iteration 0, starting with objective 0.
[WARN ] Penalty is 3.22156 (threshold 1.79769e+308).
[WARN ] Lagrange multiplier estimates updated.
[WARN ] AugLagrangian on iteration 1, starting with objective 28.764.
[WARN ] Penalty is 0.415139 (threshold 0.805391).
[WARN ] Lagrange multiplier estimates updated.
[WARN ] AugLagrangian on iteration 2, starting with objective 53.1216.
[WARN ] Penalty is 0.0534959 (threshold 0.103785).
[WARN ] Lagrange multiplier estimates updated.
[WARN ] AugLagrangian on iteration 3, starting with objective 63.6736.
[WARN ] Penalty is 0.00689362 (threshold 0.013374).
[WARN ] Lagrange multiplier estimates updated.
[WARN ] AugLagrangian on iteration 4, starting with objective 67.6945.
[WARN ] Penalty is 0.00088833 (threshold 0.00172341).
[WARN ] Lagrange multiplier estimates updated.
[WARN ] AugLagrangian on iteration 5, starting with objective 69.168.
[WARN ] Penalty is 0.000114472 (threshold 0.000222082).
[WARN ] Lagrange multiplier estimates updated.
[WARN ] AugLagrangian on iteration 6, starting with objective 69.7007.
[WARN ] Penalty is 1.47512e-05 (threshold 2.86181e-05).
[WARN ] Lagrange multiplier estimates updated.
[WARN ] AugLagrangian on iteration 7, starting with objective 69.8925.
[WARN ] Penalty is 1.90088e-06 (threshold 3.68781e-06).
[WARN ] Lagrange multiplier estimates updated.
[WARN ] AugLagrangian on iteration 8, starting with objective 69.9614.
[WARN ] Penalty is 2.44952e-07 (threshold 4.7522e-07).
[WARN ] Lagrange multiplier estimates updated.
[WARN ] AugLagrangian on iteration 9, starting with objective 69.9861.
[WARN ] Penalty is 3.15652e-08 (threshold 6.12381e-08).
[WARN ] Lagrange multiplier estimates updated.
[WARN ] AugLagrangian on iteration 10, starting with objective 69.995.
[WARN ] Penalty is 4.06757e-09 (threshold 7.8913e-09).
[WARN ] Lagrange multiplier estimates updated.
[WARN ] AugLagrangian on iteration 11, starting with objective 69.9982.
[WARN ] Penalty is 5.24158e-10 (threshold 1.01689e-09).
[WARN ] Lagrange multiplier estimates updated.
[WARN ] AugLagrangian on iteration 12, starting with objective 69.9994.
[WARN ] Penalty is 6.75444e-11 (threshold 1.3104e-10).
[WARN ] Lagrange multiplier estimates updated.
[WARN ] AugLagrangian on iteration 13, starting with objective 69.9998.
[WARN ] Penalty is 8.70393e-12 (threshold 1.68861e-11).
[WARN ] Lagrange multiplier estimates updated.
[WARN ] AugLagrangian on iteration 14, starting with objective 69.9999.
[WARN ] Penalty is 1.12162e-12 (threshold 2.17598e-12).
[WARN ] Lagrange multiplier estimates updated.
[WARN ] AugLagrangian on iteration 15, starting with objective 70.
[WARN ] Penalty is 1.44931e-13 (threshold 2.80404e-13).
[WARN ] Lagrange multiplier estimates updated.
[WARN ] AugLagrangian on iteration 16, starting with objective 70.
[WARN ] Penalty is 1.85333e-14 (threshold 3.62327e-14).
[WARN ] Lagrange multiplier estimates updated.
[WARN ] AugLagrangian on iteration 17, starting with objective 70.
[WARN ] Penalty is 2.38853e-15 (threshold 4.63332e-15).
[WARN ] Lagrange multiplier estimates updated.
[WARN ] AugLagrangian on iteration 18, starting with objective 70.
[WARN ] Penalty is 2.38853e-15 (threshold 5.97131e-16).
[WARN ] Updated sigma to 100.
[WARN ] AugLagrangian on iteration 19, starting with objective 70.
[WARN ] Penalty is 6.71689e-18 (threshold 5.97131e-16).
[WARN ] Lagrange multiplier estimates updated.
[WARN ] AugLagrangian on iteration 20, starting with objective 70.
[WARN ] Penalty is 2.45219e-20 (threshold 1.67922e-18).
[WARN ] Lagrange multiplier estimates updated.
[WARN ] AugLagrangian on iteration 21, starting with objective 70.
[WARN ] Penalty is 8.89956e-22 (threshold 6.13048e-21).
[WARN ] Lagrange multiplier estimates updated.
[WARN ] AugLagrangian on iteration 22, starting with objective 70.
[WARN ] Penalty is 7.77488e-22 (threshold 2.22489e-22).
[WARN ] Updated sigma to 1000.
[WARN ] AugLagrangian on iteration 23, starting with objective 70.
[WARN ] Penalty is 1.2246e-25 (threshold 2.22489e-22).
[WARN ] Lagrange multiplier estimates updated.
[WARN ] AugLagrangian on iteration 24, starting with objective 70.
[WARN ] Penalty is 5.09743e-24 (threshold 3.06149e-26).
[WARN ] Updated sigma to 10000.
[WARN ] AugLagrangian on iteration 25, starting with objective 70.
[WARN ] Penalty is 1.68086e-23 (threshold 3.06149e-26).
[WARN ] Updated sigma to 100000.
[WARN ] AugLagrangian on iteration 26, starting with objective 70.
[WARN ] Penalty is 7.09975e-28 (threshold 3.06149e-26).
[WARN ] Lagrange multiplier estimates updated.
[WARN ] AugLagrangian on iteration 27, starting with objective 70.
[WARN ] Penalty is 2.8399e-29 (threshold 1.77494e-28).
[WARN ] Lagrange multiplier estimates updated.
[WARN ] AugLagrangian on iteration 28, starting with objective 70.
[WARN ] Penalty is 2.8399e-29 (threshold 7.09975e-30).
[WARN ] Updated sigma to 1e+06.
[WARN ] AugLagrangian on iteration 29, starting with objective 70.
[WARN ] AugLagrangian on iteration 0, starting with objective 57.
[WARN ] Penalty is 1.20818 (threshold 1.79769e+308).
[WARN ] Lagrange multiplier estimates updated.
[WARN ] AugLagrangian on iteration 1, starting with objective 11.7984.
[WARN ] Penalty is 0.279552 (threshold 0.302045).
[WARN ] Lagrange multiplier estimates updated.
[WARN ] AugLagrangian on iteration 2, starting with objective 19.7308.
[WARN ] Penalty is 0.0795917 (threshold 0.0698881).
[WARN ] Updated sigma to 100.
[WARN ] AugLagrangian on iteration 3, starting with objective 24.0825.
[WARN ] Penalty is 0.00302255 (threshold 0.0698881).
[WARN ] Lagrange multiplier estimates updated.
[WARN ] AugLagrangian on iteration 4, starting with objective 28.4845.
[WARN ] Penalty is 3.38404e-05 (threshold 0.000755637).
[WARN ] Lagrange multiplier estimates updated.
[WARN ] AugLagrangian on iteration 5, starting with objective 29.5115.
[WARN ] Penalty is 3.79563e-07 (threshold 8.46011e-06).
[WARN ] Lagrange multiplier estimates updated.
[WARN ] AugLagrangian on iteration 6, starting with objective 29.621.
[WARN ] Penalty is 4.25788e-09 (threshold 9.48908e-08).
[WARN ] Lagrange multiplier estimates updated.
[WARN ] AugLagrangian on iteration 7, starting with objective 29.6326.
[WARN ] Penalty is 4.77619e-11 (threshold 1.06447e-09).
[WARN ] Lagrange multiplier estimates updated.
[WARN ] AugLagrangian on iteration 8, starting with objective 29.6338.
[WARN ] Penalty is 5.34994e-13 (threshold 1.19405e-11).
[WARN ] Lagrange multiplier estimates updated.
[WARN ] AugLagrangian on iteration 9, starting with objective 29.6339.
[WARN ] Penalty is 6.00099e-15 (threshold 1.33748e-13).
[WARN ] Lagrange multiplier estimates updated.
[WARN ] AugLagrangian on iteration 10, starting with objective 29.6339.
[WARN ] Penalty is 6.73686e-17 (threshold 1.50025e-15).
[WARN ] Lagrange multiplier estimates updated.
[WARN ] AugLagrangian on iteration 11, starting with objective 29.6339.
[WARN ] Penalty is 7.78906e-19 (threshold 1.68421e-17).
[WARN ] Lagrange multiplier estimates updated.
[WARN ] AugLagrangian on iteration 12, starting with objective 29.6339.
[WARN ] Penalty is 1.19268e-19 (threshold 1.94726e-19).
[WARN ] Lagrange multiplier estimates updated.
[WARN ] AugLagrangian on iteration 13, starting with objective 29.6339.
[WARN ] Penalty is 7.62375e-20 (threshold 2.98169e-20).
[WARN ] Updated sigma to 1000.
[WARN ] AugLagrangian on iteration 14, starting with objective 29.6339.
[WARN ] Penalty is 7.62375e-20 (threshold 2.98169e-20).
[WARN ] Updated sigma to 10000.
[WARN ] AugLagrangian on iteration 15, starting with objective 29.6339.
[WARN ] Penalty is 7.62375e-20 (threshold 2.98169e-20).
[WARN ] Updated sigma to 100000.
[WARN ] AugLagrangian on iteration 16, starting with objective 29.6339.
[WARN ] Penalty is 2.6791e-22 (threshold 2.98169e-20).
[WARN ] Lagrange multiplier estimates updated.
[WARN ] AugLagrangian on iteration 17, starting with objective 29.6339.
[WARN ] Penalty is 1.1436e-22 (threshold 6.69776e-23).
[WARN ] Updated sigma to 1e+06.
[WARN ] AugLagrangian on iteration 18, starting with objective 29.6339.
[WARN ] Cannot determine type of file 'noextension'; no extension is present.  Load failed.
[WARN ] No extension given with filename 'noextension'; type unknown.  Save failed.
[WARN ] Cannot open file 'nonexistentfile_______________.csv'; load failed.
[WARN ] Unable to detect type of 'test_file.txt'; load failed. Incorrect extension?
/path/to/mlpack-1.0.8/src/mlpack/tests/load_save_test.cpp:202: fatal error in "SaveArmaASCIITest": critical check data::Load("test_file.txt", test) == true failed
[WARN ] Loading 'test_file.bin' as raw binary formatted data; but this may not be the actual filetype!
[WARN ] Attempted to save HDF5 data to 'test_file.h5', but Armadillo was compiled without HDF5 support.  Save failed.
[WARN ] Attempted to save HDF5 data to 'test_file.hdf5', but Armadillo was compiled without HDF5 support.  Save failed.
[WARN ] Attempted to save HDF5 data to 'test_file.hdf', but Armadillo was compiled without HDF5 support.  Save failed.
[WARN ] Attempted to save HDF5 data to 'test_file.he5', but Armadillo was compiled without HDF5 support.  Save failed.
[WARN ] AugLagrangian on iteration 0, starting with objective -9.36185.
[WARN ] Penalty is 0.751195 (threshold 1.79769e+308).
[WARN ] Lagrange multiplier estimates updated.
[WARN ] AugLagrangian on iteration 1, starting with objective -9.68347.
[WARN ] Penalty is 0.313296 (threshold 0.187799).
[WARN ] Updated sigma to 200.
[WARN ] AugLagrangian on iteration 2, starting with objective -48.0679.
[WARN ] Penalty is 0.312535 (threshold 0.187799).
[WARN ] Updated sigma to 2000.
[WARN ] AugLagrangian on iteration 3, starting with objective -48.0012.
[WARN ] Penalty is 0.00259557 (threshold 0.187799).
[WARN ] Lagrange multiplier estimates updated.
[WARN ] AugLagrangian on iteration 4, starting with objective -9.12863.
[WARN ] Penalty is 0.000293646 (threshold 0.000648893).
[WARN ] Lagrange multiplier estimates updated.
[WARN ] AugLagrangian on iteration 5, starting with objective -5.82245.
[WARN ] Penalty is 0.00193819 (threshold 7.34115e-05).
[WARN ] Updated sigma to 20000.
[WARN ] AugLagrangian on iteration 6, starting with objective -12.853.
[WARN ] Penalty is 2.12661e-05 (threshold 7.34115e-05).
[WARN ] Lagrange multiplier estimates updated.
[WARN ] AugLagrangian on iteration 7, starting with objective -13.8915.
[WARN ] Penalty is 2.81761e-09 (threshold 5.31653e-06).
[WARN ] Lagrange multiplier estimates updated.
[WARN ] AugLagrangian on iteration 8, starting with objective -14.0001.
[WARN ] Penalty is 1.69682e-11 (threshold 7.04402e-10).
[WARN ] Lagrange multiplier estimates updated.
[WARN ] AugLagrangian on iteration 9, starting with objective -14.
[WARN ] Penalty is 1.97237e-13 (threshold 4.24204e-12).
[WARN ] Lagrange multiplier estimates updated.
[WARN ] AugLagrangian on iteration 10, starting with objective -14.
[WARN ] Penalty is 2.58476e-15 (threshold 4.93093e-14).
[WARN ] Lagrange multiplier estimates updated.
[WARN ] AugLagrangian on iteration 11, starting with objective -14.
[WARN ] Penalty is 9.14075e-17 (threshold 6.4619e-16).
[WARN ] Lagrange multiplier estimates updated.
[WARN ] AugLagrangian on iteration 12, starting with objective -14.
[WARN ] Penalty is 9.25689e-18 (threshold 2.28519e-17).
[WARN ] Lagrange multiplier estimates updated.
[WARN ] AugLagrangian on iteration 13, starting with objective -14.
[WARN ] Penalty is 9.02262e-18 (threshold 2.31422e-18).
[WARN ] Updated sigma to 200000.
[WARN ] AugLagrangian on iteration 14, starting with objective -14.
[WARN ] Penalty is 8.6448e-19 (threshold 2.31422e-18).
[WARN ] Lagrange multiplier estimates updated.
[WARN ] AugLagrangian on iteration 15, starting with objective -14.
[WARN ] Penalty is 7.48171e-19 (threshold 2.1612e-19).
[WARN ] Updated sigma to 2e+06.
[WARN ] AugLagrangian on iteration 16, starting with objective -14.
[WARN ] Penalty is 1.34511e-19 (threshold 2.1612e-19).
[WARN ] Lagrange multiplier estimates updated.
[WARN ] AugLagrangian on iteration 17, starting with objective -14.

*** 1 failure detected in test suite "MLPACKTest"
make[3]: *** [src/mlpack/CMakeFiles/test] Error 201
make[2]: *** [src/mlpack/CMakeFiles/test.dir/all] Error 2
make[1]: *** [src/mlpack/CMakeFiles/test.dir/rule] Error 2
make: *** [test] Error 2


More information about the mlpack mailing list