Using gcc 4.1.2, 'make check' will fail. By not calling several tests in c_pgmtk/tests/src/tsys.cpp (see patches section for PNL here on Sourceforge), we can get around this. However, the tests should be fixed to provide proper unit tests (not to mention possible problems in the PNL library when using gcc 4.1.2!!).
The following tests fail, for the noted reasons:
* StructLearnEngWithJTreeInf: pnl::CInconsistentType
* AExLearnEngine: pnl::CInconsistentType
* AExInfEngine: pnl::CInconsistentType
* AInfForRndBNet: pnl::COutOfRange
* ALearningCondGaussDBN: run_pnlcheck: line 1: 19366 Segmentation fault
* ASetStatistics: pnl::CInvalidOperation
* AStructureLearningEngine: pnl::CInconsistentType
* RandomFactors: pnl::CInconsistentSize
* ABKInfDBN: pnl::COutOfRange
* TBKInfEngine : pnl::COutOfRange
* AGenerateEvidences: pnl::COutOfRange
* ASaveLoadEvidences: run_pnlcheck: line 1: 13591 Segmentation fault
* AConditionalGaussianLearning: pnl::COutOfRange
* ABKInfUsingClusters:
terminate called after throwing an instance of 'std::length_error'
what(): vector::_M_fill_insert
./run_pnlcheck: line 1: 18289 Aborted (core dumped) ./tests_pnl_c -R FAIL -s ../../../checkfails.sum -m -B
* ATreeCPDLearn:
lt-tests_pnl_c: cvcart.cpp:905: void cxBuildCARTNodeFallenStats(CxCARTBase*, CxForestNode*): Assertion `response >= 0 && response < num_response_classes' failed.
./run_pnlcheck: line 1: 17571 Aborted (core dumped)
* AGibbsInference:
lt-tests_pnl_c: ../../c_pgmtk/src/include/cart/inlines.h:345: BOOL icxIsVarSplitLeft(CxCARTBase*, CxCARTSplit*, CxClassifierVar): Assertion `(i >=0) && (i < cart->num_classes[feature])' failed.
./run_pnlcheck: line 1: 15670 Aborted
Logged In: YES
user_id=1857666
Originator: NO
I've checked in fixes to CVS that allow all but one of the "make check" tests to succeed in my build environment, which is 64-bit Debian with gcc 4.1.2. The one test that fails is AGaussianFactorLearningEngine, where a matrix that should be symmetric ends up not quite symmetric (I've submitted a separate bug report for it). This error only occurs for certain states of the PNL random number generator -- that is, it depends on what tests have already been run.
Can you check out the new CVS version and see which tests still fail for you?