Login  Register

Re: Compilation problems with SUN CC

Posted by Andreas Spengler-2 on Feb 20, 2009; 2:03pm
URL: http://quantlib.414.s1.nabble.com/Compilation-problems-with-SUN-CC-tp12581p12582.html

> Can you send me a list of those?

Course. The following files had to be adapted because of missing std::
qualifier before some mathematical functions:

./ql/models/marketmodels/models/alphafinder.cpp
./ql/models/marketmodels/evolvers/volprocesses/squarerootandersen.cpp
./ql/models/marketmodels/evolvers/lognormalfwdrateeulerconstrained.cpp
./ql/cashflows/rangeaccrual.cpp
./ql/processes/hullwhiteprocess.cpp
./ql/processes/hestonprocess.cpp
./ql/processes/gjrgarchprocess.cpp
./ql/math/randomnumbers/latticersg.cpp
./ql/math/randomnumbers/latticerules.cpp
./ql/math/surface.cpp
./ql/math/quadratic.cpp
./ql/math/integrals/kronrodintegral.cpp
./ql/math/matrixutilities/basisincompleteordered.cpp
./ql/math/optimization/spherecylinder.cpp
./ql/experimental/credit/onefactorgaussiancopula.cpp
./ql/experimental/credit/cdsoption.cpp
./ql/experimental/credit/onefactorstudentcopula.cpp
./ql/experimental/amortizingbonds/amortizingfixedratebond.cpp
./ql/experimental/varianceoption/integralhestonvarianceoptionengine.cpp
./ql/experimental/finitedifferences/fdhestonrebateengine.cpp
./ql/experimental/finitedifferences/fdblackscholesrebateengine.cpp
./ql/experimental/finitedifferences/fdblackscholesvanillaengine.cpp
./ql/experimental/finitedifferences/fdhestonvanillaengine.cpp
./ql/experimental/finitedifferences/fdblackscholesbarrierengine.cpp
./ql/experimental/finitedifferences/fdhestonbarrierengine.cpp
./ql/experimental/lattices/extendedbinomialtree.cpp
./ql/pricingengines/blackformula.cpp
./ql/methods/lattices/binomialtree.cpp
./ql/termstructures/volatility/swaption/swaptionvolcube1.cpp

Furthermore, I had to add an "#include <math.h>" line in the following
three files, because some define's (M_PI_2 and the like) were not found...

./ql/math/randomnumbers/sobolrsg.cpp
./ql/math/integrals/gaussianorthogonalpolynomial.cpp
./ql/pricingengines/vanilla/analyticgjrgarchengine.cpp

In ./ql/instruments/bond.cpp I had to do the following change, because you
can't modify a const iterator:

*** ./ql/instruments/bond.cpp.orig      Fri Feb 20 10:46:22 2009
--- ./ql/instruments/bond.cpp   Fri Feb 20 10:46:50 2009
***************
*** 200,206 ****

              redemptions_.push_back(cashflows.back());

!             std::sort(cashflows_.begin(), --cashflows_.end(),
                        earlier_than<boost::shared_ptr<CashFlow> >());
          }

--- 200,206 ----

              redemptions_.push_back(cashflows.back());

!             std::sort(cashflows_.begin(), cashflows_.end()-1,
                        earlier_than<boost::shared_ptr<CashFlow> >());
          }

***************
*** 222,228 ****
          // lower_bound, *i is the earliest date which is greater or
          // equal than d.  Its index is greater or equal to 1.
          std::vector<Date>::const_iterator i =
!             std::lower_bound(++notionalSchedule_.begin(),
                               notionalSchedule_.end(), d);
          Size index = std::distance(notionalSchedule_.begin(), i);

--- 222,228 ----
          // lower_bound, *i is the earliest date which is greater or
          // equal than d.  Its index is greater or equal to 1.
          std::vector<Date>::const_iterator i =
!             std::lower_bound(notionalSchedule_.begin()+1,
                               notionalSchedule_.end(), d);
          Size index = std::distance(notionalSchedule_.begin(), i);


