[C++-sig] STLPort problems

Mike Thompson mike.thompson at day8.com.au
Thu Aug 28 10:07:30 CEST 2003


I'm getting compile time errors when building Boost.Python using STLport.

I'm using the following combination:

     Python     2.3
     Boost      1.30.2
     STLport   4.5.3
     VC++ 6
on Windows XP Pro

These compile time problems (see below) do NOT happen if I remove use of
STLport and just use the VC++6 standard libs. When I do that I get a clean
compile.

To get around the problem, I have tried overnight cvs and I've also tried using
the VC6 projects supplied in the distribution.  Exactly the same problem each
time.  No difference.

The compile errors occurs on some, but not all, files.

Here are the first few error lines when I use 1.30.2 and the supplied VC6
projects:

--------------------Configuration: boost_python - Win32
Debug--------------------
Compiling...
builtin_converters.cpp
C:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\../include/new(35) :
warning C4290: C++ Exception Specification ignored
C:\MEDIAWISE\LIBS\STLPORT-4.5.3\STLPORT\wrap_std/complex(41) : error C2039:
'tan' : is not a member of 'std'
C:\MEDIAWISE\LIBS\STLPORT-4.5.3\STLPORT\wrap_std/complex(41) : error C2873:
'tan' : symbol cannot be used in a using-declaration
C:\MEDIAWISE\LIBS\STLPORT-4.5.3\STLPORT\wrap_std/complex(42) : error C2039:
'tanh' : is not a member of 'std'
C:\MEDIAWISE\LIBS\STLPORT-4.5.3\STLPORT\wrap_std/complex(42) : error C2873:
'tanh' : symbol cannot be used in a using-declaration
../../../../boost/python/converter/builtin_converters.hpp(106) : error C2146:
syntax error : missing ',' before identifier 'LONG_LONG'
../../../../boost/python/converter/builtin_converters.hpp(106) : error C2065:
'LONG_LONG' : undeclared identifier
../../../../boost/python/converter/builtin_converters.hpp(106) : error C2059:
syntax error : '>'
../../../../boost/python/converter/builtin_converters.hpp(106) : error C2143:
syntax error : missing ';' before '{'
../../../../boost/python/converter/builtin_converters.hpp(106) : error C2146:
syntax error : missing ',' before identifier 'LONG_LONG'
../../../../boost/python/converter/builtin_converters.hpp(106) : error C2144:
syntax error : missing ',' before type 'const int'
../../../../boost/python/converter/builtin_converters.hpp(106) : error C2990:
'to_python_value' : non-template class has already been defined as a template
class
        ../../../../boost/python/converter/builtin_converters.hpp(33) : see
declaration of 'to_python_value'
../../../../boost/python/converter/builtin_converters.hpp(106) : error C2913:
explicit specialization; 'struct boost::python::arg_to_python
boost::python::arg_to_python' is not a class template
        ../../../../boost/python/converter/builtin_converters.hpp(106) : see
declaration of 'arg_to_python'
../../../../boost/python/converter/builtin_converters.hpp(107) : error C2146:
syntax error : missing ',' before identifier 'LONG_LONG'
../../../../boost/python/converter/builtin_converters.hpp(107) : error C2059:
syntax error : '>'
../../../../boost/python/converter/builtin_converters.hpp(107) : error C2143:
syntax error : missing ';' before '{'
../../../../boost/python/converter/builtin_converters.hpp(107) : error C2146:
syntax error : missing ',' before identifier 'LONG_LONG'

...... etc


I will now delve deeper, but wanted to make sure I'm not making an obvious
mistake.  To build, I'm using a batch file like this:


rem  Get environment right for compiler -- comment out after first run
rem "C:\Program Files\Microsoft Visual Studio\VC98\Bin\VCVARS32.BAT"

rem  Setup for Boost.Python
set PYTHON_ROOT=C:\Python23
set PYTHON_VERSION=2.3

rem Setup for Boost 'toolset'
set STLPORT_PATH=C:\proj\libs
set STLPORT_4.5.3_PATH=C:\proj\libs\STLport-4.5.3
set STLPORT_VERSION=4.5.3

bin.ntx86\bjam "-sTOOLS=msvc-stlport"

--
Mike













More information about the Cplusplus-sig mailing list