Boost logo

Boost Users :

From: sebmarc (sebmarc_at_[hidden])
Date: 2002-01-24 11:55:56


Thank you Sinan for your help. I really appreciate it.

I am getting a bit closer. Jam issues the compilation lcommands, but
boost still does not compile. I am stuck at:

jam -sBOOST_ROOT=. -sTOOLS=suncc
warning: rulename $(gGENERATOR_FUNCTION($(dependency-type))) expands
to empty string
...found 458 targets...
...updating 98 targets...
cc-C++-action
libs/regex/build/bin/libboost_regex.a/suncc/debug/c_regex_traits.o
"./boost/regex/regex_traits.hpp", line 165: Error: uint_fast32_t may
not have a type qualifier.
"./boost/regex/regex_traits.hpp", line 165: Error: "," expected
instead of "do_lookup_class".
"./boost/regex/regex_traits.hpp", line 166: Error: Use ";" to
terminate declarations.

The source code corresponding to the error is the following:

   static boost::uint_fast32_t BOOST_REGEX_CALL do_lookup_class(const
char* p);

in regex_traits.hpp. I made sure that BOOST_REGEX_CALL is empty. I am
quite certain the compiler is complaining about the namespace
qualification boost:: in front of uint_fast32_t but do not understand why.

Seb.