Now I only keep getting an error in
ql/models/marketmodels/models/alphafinder.cpp (maybe because of the empty
namespace surrounding the declaration):

"alphafinder.cpp", line 386: Error, nomatchoverin: Could not find a match
for::Bisection<::T,::Value>(double, double, double, double,
QuantLib::AlphaFinder) needed in QuantLib::AlphaFinder::solve(double, int,
const std::vector<double>&, const std::vector<double>&, const
std::vector<double>&, double, double, double, double, double, double, int,
double&, double&, double&, std::vector<double>&).
"alphafinder.cpp", line 394: Error, nomatchoverin: Could not find a match
for::Bisection<::T,::Value>(double, double, double, double,
QuantLib::AlphaFinder) needed in QuantLib::AlphaFinder::solve(double, int,
const std::vector<double>&, const std::vector<double>&, const
std::vector<double>&, double, double, double, double, double, double, int,
double&, double&, double&, std::vector<double>&).
"alphafinder.cpp", line 466: Error, nomatchoverin: Could not find a match
for::FindLowestOK<::T,::Value>(double, double, double,
QuantLib::AlphaFinder) needed in
QuantLib::AlphaFinder::solveWithMaxHomogeneity(double, int, const
std::vector<double>&, const std::vector<double>&, const
std::vector<double>&, double, double, double, double, double, double, int,
double&, double&, double&, std::vector<double>&).
"alphafinder.cpp", line 473: Error, nomatchoverin: Could not find a match
for::FindLowestOK<::T,::Value>(double, double, double,
QuantLib::AlphaFinder) needed in
QuantLib::AlphaFinder::solveWithMaxHomogeneity(double, int, const
std::vector<double>&, const std::vector<double>&, const
std::vector<double>&, double, double, double, double, double, double, int,
double&, double&, double&, std::vector<double>&).
"alphafinder.cpp", line 484: Error, nomatchoverin: Could not find a match
for::FindHighestOK<::T,::Value>(double, double, double,
QuantLib::AlphaFinder) needed in
QuantLib::AlphaFinder::solveWithMaxHomogeneity(double, int, const
std::vector<double>&, const std::vector<double>&, const
std::vector<double>&, double, double, double, double, double, double, int,
double&, double&, double&, std::vector<double>&).
"alphafinder.cpp", line 513: Error, nomatchoverin: Could not find a match
for::FindHighestOK<::T,::Value>(double, double, double,
QuantLib::AlphaFinder) needed in
QuantLib::AlphaFinder::solveWithMaxHomogeneity(double, int, const
std::vector<double>&, const std::vector<double>&, const
std::vector<double>&, double, double, double, double, double, double, int,
double&, double&, double&, std::vector<double>&).
"alphafinder.cpp", line 520: Error, nomatchoverin: Could not find a match
for::FindLowestOK<::T,::Value>(double, double, double,
QuantLib::AlphaFinder) needed in
QuantLib::AlphaFinder::solveWithMaxHomogeneity(double, int, const
std::vector<double>&, const std::vector<double>&, const
std::vector<double>&, double, double, double, double, double, double, int,
double&, double&, double&, std::vector<double>&).
"alphafinder.cpp", line 533: Error, nomatchoverin: Could not find a match
for::Minimize<::T,::Value,::Condition>(double, double, double,
QuantLib::AlphaFinder, bool) needed in
QuantLib::AlphaFinder::solveWithMaxHomogeneity(double, int, const
std::vector<double>&, const std::vector<double>&, const
std::vector<double>&, double, double, double, double, double, double, int,
double&, double&, double&, std::vector<double>&).
8 Error(s) detected.



Rgds,

Andreas



------------------------------------------------------------------------------
Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA
-OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise
-Strategies to boost innovation and cut costs with open source participation
-Receive a $600 discount off the registration fee with the source code: SFAD
http://p.sf.net/sfu/XcvMzF8H
_______________________________________________
QuantLib-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-dev