[mlpack] make test failure on OS X

Kevin Locke kevin at kevinlocke.name
Mon Mar 24 13:04:26 EDT 2014


On 03/24/2014 11:02 AM, Ryan Curtin wrote:
> 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?

Yes, exactly.



More information about the mlpack mailing list