By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
435,008 Members | 2,895 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 435,008 IT Pros & Developers. It's quick & easy.

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

P: n/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\bi n.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\ms vc\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\ms vc\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\bi n.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_pyt hon.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_pyt hon.dll\msvc\debug\inheritance.obj...
....skipped
<@boost!libs!python!build\boost_python.dll\msvc\de bug>boost_python.CMD
for lack of
<@boost!libs!python!build\boost_python.dll\msvc\de bug>inheritance.obj...
....skipped
<@boost!libs!python!build\boost_python.dll\msvc\de bug>boost_python.dll
for lack of
<@boost!libs!python!build\boost_python.dll\msvc\de bug>boost_python.CMD...
....skipped
<@boost!libs!python!build\boost_python.dll\msvc\de bug>boost_python.lib
for lack of
<@boost!libs!python!build\boost_python.dll\msvc\de bug>boost_python.CMD...
....skipped
<@boost!libs!python!example!tutorial\hello.pyd\msv c\debug>hello.CMD for
lack of
<@boost!libs!python!build\boost_python.dll\msvc\de bug>boost_python.lib...
....skipped
<@boost!libs!python!example!tutorial\hello.pyd\msv c\debug>hello.pyd for
lack of
<@boost!libs!python!build\boost_python.dll\msvc\de bug>boost_python.dll...
....skipped
<@boost!libs!python!example!tutorial\hello.pyd\msv c\debug>hello.lib for
lack of
<@boost!libs!python!build\boost_python.dll\msvc\de bug>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

Jul 18 '05 #1
Share this Question
Share on Google+
2 Replies


P: n/a
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

Jul 18 '05 #2

P: n/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

Jul 18 '05 #3

This discussion thread is closed

Replies have been disabled for this discussion.