[mlpack] make test failure on OS X

Ryan Curtin gth671b at mail.gatech.edu
Mon Mar 24 13:02:57 EDT 2014


On Mon, Mar 24, 2014 at 10:55:29AM -0600, Kevin Locke wrote:
> On 03/24/2014 09:22 AM, Ryan Curtin wrote:
> >>>On Wed, Mar 19, 2014 at 01:40:59PM -0600, Kevin Locke wrote:
> >>>>$ ./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.
> >
> >I'm sorry for the slow response -- I was out of town last week and had
> >spotty internet access.  Li Dong, in another thread, suggested that the
> >use of -std=c++11 causes the bus error issue, and I am curious if it
> >also causes the test failure.  Could you try compiling without
> >-std=c++11 and seeing if LoadSaveTest/SaveArmaASCIITest still fails?  If
> >it still fails, can you attach the file "test_file.txt" which should be
> >generated in the directory you run mlpack_test in?
> >
> >I am trying to get a hold of an OS X system (or get my VM running again)
> >so that I can dig into this more thoroughly.
> 
> Not a problem at all.  Thanks for continuing to investigate.
> 
> I can confirm that removing -std=c++11 has no effect.  However,
> recompiling without -std=c++11 and without -stdlib=libc++ (which
> included recompiling boost and armadillo without -stdlib=libc++) was
> successful in avoiding the error, which suggests that the issue is a
> difference between libc++ and libstdc++.
> 
> For reference, I am on OS X 10.8 and my understanding is that in OS X
> 10.9 (Mavericks) clang++ links against libc++ by default.  So testing
> differences may require -stdlib=libstdc++ on OS X 10.9 and later.

Ok, so to confirm, the failure in LoadSaveTest/SaveArmaASCIITest is
present when you compile with 'std=c++11 -stdlib=libc++', but when you
omit those two options the test is successful?

-- 
Ryan Curtin    | "If you understood everything I said, you'd be me."
ryan at ratml.org |   - Miles Davis



More information about the mlpack mailing list