Subject: [Boost-bugs] [Boost C++ Libraries] #2906: boost 1.33.1: build of boost::program_options failed with msvc7.1 and stlport5.0
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2009-04-03 07:25:21
#2906: boost 1.33.1: build of boost::program_options failed with msvc7.1 and
stlport5.0
----------------------------------------------------------+-----------------
Reporter: nikolay_at_[hidden] | Owner: vladimir_prus
Type: Bugs | Status: new
Milestone: Boost 1.39.0 | Component: program_options
Version: Boost 1.38.0 | Severity: Problem
Keywords: program_options dynamic stlport5 build error |
----------------------------------------------------------+-----------------
Some time ago I used msvc 7.1 + stlport 4.6.2 + boost 1.33.1. Everything
worked fine. Now I need a STLPort 5.0. I have installed Stlport 5.0 and
built them. Afterwards I have rebuilt the boost with STLport 5.0 using
following commands:
set STLPORT_PATH="some_real_patch_to_stl"
set STLPORT_VERSION=5.0
bjam -a "-sTOOLS=vc-7_1-stlport" "-sBUILD=debug release" stage
After the build I have noticed that boost::program_options failed to build
for dynamic target.
I have tried to rebuilt dynamic configuration with following command:
bjam "-sTOOLS=vc-7_1-stlport" "-sBUILD=debug release <runtime-
link>dynamic" stage
In the output following error message has been printed:
//////////////////////////////////////////
D:\TMP\SDK\boost_1_33_1\boost\program_options\variables_map.hpp(142) : s
ee reference to class template instantiation 'stlpd_std::map<_Key,_Tp>'
being co
mpiled
with
[
_Key=stlpd_std::string,
_Tp=boost::program_options::variable_value
]
"cl" /Zm800 -nologo /EHsc -c -DBOOST_ALL_DYN_LINK=1 -D_STLP_DEBUG=1
-D_STLP_DEBUG_UNINITIALIZED=1 -D_STLP_USE_DYNAMIC_LIB=1 /Z7 /Od /Ob0 /EHsc
/GR /MDd /Op /wd4675 /Zc:forScope -I"bin\boost\libs\program_options\build"
-I"D:\TMP\SDK\boo
st_1_33_1" -I"D:/TMP/SDK/\STLport-5.0\stlport" -I"D:\TMP\SDK\boost_1_33_1"
-Fo"
bin\boost\libs\program_options\build\boost_program_options.dll\vc-7_1-stlport\debug
\threading-multi\variables_map.obj"
-Tp"D:\TMP\SDK\boost_1_33_1\libs\program_options\build\../src/variables_map.cpp"
<SKIPPED>
vc-C++
bin\boost\libs\program_options\build\boost_program_options.dll\vc-7_1-stlport\release
\threading-multi\variables_map.obj
variables_map.cpp
D:/TMP\SDK\\STLport-5.0\stlport\stl\_tree.h(594) : error C2664: 'bool
stlp_std::less<_Tp>::operator ()(const _Tp &,const _Tp &) const' : cannot
convert parameter 2 from 'stlp_std::map<_Key,_Tp>::value_type' to 'const
stlp_std::string &'
with
[
_Tp=stlp_std::string
]
and
[
_Key=stlp_std::string,
_Tp=boost::program_options::variable_value
]
Reason: cannot convert from 'stlp_std::map<_Key,_Tp>::value_type'
to 'co
nst stlp_std::string'
with
[
_Key=stlp_std::string,
_Tp=boost::program_options::variable_value
]
No constructor could take the source type, or constructor overload
resolution was ambiguous
<SKIPPED>
//////////End of output
The dir tree now looks like:
Directory of
D:\TMP\SDK\boost_1_33_1\bin\boost\libs\program_options\build\boost_program_options.dll\vc-7_1-stlport\release
\threading-multi
30.03.2009 15:25 <DIR> .
30.03.2009 15:25 <DIR> ..
03.04.2009 01:26 404Â 113 cmdline.obj
03.04.2009 01:26 196Â 909 config_file.obj
03.04.2009 01:26 54Â 873 convert.obj
03.04.2009 01:26 402Â 844 options_description.obj
03.04.2009 01:26 488Â 046 parsers.obj
03.04.2009 01:26 54Â 994 positional_options.obj
03.04.2009 01:26 11Â 774 utf8_codecvt_facet.obj
03.04.2009 01:26 237Â 871 value_semantic.obj
03.04.2009 01:26 282Â 664 winmain.obj
9 File(s) 2Â 134Â 088 bytes
2 Dir(s) 102Â 982Â 483Â 968 bytes free
Please note that the same code has been succesfully compiled for static
target:
Directory of
D:\TMP\SDK\boost_1_33_1\bin\boost\libs\program_options\build\libbo
ost_program_options.lib\vc-7_1-stlport\release\threading-multi
03.04.2009 02:46 <DIR> .
03.04.2009 02:46 <DIR> ..
03.04.2009 01:25 288Â 214 cmdline.obj
03.04.2009 01:25 150Â 139 config_file.obj
03.04.2009 01:25 51Â 023 convert.obj
03.04.2009 02:46 1Â 251 libboost_program_options-
vc71-mt-p-1_33_1.CMD
03.04.2009 02:46 2Â 293Â 986 libboost_program_options-
vc71-mt-p-1_33_1.lib
03.04.2009 01:25 258Â 530 options_description.obj
03.04.2009 01:25 329Â 811 parsers.obj
03.04.2009 01:25 44Â 159 positional_options.obj
03.04.2009 01:25 4Â 836 utf8_codecvt_facet.obj
03.04.2009 01:25 181Â 627 value_semantic.obj
03.04.2009 02:46 145Â 073 variables_map.obj
03.04.2009 01:25 84Â 840 winmain.obj
12 File(s) 3Â 833Â 489 bytes
2 Dir(s) 102Â 982Â 483Â 968 bytes free
I have tried to update the boost::program_options library from trunk of
Boost SVN but the problem is still here. So I assume this issue is not
fixed yet. I would very appreciate if there is solution for this issue or
may be some workaround.
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/2906> Boost C++ Libraries <http://www.boost.org/> Boost provides free peer-reviewed portable C++ source libraries.
This archive was generated by hypermail 2.1.7 : 2017-02-16 18:49:59 UTC