A
AIM
Error in msvc in building inheritance.obj to build hello.pyd
Hello,
I am trying to build the boost 1.31.0 sample extension hello.cpp.
I can not compile the file inheritance.cpp because the two
files containing some templates: adjacency_list.hpp and mem_fn.hpp can
not compile.
Does anyone have any solutions?
Instead of Visual C++ 6.0 should I use a different compiler?
Anyone have any success on any other compiler?
Did anyone manage to build a hello.pyd?
Thank you very much.
Here is my script below (with embedded results).
rem I have MSVC 6.0 Service Pack 5 on Windows 2000 Service Pack 3
default installs on F:
rem Python is located in F:\Python23
rem Boost is located in W:\boost_1_31_0
rem MSVC stlPort 4.6.2 installed, compiled and
rem VC studio include dirs and libraries dirs configured to use it.
rem build boost.jam (so I have a bjam.exe for all below)
W:
vcvars32.bat
cd W:\boost_1_31_0\tools\build\jam_src
rem below since I have multilple toolsets installed I will always be
specific.
..\build.bat msvc
rem result: 2 minutes later: NO WARN NO ERRORS
dir W:\boost_1_31_0\tools\build\jam_src\bin.ntx86\*
rem result: OK I have *jam*.exe executables: bjam.exe jam.exe
mkjambase.exe yyacc.exe
rem build boost (using boost.jam (bjam from above))
W:
vcvars32.bat
set PYTHON_ROOT=F:\Python23
set PYTHON_VERSION=2.3
set PATH=%PATH%;W:\boost_1_31_0\tools\build\jam_src\bin.ntx86
rem APPEND THE BJAM PATH ABOVE TO THE SYSTEM ENVRONMENT VARIABLE PATH
cd W:\boost_1_31_0
rem below since I have multilple toolsets installed I will always be
specific.
bjam "-sTOOLS=msvc" install
rem about 90 minutes later ERROR RESULTS FOLLOW:
<<< errors.txt contents below >>>
cl /Zm800 -nologo -GX -c -DNDEBUG -DNDEBUG -DBOOST_PYTHON_DYNAMIC_LIB
-DBOOST_PYTHON_SOURCE /Ogity /O2 /Gs /Ob2 /GX /GR /MD
-I"bin\boost\libs\python\build" -I"W:\boost_1_31_0"
-I"F:\Python23\include" -I"F:\Program Files\Microsoft Visual
Studio\VC98\Include"
-Fo"bin\boost\libs\python\build\boost_python.dll\msvc\release\inheritance.obj"
-Tp"W:\boost_1_31_0\libs\python\build\../src/object/inheritance.cpp"
rem error below results below ...
F:\Program Files\Microsoft Visual Studio\VC98\Bin>cl /Zm800 -nologo
-GX -c -DNDEBUG -DNDEBUG -DBOOST_PYTHON_DYNAMIC_LIB
-DBOOST_PYTHON_SOURCE /Ogity /O2 /Gs /Ob2 /GX /GR /MD
-I"bin\boost\libs\python\build" -I"W:\boost_1_31_0"
-I"F:\Python23\include"
-I"F:\Program Files\Microsoft Visual Studio\VC98\Include"
-Fo"bin\boost\libs\python\build\boost_python.dll\msvc\release\inheritance.obj"
-Tp"W:\boost_1_31_0\libs\python\build\../src/object/inheritance.cpp"
inheritance.cpp
W:\boost_1_31_0\boost/graph/detail/adjacency_list.hpp(1055) : error
C2244: 'bidirectional_graph_helper_with_property<Config>::remove_edge'
: unable to resolve function overload
W:\boost_1_31_0\boost/graph/detail/adjacency_list.hpp(1057) : error
C2954: template definitions cannot nest
W:\boost_1_31_0\boost/mem_fn.hpp(315) : error C2039: 'dm' : is not a
member of '_mfi'
W:\boost_1_31_0\boost/mem_fn.hpp(315) : error C2143: syntax error :
missing ';' before '<'
W:\boost_1_31_0\boost/mem_fn.hpp(315) : error C2501: 'dm' : missing
storage-class or type specifiers
W:\boost_1_31_0\boost/mem_fn.hpp(315) : error C2059: syntax error : ';'
W:\boost_1_31_0\boost/mem_fn.hpp(315) : error C2059: syntax error : '<'
W:\boost_1_31_0\boost/mem_fn.hpp(315) : error C2653: 'T' : is not a
class or namespace name
W:\boost_1_31_0\boost/mem_fn.hpp(315) : error C2645: no qualified name
for pointer to member (found ':: *')
W:\boost_1_31_0\boost/mem_fn.hpp(320) : error C2143: syntax error :
missing ';' before '}'
W:\boost_1_31_0\boost/mem_fn.hpp(320) : fatal error C1506:
unrecoverable block scoping error
F:\Program Files\Microsoft Visual Studio\VC98\Bin>
W:\boost_1_31_0\boost/graph/detail/adjacency_list.hpp(1055) : error
C2244: 'bidirectional_graph_helper_with_property<Config>::remove_edge'
: unable to resolve function overload
W:\boost_1_31_0\boost/graph/detail/adjacency_list.hpp(1057) : error
C2954: template definitions cannot nest
rem the problem area in adjacency_list.hpp is here ...
template <class Config>
inline void
bidirectional_graph_helper_with_property<Config>::remove_edge(typename
Config::edge_descriptor e)
{
typedef typename Config::graph_type graph_type;
graph_type& g = static_cast<graph_type&>(*this);
boost::remove_edge(source(e, g), target(e, g), *this);
}
// O(E/V) or O(log(E/V))
template <class EdgeOrIter, class Config>
inline void
remove_edge(EdgeOrIter e,
bidirectional_graph_helper_with_property<Config>& g_)
{
g_.remove_edge(e);
}
W:\boost_1_31_0\boost/mem_fn.hpp(315) : error C2039: 'dm' : is not a
member of '_mfi'
W:\boost_1_31_0\boost/mem_fn.hpp(315) : error C2143: syntax error :
missing ';' before '<'
W:\boost_1_31_0\boost/mem_fn.hpp(315) : error C2501: 'dm' : missing
storage-class or type specifiers
W:\boost_1_31_0\boost/mem_fn.hpp(315) : error C2059: syntax error : ';'
W:\boost_1_31_0\boost/mem_fn.hpp(315) : error C2059: syntax error : '<'
W:\boost_1_31_0\boost/mem_fn.hpp(315) : error C2653: 'T' : is not a
class or namespace name
W:\boost_1_31_0\boost/mem_fn.hpp(315) : error C2645: no qualified name
for pointer to member (found ':: *')
W:\boost_1_31_0\boost/mem_fn.hpp(320) : error C2143: syntax error :
missing ';' before '}'
W:\boost_1_31_0\boost/mem_fn.hpp(320) : fatal error C1506:
unrecoverable block scoping error
rem The problem area in mem_fn.hpp is here ...
creating a template class at the end of mem_fn.hpp
template<class R, class T> _mfi::dm<R, T> mem_fn(R T::*f)
{
return _mfi::dm<R, T>(f);
}
} // namespace boost
rem build hello world
W:
vcvars32.bat
set PYTHON_ROOT=F:\Python23
set PYTHON_VERSION=2.3
set PATH=%PATH%;W:\boost_1_31_0\tools\build\jam_src\bin.ntx86
rem APPEND THE BJAM PATH ABOVE TO THE SYSTEM ENVRONMENT VARIABLE PATH
cd W:\boost_1_31_0\libs\python\example\tutorial
bjam -sTOOLS=msvc
The results are as follows
W:\boost_1_31_0\libs\python\example\tutorial>bjam -sTOOLS=msvc
....found 1978 targets...
....updating 7 targets...
vc-C++
...\..\..\..\bin\boost\libs\python\build\boost_python.dll\msvc\debug\inheritance.obj
inheritance.cpp
W:\boost_1_31_0\boost/graph/detail/adjacency_list.hpp(1055) : error
C2244: 'bidirectional_graph_helper_with_property<Config>::remove_edge'
: unable to resolve function overload
W:\boost_1_31_0\boost/graph/detail/adjacency_list.hpp(1057) : error
C2954: template definitions cannot nest
W:\boost_1_31_0\boost/mem_fn.hpp(315) : error C2039: 'dm' : is not a
member of '_mfi'
W:\boost_1_31_0\boost/mem_fn.hpp(315) : error C2143: syntax error :
missing ';' before '<'
W:\boost_1_31_0\boost/mem_fn.hpp(315) : error C2501: 'dm' : missing
storage-class or type specifiers
W:\boost_1_31_0\boost/mem_fn.hpp(315) : error C2059: syntax error : ';'
W:\boost_1_31_0\boost/mem_fn.hpp(315) : error C2059: syntax error : '<'
W:\boost_1_31_0\boost/mem_fn.hpp(315) : error C2653: 'T' : is not a
class or namespace name
W:\boost_1_31_0\boost/mem_fn.hpp(315) : error C2645: no qualified name
for pointer to member (found ':: *')
W:\boost_1_31_0\boost/mem_fn.hpp(320) : error C2143: syntax error :
missing ';' before '}'
W:\boost_1_31_0\boost/mem_fn.hpp(320) : fatal error C1506:
unrecoverable block scoping error
"cl" /Zm800 -nologo -GX -c -DBOOST_PYTHON_DYNAMIC_LIB
-DBOOST_PYTHON_SOURCE /Z7 /Od /Ob0 /GX /GR /MDd
-I"..\..\..\..\bin\boost\libs\python\build" -I"W:\boost_1_31_0"
-I"F:\Python23\include" -I"F:\PROGRA~1\MICROS~3\VC98\include"
-Fo"..\..\..\..
\bin\boost\libs\python\build\boost_python.dll\msvc\debug\inheritance.obj"
-Tp"W:\boost_1_31_0\libs\python\build\../src/object/inheritance.cpp"
....failed vc-C++
...\..\..\..\bin\boost\libs\python\build\boost_python.dll\msvc\debug\inheritance.obj...
....skipped
<@boost!libs!python!build\boost_python.dll\msvc\debug>boost_python.CMD
for lack of
<@boost!libs!python!build\boost_python.dll\msvc\debug>inheritance.obj...
....skipped
<@boost!libs!python!build\boost_python.dll\msvc\debug>boost_python.dll
for lack of
<@boost!libs!python!build\boost_python.dll\msvc\debug>boost_python.CMD...
....skipped
<@boost!libs!python!build\boost_python.dll\msvc\debug>boost_python.lib
for lack of
<@boost!libs!python!build\boost_python.dll\msvc\debug>boost_python.CMD...
....skipped
<@boost!libs!python!example!tutorial\hello.pyd\msvc\debug>hello.CMD for
lack of
<@boost!libs!python!build\boost_python.dll\msvc\debug>boost_python.lib...
....skipped
<@boost!libs!python!example!tutorial\hello.pyd\msvc\debug>hello.pyd for
lack of
<@boost!libs!python!build\boost_python.dll\msvc\debug>boost_python.dll...
....skipped
<@boost!libs!python!example!tutorial\hello.pyd\msvc\debug>hello.lib for
lack of
<@boost!libs!python!build\boost_python.dll\msvc\debug>boost_python.dll...
....failed updating 1 target...
....skipped 6 targets...
W:\boost_1_31_0\libs\python\example\tutorial>dir hello*.*
rem results: ALL hello.CMD hello.pyd hello.lib NOT FOUND
Any Ideas about a possible solution?
AIM
Hello,
I am trying to build the boost 1.31.0 sample extension hello.cpp.
I can not compile the file inheritance.cpp because the two
files containing some templates: adjacency_list.hpp and mem_fn.hpp can
not compile.
Does anyone have any solutions?
Instead of Visual C++ 6.0 should I use a different compiler?
Anyone have any success on any other compiler?
Did anyone manage to build a hello.pyd?
Thank you very much.
Here is my script below (with embedded results).
rem I have MSVC 6.0 Service Pack 5 on Windows 2000 Service Pack 3
default installs on F:
rem Python is located in F:\Python23
rem Boost is located in W:\boost_1_31_0
rem MSVC stlPort 4.6.2 installed, compiled and
rem VC studio include dirs and libraries dirs configured to use it.
rem build boost.jam (so I have a bjam.exe for all below)
W:
vcvars32.bat
cd W:\boost_1_31_0\tools\build\jam_src
rem below since I have multilple toolsets installed I will always be
specific.
..\build.bat msvc
rem result: 2 minutes later: NO WARN NO ERRORS
dir W:\boost_1_31_0\tools\build\jam_src\bin.ntx86\*
rem result: OK I have *jam*.exe executables: bjam.exe jam.exe
mkjambase.exe yyacc.exe
rem build boost (using boost.jam (bjam from above))
W:
vcvars32.bat
set PYTHON_ROOT=F:\Python23
set PYTHON_VERSION=2.3
set PATH=%PATH%;W:\boost_1_31_0\tools\build\jam_src\bin.ntx86
rem APPEND THE BJAM PATH ABOVE TO THE SYSTEM ENVRONMENT VARIABLE PATH
cd W:\boost_1_31_0
rem below since I have multilple toolsets installed I will always be
specific.
bjam "-sTOOLS=msvc" install
rem about 90 minutes later ERROR RESULTS FOLLOW:
<<< errors.txt contents below >>>
cl /Zm800 -nologo -GX -c -DNDEBUG -DNDEBUG -DBOOST_PYTHON_DYNAMIC_LIB
-DBOOST_PYTHON_SOURCE /Ogity /O2 /Gs /Ob2 /GX /GR /MD
-I"bin\boost\libs\python\build" -I"W:\boost_1_31_0"
-I"F:\Python23\include" -I"F:\Program Files\Microsoft Visual
Studio\VC98\Include"
-Fo"bin\boost\libs\python\build\boost_python.dll\msvc\release\inheritance.obj"
-Tp"W:\boost_1_31_0\libs\python\build\../src/object/inheritance.cpp"
rem error below results below ...
F:\Program Files\Microsoft Visual Studio\VC98\Bin>cl /Zm800 -nologo
-GX -c -DNDEBUG -DNDEBUG -DBOOST_PYTHON_DYNAMIC_LIB
-DBOOST_PYTHON_SOURCE /Ogity /O2 /Gs /Ob2 /GX /GR /MD
-I"bin\boost\libs\python\build" -I"W:\boost_1_31_0"
-I"F:\Python23\include"
-I"F:\Program Files\Microsoft Visual Studio\VC98\Include"
-Fo"bin\boost\libs\python\build\boost_python.dll\msvc\release\inheritance.obj"
-Tp"W:\boost_1_31_0\libs\python\build\../src/object/inheritance.cpp"
inheritance.cpp
W:\boost_1_31_0\boost/graph/detail/adjacency_list.hpp(1055) : error
C2244: 'bidirectional_graph_helper_with_property<Config>::remove_edge'
: unable to resolve function overload
W:\boost_1_31_0\boost/graph/detail/adjacency_list.hpp(1057) : error
C2954: template definitions cannot nest
W:\boost_1_31_0\boost/mem_fn.hpp(315) : error C2039: 'dm' : is not a
member of '_mfi'
W:\boost_1_31_0\boost/mem_fn.hpp(315) : error C2143: syntax error :
missing ';' before '<'
W:\boost_1_31_0\boost/mem_fn.hpp(315) : error C2501: 'dm' : missing
storage-class or type specifiers
W:\boost_1_31_0\boost/mem_fn.hpp(315) : error C2059: syntax error : ';'
W:\boost_1_31_0\boost/mem_fn.hpp(315) : error C2059: syntax error : '<'
W:\boost_1_31_0\boost/mem_fn.hpp(315) : error C2653: 'T' : is not a
class or namespace name
W:\boost_1_31_0\boost/mem_fn.hpp(315) : error C2645: no qualified name
for pointer to member (found ':: *')
W:\boost_1_31_0\boost/mem_fn.hpp(320) : error C2143: syntax error :
missing ';' before '}'
W:\boost_1_31_0\boost/mem_fn.hpp(320) : fatal error C1506:
unrecoverable block scoping error
F:\Program Files\Microsoft Visual Studio\VC98\Bin>
W:\boost_1_31_0\boost/graph/detail/adjacency_list.hpp(1055) : error
C2244: 'bidirectional_graph_helper_with_property<Config>::remove_edge'
: unable to resolve function overload
W:\boost_1_31_0\boost/graph/detail/adjacency_list.hpp(1057) : error
C2954: template definitions cannot nest
rem the problem area in adjacency_list.hpp is here ...
template <class Config>
inline void
bidirectional_graph_helper_with_property<Config>::remove_edge(typename
Config::edge_descriptor e)
{
typedef typename Config::graph_type graph_type;
graph_type& g = static_cast<graph_type&>(*this);
boost::remove_edge(source(e, g), target(e, g), *this);
}
// O(E/V) or O(log(E/V))
template <class EdgeOrIter, class Config>
inline void
remove_edge(EdgeOrIter e,
bidirectional_graph_helper_with_property<Config>& g_)
{
g_.remove_edge(e);
}
W:\boost_1_31_0\boost/mem_fn.hpp(315) : error C2039: 'dm' : is not a
member of '_mfi'
W:\boost_1_31_0\boost/mem_fn.hpp(315) : error C2143: syntax error :
missing ';' before '<'
W:\boost_1_31_0\boost/mem_fn.hpp(315) : error C2501: 'dm' : missing
storage-class or type specifiers
W:\boost_1_31_0\boost/mem_fn.hpp(315) : error C2059: syntax error : ';'
W:\boost_1_31_0\boost/mem_fn.hpp(315) : error C2059: syntax error : '<'
W:\boost_1_31_0\boost/mem_fn.hpp(315) : error C2653: 'T' : is not a
class or namespace name
W:\boost_1_31_0\boost/mem_fn.hpp(315) : error C2645: no qualified name
for pointer to member (found ':: *')
W:\boost_1_31_0\boost/mem_fn.hpp(320) : error C2143: syntax error :
missing ';' before '}'
W:\boost_1_31_0\boost/mem_fn.hpp(320) : fatal error C1506:
unrecoverable block scoping error
rem The problem area in mem_fn.hpp is here ...
creating a template class at the end of mem_fn.hpp
template<class R, class T> _mfi::dm<R, T> mem_fn(R T::*f)
{
return _mfi::dm<R, T>(f);
}
} // namespace boost
rem build hello world
W:
vcvars32.bat
set PYTHON_ROOT=F:\Python23
set PYTHON_VERSION=2.3
set PATH=%PATH%;W:\boost_1_31_0\tools\build\jam_src\bin.ntx86
rem APPEND THE BJAM PATH ABOVE TO THE SYSTEM ENVRONMENT VARIABLE PATH
cd W:\boost_1_31_0\libs\python\example\tutorial
bjam -sTOOLS=msvc
The results are as follows
W:\boost_1_31_0\libs\python\example\tutorial>bjam -sTOOLS=msvc
....found 1978 targets...
....updating 7 targets...
vc-C++
...\..\..\..\bin\boost\libs\python\build\boost_python.dll\msvc\debug\inheritance.obj
inheritance.cpp
W:\boost_1_31_0\boost/graph/detail/adjacency_list.hpp(1055) : error
C2244: 'bidirectional_graph_helper_with_property<Config>::remove_edge'
: unable to resolve function overload
W:\boost_1_31_0\boost/graph/detail/adjacency_list.hpp(1057) : error
C2954: template definitions cannot nest
W:\boost_1_31_0\boost/mem_fn.hpp(315) : error C2039: 'dm' : is not a
member of '_mfi'
W:\boost_1_31_0\boost/mem_fn.hpp(315) : error C2143: syntax error :
missing ';' before '<'
W:\boost_1_31_0\boost/mem_fn.hpp(315) : error C2501: 'dm' : missing
storage-class or type specifiers
W:\boost_1_31_0\boost/mem_fn.hpp(315) : error C2059: syntax error : ';'
W:\boost_1_31_0\boost/mem_fn.hpp(315) : error C2059: syntax error : '<'
W:\boost_1_31_0\boost/mem_fn.hpp(315) : error C2653: 'T' : is not a
class or namespace name
W:\boost_1_31_0\boost/mem_fn.hpp(315) : error C2645: no qualified name
for pointer to member (found ':: *')
W:\boost_1_31_0\boost/mem_fn.hpp(320) : error C2143: syntax error :
missing ';' before '}'
W:\boost_1_31_0\boost/mem_fn.hpp(320) : fatal error C1506:
unrecoverable block scoping error
"cl" /Zm800 -nologo -GX -c -DBOOST_PYTHON_DYNAMIC_LIB
-DBOOST_PYTHON_SOURCE /Z7 /Od /Ob0 /GX /GR /MDd
-I"..\..\..\..\bin\boost\libs\python\build" -I"W:\boost_1_31_0"
-I"F:\Python23\include" -I"F:\PROGRA~1\MICROS~3\VC98\include"
-Fo"..\..\..\..
\bin\boost\libs\python\build\boost_python.dll\msvc\debug\inheritance.obj"
-Tp"W:\boost_1_31_0\libs\python\build\../src/object/inheritance.cpp"
....failed vc-C++
...\..\..\..\bin\boost\libs\python\build\boost_python.dll\msvc\debug\inheritance.obj...
....skipped
<@boost!libs!python!build\boost_python.dll\msvc\debug>boost_python.CMD
for lack of
<@boost!libs!python!build\boost_python.dll\msvc\debug>inheritance.obj...
....skipped
<@boost!libs!python!build\boost_python.dll\msvc\debug>boost_python.dll
for lack of
<@boost!libs!python!build\boost_python.dll\msvc\debug>boost_python.CMD...
....skipped
<@boost!libs!python!build\boost_python.dll\msvc\debug>boost_python.lib
for lack of
<@boost!libs!python!build\boost_python.dll\msvc\debug>boost_python.CMD...
....skipped
<@boost!libs!python!example!tutorial\hello.pyd\msvc\debug>hello.CMD for
lack of
<@boost!libs!python!build\boost_python.dll\msvc\debug>boost_python.lib...
....skipped
<@boost!libs!python!example!tutorial\hello.pyd\msvc\debug>hello.pyd for
lack of
<@boost!libs!python!build\boost_python.dll\msvc\debug>boost_python.dll...
....skipped
<@boost!libs!python!example!tutorial\hello.pyd\msvc\debug>hello.lib for
lack of
<@boost!libs!python!build\boost_python.dll\msvc\debug>boost_python.dll...
....failed updating 1 target...
....skipped 6 targets...
W:\boost_1_31_0\libs\python\example\tutorial>dir hello*.*
rem results: ALL hello.CMD hello.pyd hello.lib NOT FOUND
Any Ideas about a possible solution?
AIM