Error in msvc in building inheritance.obj to build hello.pyd

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
 
D

Donnie Leen

I use msvc 6.0 too, but my boost.python version is 1.32.0 , and i
didn't get error to compile the hello.pyd with the msvc6 IDE, the
hello demo from boost.python is compile with jam.
would you try to use boost.python 1.32.0 if no compatible problem
 
A

AIM

Donne Leen,

Thanks, thats a very good solution. I am glad to hear that the later
solution works for you.

I will try to get the 1.32.0 source Monday. I will try to compile
again next week.

Andre Mikulec
AIM
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,744
Messages
2,569,484
Members
44,903
Latest member
orderPeak8CBDGummies

Latest Threads

Top