python SWIG build errors on OSX

Posted by Akhil Shah on
URL: http://quantlib.414.s1.nabble.com/python-SWIG-build-errors-on-OSX-tp6020.html

Hi, 
I am just beginning to use QuantLib, and am having trouble with the 'python setup.py build' command for the SWIG wrapper on OSX.  I was able to successfully build and install the quantlib libraries (stored in /usr/local/lib, with header files stored in /usr/local/include/ql as per default settings) and was also able to create the SWIG wrappers with 'python setup.py wrap'. 

Info that may be relevant:
OS = OS X 10.4.11
Boost v1.35
QuantLib r13819
Swig 1.3.20

Thanks in Advance,
Akhil

Let me just apologize for the screen dump below, but may be this will help in figuring out my error:
running build
running build_py
running build_ext
building 'QuantLib._QuantLib' extension
g++ -arch ppc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk -fno-strict-aliasing -Wno-long-double -no-cpp-precomp -mno-fused-madd -fPIC -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/Library/Frameworks/Python.framework/Versions/2.5/include/python2.5 -I/usr/local/include -I/sw/include -c QuantLib/quantlib_wrap.cpp -o build/temp.macosx-10.3-i386-2.5/QuantLib/quantlib_wrap.o -Wno-unused
cc1plus: warning: command line option "-Wstrict-prototypes" is valid for C/ObjC but not for C++
cc1plus: warning: command line option "-Wstrict-prototypes" is valid for C/ObjC but not for C++
/sw/include/boost/range/iterator_range.hpp: In member function 'IteratorT boost::iterator_range<IteratorT>::begin() const':
/sw/include/boost/range/iterator_range.hpp:265: error: there are no arguments to 'is_singular' that depend on a template parameter, so a declaration of 'is_singular' must be available
/sw/include/boost/range/iterator_range.hpp:265: error: (if you use '-fpermissive', G++ will accept your code, but allowing the use of an undeclared name is deprecated)
/sw/include/boost/range/iterator_range.hpp: In member function 'IteratorT boost::iterator_range<IteratorT>::end() const':
/sw/include/boost/range/iterator_range.hpp:271: error: there are no arguments to 'is_singular' that depend on a template parameter, so a declaration of 'is_singular' must be available
/sw/include/boost/range/iterator_range.hpp: In member function 'typename boost::iterator_difference<Iterator>::type boost::iterator_range<IteratorT>::size() const':
/sw/include/boost/range/iterator_range.hpp:277: error: there are no arguments to 'is_singular' that depend on a template parameter, so a declaration of 'is_singular' must be available
/sw/include/boost/range/iterator_range.hpp: In member function 'bool boost::iterator_range<IteratorT>::empty() const':
/sw/include/boost/range/iterator_range.hpp:283: error: there are no arguments to 'is_singular' that depend on a template parameter, so a declaration of 'is_singular' must be available
/sw/include/boost/range/iterator_range.hpp: In member function 'bool boost::iterator_range<IteratorT>::equal(const boost::iterator_range<IteratorT>&) const':
/sw/include/boost/range/iterator_range.hpp:302: error: there are no arguments to 'is_singular' that depend on a template parameter, so a declaration of 'is_singular' must be available
/sw/include/boost/range/iterator_range.hpp: In member function 'boost::iterator_range<IteratorT>& boost::iterator_range<IteratorT>::advance_begin(typename boost::iterator_difference<Iterator>::type)':
/sw/include/boost/range/iterator_range.hpp:362: error: there are no arguments to 'is_singular' that depend on a template parameter, so a declaration of 'is_singular' must be available
/sw/include/boost/range/iterator_range.hpp: In member function 'boost::iterator_range<IteratorT>& boost::iterator_range<IteratorT>::advance_end(typename boost::iterator_difference<Iterator>::type)':
/sw/include/boost/range/iterator_range.hpp:369: error: there are no arguments to 'is_singular' that depend on a template parameter, so a declaration of 'is_singular' must be available
/sw/include/boost/range/iterator_range.hpp: In member function 'IteratorT boost::iterator_range<IteratorT>::begin() const':
/sw/include/boost/range/iterator_range.hpp:265: error: there are no arguments to 'is_singular' that depend on a template parameter, so a declaration of 'is_singular' must be available
/sw/include/boost/range/iterator_range.hpp:265: error: (if you use '-fpermissive', G++ will accept your code, but allowing the use of an undeclared name is deprecated)
/sw/include/boost/range/iterator_range.hpp: In member function 'IteratorT boost::iterator_range<IteratorT>::end() const':
/sw/include/boost/range/iterator_range.hpp:271: error: there are no arguments to 'is_singular' that depend on a template parameter, so a declaration of 'is_singular' must be available
/sw/include/boost/range/iterator_range.hpp: In member function 'typename boost::iterator_difference<Iterator>::type boost::iterator_range<IteratorT>::size() const':
/sw/include/boost/range/iterator_range.hpp:277: error: there are no arguments to 'is_singular' that depend on a template parameter, so a declaration of 'is_singular' must be available
/sw/include/boost/range/iterator_range.hpp: In member function 'bool boost::iterator_range<IteratorT>::empty() const':
/sw/include/boost/range/iterator_range.hpp:283: error: there are no arguments to 'is_singular' that depend on a template parameter, so a declaration of 'is_singular' must be available
/sw/include/boost/range/iterator_range.hpp: In member function 'bool boost::iterator_range<IteratorT>::equal(const boost::iterator_range<IteratorT>&) const':
/sw/include/boost/range/iterator_range.hpp:302: error: there are no arguments to 'is_singular' that depend on a template parameter, so a declaration of 'is_singular' must be available
/sw/include/boost/range/iterator_range.hpp: In member function 'boost::iterator_range<IteratorT>& boost::iterator_range<IteratorT>::advance_begin(typename boost::iterator_difference<Iterator>::type)':
/sw/include/boost/range/iterator_range.hpp:362: error: there are no arguments to 'is_singular' that depend on a template parameter, so a declaration of 'is_singular' must be available
/sw/include/boost/range/iterator_range.hpp: In member function 'boost::iterator_range<IteratorT>& boost::iterator_range<IteratorT>::advance_end(typename boost::iterator_difference<Iterator>::type)':
/sw/include/boost/range/iterator_range.hpp:369: error: there are no arguments to 'is_singular' that depend on a template parameter, so a declaration of 'is_singular' must be available
QuantLib/quantlib_wrap.cpp: At global scope:
QuantLib/quantlib_wrap.cpp:108473: error: 'American' is not a member of 'boost::shared_ptr<QuantLib::Exercise>'
QuantLib/quantlib_wrap.cpp:108474: error: 'Bermudan' is not a member of 'boost::shared_ptr<QuantLib::Exercise>'
QuantLib/quantlib_wrap.cpp:108475: error: 'European' is not a member of 'boost::shared_ptr<QuantLib::Exercise>'
QuantLib/quantlib_wrap.cpp:108533: error: 'ConstantExtrapolation' is not a member of 'BlackVarianceSurfacePtr'
QuantLib/quantlib_wrap.cpp:108534: error: 'InterpolatorDefaultExtrapolation' is not a member of 'BlackVarianceSurfacePtr'
QuantLib/quantlib_wrap.cpp:108554: error: 'Call' is not a member of 'boost::shared_ptr<QuantLib::Callability>'
QuantLib/quantlib_wrap.cpp:108555: error: 'Put' is not a member of 'boost::shared_ptr<QuantLib::Callability>'
QuantLib/quantlib_wrap.cpp:108575: error: 'NoSide' is not a member of 'boost::shared_ptr<QuantLib::BoundaryCondition<QuantLib::TridiagonalOperator> >'
QuantLib/quantlib_wrap.cpp:108576: error: 'Upper' is not a member of 'boost::shared_ptr<QuantLib::BoundaryCondition<QuantLib::TridiagonalOperator> >'
QuantLib/quantlib_wrap.cpp:108577: error: 'Lower' is not a member of 'boost::shared_ptr<QuantLib::BoundaryCondition<QuantLib::TridiagonalOperator> >'
QuantLib/quantlib_wrap.cpp:108585: error: 'Receiver' is not a member of 'VanillaSwapPtr'
QuantLib/quantlib_wrap.cpp:108586: error: 'Payer' is not a member of 'VanillaSwapPtr'
QuantLib/quantlib_wrap.cpp: At global scope:
QuantLib/quantlib_wrap.cpp:108473: error: 'American' is not a member of 'boost::shared_ptr<QuantLib::Exercise>'
QuantLib/quantlib_wrap.cpp:108474: error: 'Bermudan' is not a member of 'boost::shared_ptr<QuantLib::Exercise>'
QuantLib/quantlib_wrap.cpp:108475: error: 'European' is not a member of 'boost::shared_ptr<QuantLib::Exercise>'
QuantLib/quantlib_wrap.cpp:108533: error: 'ConstantExtrapolation' is not a member of 'BlackVarianceSurfacePtr'
QuantLib/quantlib_wrap.cpp:108534: error: 'InterpolatorDefaultExtrapolation' is not a member of 'BlackVarianceSurfacePtr'
QuantLib/quantlib_wrap.cpp:108554: error: 'Call' is not a member of 'boost::shared_ptr<QuantLib::Callability>'
QuantLib/quantlib_wrap.cpp:108555: error: 'Put' is not a member of 'boost::shared_ptr<QuantLib::Callability>'
QuantLib/quantlib_wrap.cpp:108575: error: 'NoSide' is not a member of 'boost::shared_ptr<QuantLib::BoundaryCondition<QuantLib::TridiagonalOperator> >'
QuantLib/quantlib_wrap.cpp:108576: error: 'Upper' is not a member of 'boost::shared_ptr<QuantLib::BoundaryCondition<QuantLib::TridiagonalOperator> >'
QuantLib/quantlib_wrap.cpp:108577: error: 'Lower' is not a member of 'boost::shared_ptr<QuantLib::BoundaryCondition<QuantLib::TridiagonalOperator> >'
QuantLib/quantlib_wrap.cpp:108585: error: 'Receiver' is not a member of 'VanillaSwapPtr'
QuantLib/quantlib_wrap.cpp:108586: error: 'Payer' is not a member of 'VanillaSwapPtr'
/Developer/SDKs/MacOSX10.4u.sdk/usr/include/c++/4.0.0/bits/stl_pair.h: In constructor 'std::pair<_T1, _T2>::pair(const std::pair<_U1, _U2>&) [with _U1 = QuantLib::Date*, _U2 = double, _T1 = QuantLib::Date, _T2 = QuantLib::DiscountFactor]':
QuantLib/quantlib_wrap.cpp:12630:   instantiated from here
/Developer/SDKs/MacOSX10.4u.sdk/usr/include/c++/4.0.0/bits/stl_pair.h:90: error: invalid conversion from 'QuantLib::Date* const' to 'QuantLib::BigInteger'
/Developer/SDKs/MacOSX10.4u.sdk/usr/include/c++/4.0.0/bits/stl_pair.h:90: error:   initializing argument 1 of 'QuantLib::Date::Date(QuantLib::BigInteger)'
/Developer/SDKs/MacOSX10.4u.sdk/usr/include/c++/4.0.0/bits/stl_pair.h: In constructor 'std::pair<_T1, _T2>::pair(const std::pair<_U1, _U2>&) [with _U1 = QuantLib::Date*, _U2 = double, _T1 = QuantLib::Date, _T2 = QuantLib::DiscountFactor]':
QuantLib/quantlib_wrap.cpp:12630:   instantiated from here
/Developer/SDKs/MacOSX10.4u.sdk/usr/include/c++/4.0.0/bits/stl_pair.h:90: error: invalid conversion from 'QuantLib::Date* const' to 'QuantLib::BigInteger'
/Developer/SDKs/MacOSX10.4u.sdk/usr/include/c++/4.0.0/bits/stl_pair.h:90: error:   initializing argument 1 of 'QuantLib::Date::Date(QuantLib::BigInteger)'
lipo: can't figure out the architecture type of: /var/tmp//cc5Kd8bJ.out
error: command 'g++' failed with exit status 1

-------------------------------------------------------------------------
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference
Don't miss this year's exciting event. There's still time to save $100.
Use priority code J8TL2D2.
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
_______________________________________________
QuantLib-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-users