- In Boost-Users_at_y..., Sinan <sinan.karasu_at_b...> wrote:
> sebmarc wrote:
> >
> > Does anybody know how to compile boost with Solaris 7 and
sparcWorks 5.0.
> >
> > Looking at http://www.boost.org/tools/build/index.html, there is no
> > place for this compiler.
> >
> > Any help appreciated.
> >
> > Thanks,
> >
> > Seb.
> >
> > Info: <http://www.boost.org>
> > Wiki: <http://www.crystalclearsoftware.com/cgi-bin/boost_wiki/wiki.pl>
> > Unsubscribe: <mailto:boost-users-unsubscribe_at_y...>
> >
> >
> > Your use of Yahoo! Groups is subject to
http://docs.yahoo.com/info/terms/
>
>
> I did a build with WSU2 in October 4th...
>
> This is what I had to do......
>
> 1) modify config.hpp
> 2) modify iterator_adaptors.hpp
> 3) create a file called tools/build/suncc-tools.jam (which was quickly
> hacked from gcc version)
> 4) invoke jam -f./tools/build/allyourbase.jam -sTOOLS=suncc
>
> Following are the steps as well as I can reconstruct......
> ( I hope )....
>
> STEP 1) in config.hpp
> you need
> -----------------------------------------------------------
> # elif defined __SUNPRO_CC
> # if __SUNPRO_CC <= 0x530
> # define BOOST_NO_SLIST
> # define BOOST_NO_HASH
> # define BOOST_NO_STD_ITERATOR_TRAITS
> # define BOOST_NO_STD_ALLOCATOR
>
> // although sunpro 5.1 supports the syntax for
> // inline initialization it often gets the value
> // wrong, especially where the value is computed
> // from other constants (J Maddock 6th May 2001)
> # // sik define BOOST_NO_INCLASS_MEMBER_INITIALIZATION
>
> // although sunpro 5.1 supports the syntax for
> // partial specialization, it often seems to
> // bind to the wrong specialization. Better
> // to disable it until suppport becomes more stable
> // (J Maddock 6th May 2001).
> # define BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
> # endif
> # if __SUNPRO_CC <= 0x500
> # define BOOST_NO_MEMBER_TEMPLATES
> # define BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
> # endif
> ---------------------------
> STEP 2) in iterator_adaptors.hpp make the following modifications....
>
> , class Reference = Value&
> //sik , class ConstReference = const Value&
> , class ConstReference = Value&
> , class Category = BOOST_ARG_DEPENDENT_TYPENAME
> boost::detail::iterator_traits<OuterIterator>::iterator_category
> , class Pointer = Value*
> //sik , class ConstPointer = const Value*
> , class ConstPointer = Value*
>
>
>
> STEP 3 & 4 ) jam -f./tools/build/allyourbase.jam -sTOOLS=suncc
>
> But you need the following file first ....
>
> tools/build/suncc-tools.jam
> -----------------------------------
>
> # (C) Copyright David Abrahams 2001. Permission to copy, use,
> # modify, sell and distribute this software is granted provided this
> # copyright notice appears in all copies. This software is provided
> # "as is" without express or implied warranty, and with no claim as
> # to its suitability for any purpose.
>
> # compute directories for invoking WS6U2
> WS6U2_BIN_DIRECTORY ?= $(WS6U2_ROOT_DIRECTORY)$(SLASH)bin ;
> WS6U2_BIN_DIRECTORY ?= "" ; # Don't clobber tool names if
> WS6U2_ROOT_DIRECTORY not set
> WS6U2_INCLUDE_DIRECTORY ?= $(WS6U2_ROOT_DIRECTORY)$(SLASH)include ;
> WS6U2_STDLIB_DIRECTORY ?= $(WS6U2_ROOT_DIRECTORY)$(SLASH)lib ;
>
> flags cc LINKFLAGS <runtime-link>static : -Bstatic ;
> flags cc CFLAGS <debug-symbols>on : -g ;
> flags cc LINKFLAGS <debug-symbols>on : -g ;
> flags cc CFLAGS <optimization>off : -xO0 ;
> flags cc CFLAGS <optimization>speed : -xO4 ;
>
> # Other optimizations we might want for WS6U2
> #
> #
>
> flags cc CFLAGS <optimization>space : -xO2 ;
> flags cc CFLAGS <inlining>off : -xinline=no%func ;
> flags cc CFLAGS <inlining>on : -xinline=%auto ;
> flags cc CFLAGS <inlining>full : -xinline=%auto ;
>
> flags cc CFLAGS <profiling>on : -xpg ;
> flags cc LINKFLAGS <profiling>on : -xpg ;
>
> flags cc DEFINES <define> ;
> flags cc UNDEFS <undef> ;
> flags cc HDRS <include> ;
>
> flags cc STDHDRS : $(WS6U2_INCLUDE_DIRECTORY) ;
> flags cc STDLIBPATH : $(WS6U2_STDLIB_DIRECTORY) ;
>
> flags cc CFLAGS <shared-linkable>true : -KPIC ;
> flags cc LINKFLAGS <shared-linkable>true : -KPIC ;
>
>
> flags cc LINKFLAGS <target-type>DLL : -G ;
>
>
> flags cc LIBPATH <library-path> ;
> flags cc NEEDLIBS <library-file> ;
> flags cc FINDLIBS <find-library> ;
>
> #### Link ####
>
> rule Link-action
> {
> # This will appear before the import library name when building a
> DLL, but
> # will be "multiplied away" otherwise. The --exclude-symbols
> directive
> # proved to be neccessary with some versions of Cygwin.
> ##sik IMPLIB_COMMAND on $(<) =
> "-Wl,--exclude-symbols,_bss_end__:_bss_start__:_data_end__:_data_start__
> -Wl,--out-implib," ;
> # IMPLIB_COMMAND on $(<) = "-Wl,--out-implib," ;
> cc-Link-action $(<) : $(>) ;
> }
>
> # for cc, we repeat all libraries so that dependencies are always
> resolved
> actions cc-Link-action bind NEEDLIBS
> {
> $(WS6U2_BIN_DIRECTORY)CC $(IMPLIB_COMMAND)$(<[2]) $(LINKFLAGS) -o
> "$(<[1])" -L$(LIBPATH) -L$(STDLIBPATH) "$(>)" "$(NEEDLIBS)"
> "$(NEEDLIBS)" -l$(FINDLIBS) -znodefs
> }
>
> # older actions
> # $(WS6U2_BIN_DIRECTORY)dlltool -e $(<[1]:S=:D=:G=) -l "$(<[2])"
> "$(>)"
> # $(WS6U2_BIN_DIRECTORY)CC $(LINKFLAGS) -L$(STDLIBPATH) "$(>)"
> "$(NEEDLIBS)" "$(NEEDLIBS)" -o "$(<[1])"
>
>
> #### Cc #####
>
> rule Cc-action
> {
> cc-Cc-action $(<) : $(>) ;
> }
>
> actions cc-Cc-action
> {
> $(WS6U2_BIN_DIRECTORY)cc -c -U$(UNDEFS) -D$(DEFINES) $(CFLAGS)
> -I$(BOOST_ROOT) -I"$(HDRS)" -I"$(STDHDRS)" -o "$(<)" "$(>)"
> }
>
> #### C++ ####
> rule C++-action
> {
> cc-C++-action $(<) : $(>) ;
> }
>
> actions cc-C++-action
> {
> $(WS6U2_BIN_DIRECTORY)CC -c -U$(UNDEFS) -D$(DEFINES) $(CFLAGS)
> $(C++FLAGS) -I$(BOOST_ROOT) -I"$(HDRS)" -I"$(STDHDRS)" -o "$(<)" "$(>)"
> }
>
> #### Archive ####
>
> rule Archive-action
> {
> cc-Archive-action $(<) : $(>) ;
> }
>
> actions updated together piecemeal cc-Archive-action
> {
> ar ru "$(<)" "$(>)"
> }


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net