compilation problem on solaris-gcc with stlport
Does anyone know why I am seeing problems? I am trying to compile boost on a SunOS 5.6 with gcc 2.95.3, using stlport 4.5.3. I use the following cmd: bjam_solaris -a "-sTOOLS=gcc-stlport" "-sBuild= debug release <stlport-iostream>on" "-sBUILD=debug release <runtime-link>static/dynamic" "-sSTLPORT_ROOT=/core/elements/cots/stlport-4.5.3" And I get errors such as: In file included from /core/elements/cots/stlport-4.5.3/stlport/stl/_iterator_base.h:38, from /core/elements/cots/stlport-4.5.3/stlport/stl/_algobase.h:55, from /core/elements/cots/stlport-4.5.3/stlport/stl/_list.h:34, from /core/elements/cots/stlport-4.5.3/stlport/list:35, from libs/regex/build/../src/c_regex_traits.cpp:27: /core/elements/cots/stlport-4.5.3/stlport/stl/type_traits.h: At top level: /core/elements/cots/stlport-4.5.3/stlport/stl/type_traits.h:68: template with C linkage /core/elements/cots/stlport-4.5.3/stlport/stl/type_traits.h:80: template with C linkage /core/elements/cots/stlport-4.5.3/stlport/stl/type_traits.h:91: template with C linkage /core/elements/cots/stlport-4.5.3/stlport/stl/type_traits.h:92: template with C linkage /core/elements/cots/stlport-4.5.3/stlport/stl/type_traits.h:213: template with C linkage ...failed gcc-C++-action libs/regex/build/bin/libboost_regex.a/gcc-stlport/release/runtime-link-d ynamic/regex.o... gcc-C++-action gcc-C++libs/regex/build/bin/libboost_regex.a/gcc-stlport/release/runtime gcc-C++-link-dynamic/regex_debug.o In file included from /core/elements/cots/stlport-4.5.3/stlport/stl/_alloc.h:64, from /core/elements/cots/stlport-4.5.3/stlport/memory:28, from /core/elements/cots/stlport-4.5.3/stlport/stl/_string.h:23, from /core/elements/cots/stlport-4.5.3/stlport/string:42, from /core/elements/cots/boost-1.28.0/boost/regex/config.hpp:86, from libs/regex/build/../src/regex_debug.cpp:26: /core/elements/cots/stlport-4.5.3/stlport/stl/_threads.h:207: template with C linkage /core/elements/cots/stlport-4.5.3/stlport/stl/_threads.h:406: parse error before `&' /core/elements/cots/stlport-4.5.3/stlport/stl/_threads.h:407: parse error before `&' /core/elements/cots/stlport-4.5.3/stlport/stl/_threads.h:407: `_STL::_STLP_mutex::operator =(...)' must take exactly one argum /core/elements/cots/stlport-4.5.3/stlport/stl/_threads.h:408: confused by earlier errors, bailing out Thank you, Virginia
"Virginia Volk" <vvolk@autometric.com> wrote in message news:001101c213d1$75c6ca50$b74414ac@va.autometric.com...
Does anyone know why I am seeing problems?
I am trying to compile boost on a SunOS 5.6 with gcc 2.95.3, using stlport 4.5.3.
I use the following cmd:
bjam_solaris -a "-sTOOLS=gcc-stlport" "-sBuild= debug release <stlport-iostream>on" "-sBUILD=debug release <runtime-link>static/dynamic" "-sSTLPORT_ROOT=/core/elements/cots/stlport-4.5.3"
That's a pretty confused command-line. The "-sBuild= ..." option will have no effect. What is bjam_solaris? Looks to me like you're using an old release of Boost. Is this 1.28.0, or something earlier? -Dave
bjam_solaris is the executable of bjam I downloaded from the boost site for solaris. I renamed it so I would remember what platform it was for. Yes, I believe the -sBuild lines have no affect, they do not change the errors if I remove them. Why do they have no affect? How do I compile both debug and release, static and dynamic libraries? I am using the source code for boost 1.28.0. Thank you very much, Virginia --- In Boost-Users@y..., "David Abrahams" <david.abrahams@r...> wrote:
"Virginia Volk" <vvolk@a...> wrote in message news:001101c213d1$75c6ca50$b74414ac@v...
Does anyone know why I am seeing problems?
I am trying to compile boost on a SunOS 5.6 with gcc 2.95.3,
using
stlport 4.5.3.
I use the following cmd:
bjam_solaris -a "-sTOOLS=gcc-stlport" "-sBuild= debug release <stlport-iostream>on" "-sBUILD=debug release <runtime-link>static/dynamic" "-sSTLPORT_ROOT=/core/elements/cots/stlport-4.5.3"
That's a pretty confused command-line. The "-sBuild= ..." option will have no effect. What is bjam_solaris?
Looks to me like you're using an old release of Boost. Is this 1.28.0, or something earlier?
-Dave
"vavboostid" <vvolk@autometric.com> wrote in message news:aekhmg+bput@eGroups.com...
bjam_solaris is the executable of bjam I downloaded from the boost site for solaris. I renamed it so I would remember what platform it was for. Yes, I believe the -sBuild lines have no affect, they do not change the errors if I remove them. Why do they have no affect?
Because the variables are case-sensitive. -sBUILD=, as you write later on, is the proper spelling.
How do I compile both debug and release, static and dynamic libraries? I am using the source code for boost 1.28.0.
Not every one of the buildable boost libraries supplies both static and dynamic libraries on all platforms; you'll need to rely on the Jamfiles which specify them to "do the right thing". The <runtime-link> feature controls which C++ runtime library version gets linked to the result, not whether it's static or dynamic. The best you can do is bjam_solaris -a "-sTOOLS=gcc-stlport" "-sBUILD=debug release" -sSTLPORT_ROOT=/core/elements/cots/stlport-4.5.3 HTH, Dave
Thank you very much, Virginia
--- In Boost-Users@y..., "David Abrahams" <david.abrahams@r...> wrote:
"Virginia Volk" <vvolk@a...> wrote in message news:001101c213d1$75c6ca50$b74414ac@v...
Does anyone know why I am seeing problems?
I am trying to compile boost on a SunOS 5.6 with gcc 2.95.3,
using
stlport 4.5.3.
I use the following cmd:
bjam_solaris -a "-sTOOLS=gcc-stlport" "-sBuild= debug release <stlport-iostream>on" "-sBUILD=debug release <runtime-link>static/dynamic" "-sSTLPORT_ROOT=/core/elements/cots/stlport-4.5.3"
That's a pretty confused command-line. The "-sBuild= ..." option will have no effect. What is bjam_solaris?
Looks to me like you're using an old release of Boost. Is this 1.28.0, or something earlier?
-Dave
Thank you for the help so far. Ok, I run the following line: bjam_solaris -a "-sTOOLS=gcc-stlport" "-sBUILD=debug release" "-sSTLPORT_ROOT=/core/elements/cots/stlport-4.5.3" where: -bjam_solaris - www.boost.org Boost.Jam executable for SUN Solaris -boost 1.28.0 -stlport 4.5.3 -gcc 2.95.3 I still get the following errors (only first part reprinted here for size): --------------------------------------------------------------------- skipping Boost.Python library build You can configure the location of your python installation, by setting: PYTHON_ROOT - currently "/usr/local" PYTHON_VERSION - The 2-part python Major.Minor version number (e.g. "2.2", NOT "2.2.1") - currently "1.5" The following are automatically configured from PYTHON_ROOT if not otherwise set: PYTHON_INCLUDES - path to Python #include directories; currently "/usr/local/include/python1.5" PYTHON_LIB_PATH - path to Python library; currently "/usr/local/lib/python1.5/config" PYTHON_STDLIB_PATH - path to Python standard library modules; currently "/usr/local/lib/python1.5" --------------------------------------------------------------------- ...found 818 targets... ...updating 103 targets... MkDir1 libs/regex/build/bin-stage MkDir1 libs/regex/build/bin MkDir1 libs/regex/build/bin/libboost_regex.a MkDir1 libs/regex/build/bin/libboost_regex.a/gcc-stlport MkDir1 libs/regex/build/bin/libboost_regex.a/gcc-stlport/debug MkDir1 libs/regex/build/bin/libboost_regex.a/gcc-stlport/debug/runtime-link-dyn amic gcc-C++-action libs/regex/build/bin/libboost_regex.a/gcc-stlport/debug/runtime-link-dyn amic/c_regex_traits.o In file included from /core/elements/cots/stlport-4.5.3/stlport/stl/_algobase.h:51, from /core/elements/cots/stlport-4.5.3/stlport/stl/_list.h:34, from /core/elements/cots/stlport-4.5.3/stlport/list:35, from libs/regex/build/../src/c_regex_traits.cpp:27: /core/elements/cots/stlport-4.5.3/stlport/stl/_pair.h:37: template with C linkage /core/elements/cots/stlport-4.5.3/stlport/stl/_pair.h:52: template with C linkage /core/elements/cots/stlport-4.5.3/stlport/stl/_pair.h: In method `_STL::pair<_T1,_T2>::pair(const _STL::pair<_U1,_U2> &)': /core/elements/cots/stlport-4.5.3/stlport/stl/_pair.h:52: template with C linkage /core/elements/cots/stlport-4.5.3/stlport/stl/_pair.h: In function `bool _STL::operator ==(const _STL::pair<_T1,_T2> &, const _STL::pair<_T1,_T2> &)': /core/elements/cots/stlport-4.5.3/stlport/stl/_pair.h:61: template with C linkage /core/elements/cots/stlport-4.5.3/stlport/stl/_pair.h: In function `bool _STL::operator <(const _STL::pair<_T1,_T2> &, const _STL::pair<_T1,_T2> &)': /core/elements/cots/stlport-4.5.3/stlport/stl/_pair.h:67: template with C linkage /core/elements/cots/stlport-4.5.3/stlport/stl/_pair.h: In function `bool _STL::operator !=(const _STL::pair<_T1,_T2> &, const _STL::pair<_T1,_T2> &)': /core/elements/cots/stlport-4.5.3/stlport/stl/_pair.h:75: template with C linkage /core/elements/cots/stlport-4.5.3/stlport/stl/_pair.h: In function `bool _STL::operator >(const _STL::pair<_T1,_T2> &, const _STL::pair<_T1,_T2> &)': /core/elements/cots/stlport-4.5.3/stlport/stl/_pair.h:80: template with C linkage /core/elements/cots/stlport-4.5.3/stlport/stl/_pair.h: In function `bool _STL::operator <=(const _STL::pair<_T1,_T2> &, const _STL::pair<_T1,_T2> &)': /core/elements/cots/stlport-4.5.3/stlport/stl/_pair.h:85: template with C linkage /core/elements/cots/stlport-4.5.3/stlport/stl/_pair.h: In function `bool _STL::operator >=(const _STL::pair<_T1,_T2> &, const _STL::pair<_T1,_T2> &)': /core/elements/cots/stlport-4.5.3/stlport/stl/_pair.h:90: template with C linkage /core/elements/cots/stlport-4.5.3/stlport/stl/_pair.h: In function `struct _STL::pair<_T1,const _T2 *> _STL::make_pair(const _T1 &, const _T2 (&)[_Sz])': /core/elements/cots/stlport-4.5.3/stlport/stl/_pair.h:101: template with C linkage /core/elements/cots/stlport-4.5.3/stlport/stl/_pair.h: In function `struct _STL::pair<const _T1 *,_T2> _STL::make_pair(const _T1 (&)[_Sz], const _T2 &)': /core/elements/cots/stlport-4.5.3/stlport/stl/_pair.h:108: template with C linkage /core/elements/cots/stlport-4.5.3/stlport/stl/_pair.h: In function `struct _STL::pair<const _T1 *,const _T2 *> _STL::make_pair(const _T1 (&)[_Sz1], const _T2 (&)[_Sz2])': /core/elements/cots/stlport-4.5.3/stlport/stl/_pair.h:115: template with C linkage /core/elements/cots/stlport-4.5.3/stlport/stl/_pair.h: In function `struct _STL::pair<_T1,_T2> _STL::make_pair(const _T1 &, const _T2 &)': /core/elements/cots/stlport-4.5.3/stlport/stl/_pair.h:123: template with C linkage /core/elements/cots/stlport-4.5.3/stlport/stl/_pair.h: In function `bool _STL::rel_ops::operator !=(const _Tp &, const _Tp &)': /core/elements/cots/stlport-4.5.3/stlport/stl/_pair.h:134: template with C linkage /core/elements/cots/stlport-4.5.3/stlport/stl/_pair.h: In function `bool _STL::rel_ops::operator >(const _Tp &, const _Tp &)': /core/elements/cots/stlport-4.5.3/stlport/stl/_pair.h:139: template with C linkage /core/elements/cots/stlport-4.5.3/stlport/stl/_pair.h: In function `bool _STL::rel_ops::operator <=(const _Tp &, const _Tp &)': /core/elements/cots/stlport-4.5.3/stlport/stl/_pair.h:144: template with C linkage /core/elements/cots/stlport-4.5.3/stlport/stl/_pair.h: In function `bool _STL::rel_ops::operator >=(const _Tp &, const _Tp &)': /core/elements/cots/stlport-4.5.3/stlport/stl/_pair.h:149: template with C linkage In file included from /core/elements/cots/stlport-4.5.3/stlport/stl/_iterator_base.h:38, from /core/elements/cots/stlport-4.5.3/stlport/stl/_algobase.h:55, from /core/elements/cots/stlport-4.5.3/stlport/stl/_list.h:34, from /core/elements/cots/stlport-4.5.3/stlport/list:35, from libs/regex/build/../src/c_regex_traits.cpp:27: /core/elements/cots/stlport-4.5.3/stlport/stl/type_traits.h: At top level: /core/elements/cots/stlport-4.5.3/stlport/stl/type_traits.h:68: template with C linkage /core/elements/cots/stlport-4.5.3/stlport/stl/type_traits.h:80: template with C linkage /core/elements/cots/stlport-4.5.3/stlport/stl/type_traits.h:91: template with C linkage /core/elements/cots/stlport-4.5.3/stlport/stl/type_traits.h:92: template with C linkage /core/elements/cots/stlport-4.5.3/stlport/stl/type_traits.h:213: template with C linkage /core/elements/cots/stlport-4.5.3/stlport/stl/type_traits.h:214: template with C linkage /core/elements/cots/stlport-4.5.3/stlport/stl/type_traits.h:217: template with C linkage /core/elements/cots/stlport-4.5.3/stlport/stl/type_traits.h:222: template with C linkage /core/elements/cots/stlport-4.5.3/stlport/stl/type_traits.h:228: template with C linkage /core/elements/cots/stlport-4.5.3/stlport/stl/type_traits.h:229: template with C linkage /core/elements/cots/stlport-4.5.3/stlport/stl/type_traits.h:232: template with C linkage /core/elements/cots/stlport-4.5.3/stlport/stl/type_traits.h:236: template with C linkage /core/elements/cots/stlport-4.5.3/stlport/stl/type_traits.h:276: template with C linkage /core/elements/cots/stlport-4.5.3/stlport/stl/type_traits.h:282: template with C linkage /core/elements/cots/stlport-4.5.3/stlport/stl/type_traits.h:354: template with C linkage /core/elements/cots/stlport-4.5.3/stlport/stl/type_traits.h: In function `struct _STL::_OKToMemCpy<_Tp1,_Tp2> _STL::_IsOKToMemCpy(_Tp1 *, _Tp2 *)': /core/elements/cots/stlport-4.5.3/stlport/stl/type_traits.h:364: template with C linkage /core/elements/cots/stlport-4.5.3/stlport/stl/type_traits.h: At top level: /core/elements/cots/stlport-4.5.3/stlport/stl/type_traits.h:369: template with C linkage /core/elements/cots/stlport-4.5.3/stlport/stl/type_traits.h: In function `struct _STL::_IsPOD<_Tp> _STL::_Is_POD(_Tp *)': /core/elements/cots/stlport-4.5.3/stlport/stl/type_traits.h:375: template with C linkage In file included from /core/elements/cots/stlport-4.5.3/stlport/stl/_algobase.h:55, from /core/elements/cots/stlport-4.5.3/stlport/stl/_list.h:34, from /core/elements/cots/stlport-4.5.3/stlport/list:35, from libs/regex/build/../src/c_regex_traits.cpp:27: /core/elements/cots/stlport-4.5.3/stlport/stl/_iterator_base.h: At top level: /core/elements/cots/stlport-4.5.3/stlport/stl/_iterator_base.h:52: template with C linkage /core/elements/cots/stlport-4.5.3/stlport/stl/_iterator_base.h:91: template with C linkage /core/elements/cots/stlport-4.5.3/stlport/stl/_iterator_base.h:110: template with C linkage /core/elements/cots/stlport-4.5.3/stlport/stl/_iterator_base.h:119: template with C linkage -----Original Message----- From: news [mailto:news@main.gmane.org] On Behalf Of David Abrahams Sent: Tuesday, June 18, 2002 6:10 AM To: boost-users@yahoogroups.com Subject: [Boost-Users] Re: compilation problem on solaris-gcc with stlport "vavboostid" <vvolk@autometric.com> wrote in message news:aekhmg+bput@eGroups.com...
bjam_solaris is the executable of bjam I downloaded from the boost site for solaris. I renamed it so I would remember what platform it was for. Yes, I believe the -sBuild lines have no affect, they do not change the errors if I remove them. Why do they have no affect?
Because the variables are case-sensitive. -sBUILD=, as you write later on, is the proper spelling.
How do I compile both debug and release, static and dynamic libraries? I am using the source code for boost 1.28.0.
Not every one of the buildable boost libraries supplies both static and dynamic libraries on all platforms; you'll need to rely on the Jamfiles which specify them to "do the right thing". The <runtime-link> feature controls which C++ runtime library version gets linked to the result, not whether it's static or dynamic. The best you can do is bjam_solaris -a "-sTOOLS=gcc-stlport" "-sBUILD=debug release" -sSTLPORT_ROOT=/core/elements/cots/stlport-4.5.3 HTH, Dave
Thank you very much, Virginia
--- In Boost-Users@y..., "David Abrahams" <david.abrahams@r...> wrote:
"Virginia Volk" <vvolk@a...> wrote in message news:001101c213d1$75c6ca50$b74414ac@v...
Does anyone know why I am seeing problems?
I am trying to compile boost on a SunOS 5.6 with gcc 2.95.3,
using
stlport 4.5.3.
I use the following cmd:
bjam_solaris -a "-sTOOLS=gcc-stlport" "-sBuild= debug release <stlport-iostream>on" "-sBUILD=debug release <runtime-link>static/dynamic" "-sSTLPORT_ROOT=/core/elements/cots/stlport-4.5.3"
That's a pretty confused command-line. The "-sBuild= ..." option will have no effect. What is bjam_solaris?
Looks to me like you're using an old release of Boost. Is this 1.28.0, or something earlier?
-Dave
Info: <http://www.boost.org> Wiki: <http://www.crystalclearsoftware.com/cgi-bin/boost_wiki/wiki.pl> Unsubscribe: <mailto:boost-users-unsubscribe@yahoogroups.com> Your use of Yahoo! Groups is subject to the Yahoo! <http://docs.yahoo.com/info/terms/> Terms of Service. [Non-text portions of this message have been removed]
"Virginia Volk" <vvolk@autometric.com> wrote in message news:001801c21703$c4e46b80$b74414ac@va.autometric.com...
Thank you for the help so far. Ok, I run the following line:
bjam_solaris -a "-sTOOLS=gcc-stlport" "-sBUILD=debug release" "-sSTLPORT_ROOT=/core/elements/cots/stlport-4.5.3"
where: -bjam_solaris - www.boost.org Boost.Jam executable for SUN Solaris -boost 1.28.0 -stlport 4.5.3 -gcc 2.95.3
I still get the following errors (only first part reprinted here for size):
--------------------------------------------------------------------- skipping Boost.Python library build
<snip> are you trying to build Boost.Python? If so, follow the configuration instructions at www.boost.org/libs/python/building.html. Otherwise you can ignore this part.
--------------------------------------------------------------------- ...found 818 targets... ...updating 103 targets... MkDir1 libs/regex/build/bin-stage MkDir1 libs/regex/build/bin MkDir1 libs/regex/build/bin/libboost_regex.a MkDir1 libs/regex/build/bin/libboost_regex.a/gcc-stlport MkDir1 libs/regex/build/bin/libboost_regex.a/gcc-stlport/debug MkDir1 libs/regex/build/bin/libboost_regex.a/gcc-stlport/debug/runtime-link-dyn amic gcc-C++-action libs/regex/build/bin/libboost_regex.a/gcc-stlport/debug/runtime-link-dyn amic/c_regex_traits.o In file included from /core/elements/cots/stlport-4.5.3/stlport/stl/_algobase.h:51, from /core/elements/cots/stlport-4.5.3/stlport/stl/_list.h:34, from /core/elements/cots/stlport-4.5.3/stlport/list:35, from libs/regex/build/../src/c_regex_traits.cpp:27: /core/elements/cots/stlport-4.5.3/stlport/stl/_pair.h:37: template with C linkage
<snip> It looks to me as though you've found an interaction between STLPort and the solaris "C" headers. Perhaps somewhere there's an unterminated extern "C" {... block? If you look at the top of c_regex_traits.cpp, you'll see it begins: #define BOOST_REGEX_SOURCE #include <clocale> #include <cstdio> #include <list> And your problem has already happened by this point. So, I guess all I can tell you is "it's not a Boost bug". You might try looking at the preprocessed compiler output to see what's going on here. -Dave
When compiling with Mipspro 7.3 using the command line bjam -a "-sTOOLS=mipspro" "-sBUILD=debug release" I get the following errors: ...found 441 targets... ...updating 95 targets... MkDir1 libs/regex/build/bin/libboost_regex.a/mipspro MkDir1 libs/regex/build/bin/libboost_regex.a/mipspro/debug MkDir1 libs/regex/build/bin/libboost_regex.a/mipspro/debug/runtime-link-dynamic mipspro-C++-action libs/regex/build/bin/libboost_regex.a/mipspro/debug/runtime-link-dynamic /c_regex_traits.o mipspro-C++-action libs/regex/build/bin/libboost_regex.a/mipspro/debug/runtime-link-dynamic /c_regex_traits_common.o mipspro-C++-action libs/regex/build/bin/libboost_regex.a/mipspro/debug/runtime-link-dynamic /cpp_regex_traits.o mipspro-C++-action libs/regex/build/bin/libboost_regex.a/mipspro/debug/runtime-link-dynamic /cregex.o cc-1474 CC: ERROR File = /core/elements/cots/boost-1.28.0/boost/regex/detail/instances.hpp, Line = 104 No instance of overloaded function "boost::reg_expression<char, boost::regex_traits<char>, std::allocator<char>>::reg_expression" matches the specified type. template reg_expression<BOOST_REGEX_CHAR_T>::reg_expression<BOOST_REGEX_CHAR_T>(c onst BOOST_DEFAULT_ALLOCATOR(BOOST_REGEX_CHAR_T)&); ^ cc-1474 CC: ERROR File = /core/elements/cots/boost-1.28.0/boost/regex/detail/instances.hpp, Line = 105 No instance of overloaded function "boost::reg_expression<char, boost::regex_traits<char>, std::allocator<char>>::reg_expression" matches the specified type. template reg_expression<BOOST_REGEX_CHAR_T>::reg_expression<BOOST_REGEX_CHAR_T>(c onst BOOST_REGEX_CHAR_T* p, reg_expression<BOOST_REGEX_CHAR_T>::flag_type f, const BOOST_DEFAULT_ALLOCATOR(BOOST_REGEX_CHAR_T)& a); ^ Any ideas? Thank you, Virginia [Non-text portions of this message have been removed]
Virginia Volk wrote:
... cc-1474 CC: ERROR File = /core/elements/cots/boost-1.28.0/boost/regex/detail/instances.hpp, Line = 104 No instance of overloaded function "boost::reg_expression<char, boost::regex_traits<char>, std::allocator<char>>::reg_expression" matches the specified type.
template reg_expression<BOOST_REGEX_CHAR_T>::reg_expression<BOOST_REGEX_CHAR_T>(c onst BOOST_DEFAULT_ALLOCATOR(BOOST_REGEX_CHAR_T)&); ^
...
Any ideas? Thank you, Virginia
I reported the same problem last week, and John replied that the fix is in the CVS source but not yet released. This is his reply, with a reference to the fix: http://aspn.activestate.com/ASPN/Mail/Message/boost/1251253 -- Dick Hadsell 914-259-6320 Fax: 914-259-6499 Reply-to: hadsell@blueskystudios.com Blue Sky Studios http://www.blueskystudios.com 44 South Broadway, White Plains, NY 10601
participants (4)
-
David Abrahams
-
Richard Hadsell
-
vavboostid
-
Virginia Volk