Boost C++ Libraries: Ticket #330: Error in msvc in building inheritance.obj to build hello.pyd https://svn.boost.org/trac10/ticket/330 <pre class="wiki">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: &lt;&lt;&lt; errors.txt contents below &gt;&gt;&gt; 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\rele ase\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&gt;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\rele ase\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&lt;Config &gt;::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 '&lt;' 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 : '&lt;' 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&gt; W:\boost_1_31_0\boost/graph/detail/adjacency_list.hpp (1055) : error C2244: 'bidirectional_graph_helper_with_property&lt;Config &gt;::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 &lt;class Config&gt; inline void bidirectional_graph_helper_with_property&lt;Config&gt;::remov e_edge(typename Config::edge_descriptor e) { typedef typename Config::graph_type graph_type; graph_type&amp; g = static_cast&lt;graph_type&amp;&gt;(*this); boost::remove_edge(source(e, g), target(e, g), *this); } // O(E/V) or O(log(E/V)) template &lt;class EdgeOrIter, class Config&gt; inline void remove_edge(EdgeOrIter e, bidirectional_graph_helper_with_property&lt;Config&gt;&amp; 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 '&lt;' 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 : '&lt;' 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&lt;class R, class T&gt; _mfi::dm&lt;R, T&gt; mem_fn(R T::*f) { return _mfi::dm&lt;R, T&gt;(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&gt;bjam - sTOOLS=msvc ...found 1978 targets... ...updating 7 targets... vc- C++ ..\..\..\..\bin\boost\libs\python\build\boost_python.d ll\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&lt;Config &gt;::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 '&lt;' 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 : '&lt;' 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.d ll\msvc\debug\inheritance.obj... ...skipped &lt;@boost!libs!python! build\boost_python.dll\msvc\debug&gt;boost_python.CMD for lack of &lt;@boost!libs!python! build\boost_python.dll\msvc\debug&gt;inheritance.obj... ...skipped &lt;@boost!libs!python! build\boost_python.dll\msvc\debug&gt;boost_python.dll for lack of &lt;@boost!libs!python! build\boost_python.dll\msvc\debug&gt;boost_python.CMD... ...skipped &lt;@boost!libs!python! build\boost_python.dll\msvc\debug&gt;boost_python.lib for lack of &lt;@boost!libs!python! build\boost_python.dll\msvc\debug&gt;boost_python.CMD... ...skipped &lt;@boost!libs!python!example! tutorial\hello.pyd\msvc\debug&gt;hello.CMD for lack of &lt;@boost!libs!python! build\boost_python.dll\msvc\debug&gt;boost_python.lib... ...skipped &lt;@boost!libs!python!example! tutorial\hello.pyd\msvc\debug&gt;hello.pyd for lack of &lt;@boost!libs!python! build\boost_python.dll\msvc\debug&gt;boost_python.dll... ...skipped &lt;@boost!libs!python!example! tutorial\hello.pyd\msvc\debug&gt;hello.lib for lack of &lt;@boost!libs!python! build\boost_python.dll\msvc\debug&gt;boost_python.dll... ...failed updating 1 target... ...skipped 6 targets... W:\boost_1_31_0\libs\python\example\tutorial&gt;dir hello*.* rem results: ALL hello.CMD hello.pyd hello.lib NOT FOUND Any Ideas about a possible solution? AIM Andre_Mikulec@Hotmail.com </pre> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/330 Trac 1.4.3 david_abrahams Fri, 14 Oct 2005 16:01:06 GMT status changed https://svn.boost.org/trac10/ticket/330#comment:1 https://svn.boost.org/trac10/ticket/330#comment:1 <ul> <li><strong>status</strong> <span class="trac-field-old">assigned</span> → <span class="trac-field-new">closed</span> </li> </ul> <pre class="wiki">Logged In: YES user_id=52572 Works fine in 1.33.0 AFAICT. </pre> Ticket