I have boost 1.47.0 built and installed.
Here is the last few lines of output from make:
/bin/sh ../libtool --tag=CXX --mode=link g++ -g -O2 -lboost_unit_test_framework-mt -o quantlib-test-suite.exe quantlibtestsuite.o americanoption.o array.o asianoptions.o assetswap.o autocovariances.o barrieroption.o basketoption.o batesmodel.o bermudanswaption.o blackdeltacalculator.o bonds.o brownianbridge.o calendars.o capfloor.o capflooredcoupon.o cashflows.o cdo.o cdsoption.o chooseroption.o cliquetoption.o cms.o commodityunitofmeasure.o compoundoption.o convertiblebonds.o covariance.o creditdefaultswap.o curvestates.o dates.o daycounters.o defaultprobabilitycurves.o digitalcoupon.o digitaloption.o distributions.o dividendoption.o europeanoption.o everestoption.o exchangerate.o extendedtrees.o factorial.o fastfouriertransform.o fdheston.o fdmlinearop.o forwardoption.o gaussianquadratures.o gjrgarchmodel.o hestonmodel.o himalayaoption.o hybridhestonhullwhiteprocess.o inflation.o inflationcapfloor.o inflationcapflooredcoupon.o inflationvolatility.o instruments.o integrals.o interestrates.o interpolations.o jumpdiffusion.o libormarketmodel.o libormarketmodelprocess.o linearleastsquaresregression.o lookbackoptions.o lowdiscrepancysequences.o margrabeoption.o marketmodel.o marketmodel_cms.o marketmodel_smm.o marketmodel_smmcapletalphacalibration.o marketmodel_smmcapletcalibration.o marketmodel_smmcaplethomocalibration.o matrices.o mclongstaffschwartzengine.o mersennetwister.o money.o nthtodefault.o operators.o optimizers.o optionletstripper.o overnightindexedswap.o pagodaoption.o pathgenerator.o period.o piecewiseyieldcurve.o quantooption.o quotes.o rangeaccrual.o riskstats.o rngtraits.o rounding.o sampledcurve.o shortratemodels.o solvers.o stats.o surface.o swap.o swapforwardmappings.o swaption.o swaptionvolatilitycube.o swaptionvolatilitymatrix.o termstructures.o timeseries.o transformedgrid.o tqreigendecomposition.o tracing.o utilities.o variancegamma.o varianceoption.o varianceswaps.o volatilitymodels.o libUnitMain.la ../ql/libQuantLib.lalibtool: link: g++ -g -O2 -o .libs/quantlib-test-suite.exe quantlibtestsuite.o americanoption.o array.o asianoptions.o assetswap.o autocovariances.o barrieroption.o basketoption.o batesmodel.o bermudanswaption.o blackdeltacalculator.o bonds.o brownianbridge.o calendars.o capfloor.o capflooredcoupon.o cashflows.o cdo.o cdsoption.o chooseroption.o cliquetoption.o cms.o commodityunitofmeasure.o compoundoption.o convertiblebonds.o covariance.o creditdefaultswap.o curvestates.o dates.o daycounters.o defaultprobabilitycurves.o digitalcoupon.o digitaloption.o distributions.o dividendoption.o europeanoption.o everestoption.o exchangerate.o extendedtrees.o factorial.o fastfouriertransform.o fdheston.o fdmlinearop.o forwardoption.o gaussianquadratures.o gjrgarchmodel.o hestonmodel.o himalayaoption.o hybridhestonhullwhiteprocess.o inflation.o inflationcapfloor.o inflationcapflooredcoupon.o inflationvolatility.o instruments.o integrals.o interestrates.o interpolations.o jumpdiffusion.o libormarketmodel.o libormarketmodelprocess.o linearleastsquaresregression.o lookbackoptions.o lowdiscrepancysequences.o margrabeoption.o marketmodel.o marketmodel_cms.o marketmodel_smm.o marketmodel_smmcapletalphacalibration.o marketmodel_smmcapletcalibration.o marketmodel_smmcaplethomocalibration.o matrices.o mclongstaffschwartzengine.o mersennetwister.o money.o nthtodefault.o operators.o optimizers.o optionletstripper.o overnightindexedswap.o pagodaoption.o pathgenerator.o period.o piecewiseyieldcurve.o quantooption.o quotes.o rangeaccrual.o riskstats.o rngtraits.o rounding.o sampledcurve.o shortratemodels.o solvers.o stats.o surface.o swap.o swapforwardmappings.o swaption.o swaptionvolatilitycube.o swaptionvolatilitymatrix.o termstructures.o timeseries.o transformedgrid.o tqreigendecomposition.o tracing.o utilities.o variancegamma.o varianceoption.o varianceswaps.o volatilitymodels.o -lboost_unit_test_framework-mt ./.libs/libUnitMain.a ../ql/.libs/libQuantLib.a /usr/lib/gcc/i686-pc-cygwin/4.3.4/libstdc++.dll.a -L/usr/lib/gcc/i686-pc-cygwin/4.3.4 ./.libs/libUnitMain.a(libUnitMain_la-main.o):
In function `main':
/home/Ted/QuantLib-1.1/test-suite/main.cpp:11: undefined reference to `boost::unit_test::unit_test_main(bool (*)(), int, char**)'
./.libs/libUnitMain.a(libUnitMain_la-main.o): In function `_Z13init_functionv':
/home/Ted/QuantLib-1.1/test-suite/main.cpp:7: undefined reference to `boost::unit_test::framework::master_test_suite()'
collect2: ld returned 1 exit status
make[1]: *** [quantlib-test-suite.exe] Error 1
make[1]: Leaving directory `/home/Ted/QuantLib-1.1/test-suite'
make: *** [all-recursive] Error 1
However, that last command works if I edit it to have ' lboost_unit_test_framework-mt ' come after './.libs/libUnitMain.a ', as in :
g++ -g -O2 -o .libs/quantlib-test-suite.exe quantlibtestsuite.o americanoption.o array.o asianoptions.o assetswap.o autocovariances.o barrieroption.o basketoption.o batesmodel.o bermudanswaption.o blackdeltacalculator.o bonds.o brownianbridge.o calendars.o capfloor.o capflooredcoupon.o cashflows.o cdo.o cdsoption.o chooseroption.o cliquetoption.o cms.o commodityunitofmeasure.o compoundoption.o convertiblebonds.o covariance.o creditdefaultswap.o curvestates.o dates.o daycounters.o defaultprobabilitycurves.o digitalcoupon.o digitaloption.o distributions.o dividendoption.o europeanoption.o everestoption.o exchangerate.o extendedtrees.o factorial.o fastfouriertransform.o fdheston.o fdmlinearop.o forwardoption.o gaussianquadratures.o gjrgarchmodel.o hestonmodel.o himalayaoption.o hybridhestonhullwhiteprocess.o inflation.o inflationcapfloor.o inflationcapflooredcoupon.o inflationvolatility.o instruments.o integrals.o interestrates.o interpolations.o jumpdiffusion.o libormarketmodel.o libormarketmodelprocess.o linearleastsquaresregression.o lookbackoptions.o lowdiscrepancysequences.o margrabeoption.o marketmodel.o marketmodel_cms.o marketmodel_smm.o marketmodel_smmcapletalphacalibration.o marketmodel_smmcapletcalibration.o marketmodel_smmcaplethomocalibration.o matrices.o mclongstaffschwartzengine.o mersennetwister.o money.o nthtodefault.o operators.o optimizers.o optionletstripper.o overnightindexedswap.o pagodaoption.o pathgenerator.o period.o piecewiseyieldcurve.o quantooption.o quotes.o rangeaccrual.o riskstats.o rngtraits.o rounding.o sampledcurve.o shortratemodels.o solvers.o stats.o surface.o swap.o swapforwardmappings.o swaption.o swaptionvolatilitycube.o swaptionvolatilitymatrix.o termstructures.o timeseries.o transformedgrid.o tqreigendecomposition.o tracing.o utilities.o variancegamma.o varianceoption.o varianceswaps.o volatilitymodels.o ./.libs/libUnitMain.a -lboost_unit_test_framework-mt ../ql/.libs/libQuantLib.a /usr/lib/gcc/i686-pc-cygwin/4.3.4/libstdc++.dll.a -L/usr/lib/gcc/i686-pc-cygwin/4.3.4
This last command, executed in test-suite, works fine, and here is the output of running quantlib-test-suite.exe in ,libs that it produces:
Ted@Ted-acer-i7w7 ~/QuantLib-1.1/test-suite/.libs
$ ./quantlib-test-suite.exe
Running 467 test cases...
unknown location(0): fatal error in "QuantLib::detail::quantlib_test_case(&MarketModelSmmCapletAlphaCalibrationTest::testFunction)": std::exception: last caplet vol (0.1340376439125532) must be equal to last swaption vol (0.1340517152226495); discrepancy is 1.407131009625862e-05
utilities.hpp(78): last checkpoint
unknown location(0): fatal error in "QuantLib::detail::quantlib_test_case(&MarketModelSmmCapletCalibrationTest::testFunction)": std::exception: last caplet vol (0.1340376439125532) must be equal to last swaption vol (0.1340517152226495); discrepancy is 1.407131009625862e-05
utilities.hpp(78): last checkpoint
unknown location(0): fatal error in "QuantLib::detail::quantlib_test_case(&MarketModelSmmCapletHomoCalibrationTest::testFunction)": std::exception: last caplet vol (0.1340376439125532) must be equal to last swaption vol (0.1340517152226495); discrepancy is 1.407131009625862e-05
utilities.hpp(78): last checkpoint
optionletstripper.cpp(303): fatal error in "QuantLib::detail::quantlib_test_case(&OptionletStripperTest::testFlatTermVolatilityStripping1)":
option tenor: 3Y
strike: 4.000000 %
stripped vol price: 0.766155 %
constant vol price: 0.769284 %
error: 0.003129 %
tolerance: 0.002500 %
optionletstripper.cpp(362): fatal error in "QuantLib::detail::quantlib_test_case(&OptionletStripperTest::testTermVolatilityStripping1)":
option tenor: 4Y
strike: 4.000000 %
stripped vol price: 1.011738 %
constant vol price: 1.015189 %
error: 0.003451 %
tolerance: 0.002500 %
Tests completed in 17 m 37 s
*** 5 failures detected in test suite "Master Test Suite"
There are, thus, two questions.
1) How do I fix the makefiles QuantLib's files produces so that the two problem libraries are included in the right order in the above command?
2) Is this output from 'quantlib-test-suite.exe' indicative of serious problems, sufficient to warrant caution in installing QuantLib? If so, how do I fix things? 5 failures out of 467 tests doesn't seem too bad. And differences like '1.407131009625862e-05' in a number like '0.1340517152226495' doesn't seem too bad. But then, I am drawing on experience in modelling environmental systems were one can count onself lucky if you can get 3 significant figures in one's measurements.
My aim is to study what QuantLib can do for me, and how? What is the best way to proceed. Like most open source products I have used, the documentation is OK, but short on details when things go awry.
Thanks
Ted
Free forum by Nabble | Edit this page |