Boost logo

Boost :

Subject: Re: [boost] [context] MinGW support?
From: Oliver Kowalke (oliver.kowalke_at_[hidden])
Date: 2011-07-23 04:18:00


Am 23.07.2011 07:55, schrieb Nathan Ridge:
>
> I'm also having problems compiling it on Linux with:
>
> toolset=gcc architecture=x86 instruction-set=i686 address-model=32
>
> I get the following errors:
>
> gcc.compile.c++ bin.v2/libs/context/build/gcc-4.6.1/release/address-model-32/architecture-x86/instruction-set-i686/link-static/protected_stack_posix.o
> libs/context/src/protected_stack_posix.cpp: In constructor 'boost::contexts::protected_stack::protected_stack(std::size_t)':
> libs/context/src/protected_stack_posix.cpp:61:15: warning: unused variable 'result' [-Wunused-variable]
> libs/context/src/protected_stack_posix.cpp: At global scope:
> libs/context/src/protected_stack_posix.cpp:76:1: error: prototype for 'boost::contexts::protected_stack::protected_stack(boost::rv<boost::contexts::protected_stack>&)' does not match any in class 'boost::contexts::protected_stack'
> ./boost/context/protected_stack.hpp:44:5: error: candidates are: boost::contexts::protected_stack::protected_stack(boost::rv<boost::contexts::protected_stack>&)
> libs/context/src/protected_stack_posix.cpp:38:1: error: boost::contexts::protected_stack::protected_stack(std::size_t)
> libs/context/src/protected_stack_posix.cpp:34:1: error: boost::contexts::protected_stack::protected_stack()
> ./boost/context/protected_stack.hpp:27:5: error: boost::contexts::protected_stack::protected_stack(boost::contexts::protected_stack&)
> libs/context/src/protected_stack_posix.cpp:81:1: error: prototype for 'boost::contexts::protected_stack& boost::contexts::protected_stack::operator=(boost::rv<boost::contexts::protected_stack>&)' does not match any in class 'boost::contexts::protected_stack'
> ./boost/context/protected_stack.hpp:46:23: error: candidates are: boost::contexts::protected_stack& boost::contexts::protected_stack::operator=(boost::rv<boost::contexts::protected_stack>&)
> ./boost/context/protected_stack.hpp:27:5: error: boost::contexts::protected_stack& boost::contexts::protected_stack::operator=(boost::contexts::protected_stack&)
> "g++" -ftemplate-depth-128 -O3 -finline-functions -Wno-inline -Wall -march=i686 -m32 -DBOOST_ALL_NO_LIB=1 -DNDEBUG -I"." -c -o "bin.v2/libs/context/build/gcc-4.6.1/release/address-model-32/architecture-x86/instruction-set-i686/link-static/protected_stack_posix.o" "libs/context/src/protected_stack_posix.cpp"
> ...failed gcc.compile.c++ bin.v2/libs/context/build/gcc-4.6.1/release/address-model-32/architecture-x86/instruction-set-i686/link-static/protected_stack_posix.o...
> common.mkdir bin.v2/libs/context/build/gcc-4.6.1/release/address-model-32/architecture-x86/instruction-set-i686/link-static/asm
> gcc.compile.asm bin.v2/libs/context/build/gcc-4.6.1/release/address-model-32/architecture-x86/instruction-set-i686/link-static/asm/fcontext_i386_sysv_elf_gas.o
> gcc.compile.c++ bin.v2/libs/context/build/gcc-4.6.1/release/address-model-32/architecture-x86/instruction-set-i686/link-static/stack_helper_posix.o
> libs/context/src/stack_helper_posix.cpp: In function 'rlimit {anonymous}::stacksize_limit_()':
> libs/context/src/stack_helper_posix.cpp:27:15: warning: unused variable 'result' [-Wunused-variable]
> ...skipped<pbin.v2/libs/context/build/gcc-4.6.1/release/address-model-32/architecture-x86/instruction-set-i686/link-static>libboost_context.a(clean) for lack of<pbin.v2/libs/context/build/gcc-4.6.1/release/address-model-32/architecture-x86/instruction-set-i686/link-static>protected_stack_posix.o...
> ...skipped<pbin.v2/libs/context/build/gcc-4.6.1/release/address-model-32/architecture-x86/instruction-set-i686/link-static>libboost_context.a for lack of<pbin.v2/libs/context/build/gcc-4.6.1/release/address-model-32/architecture-x86/instruction-set-i686/link-static>protected_stack_posix.o...
> ...skipped<pstage/lib>libboost_context.a for lack of<pbin.v2/libs/context/build/gcc-4.6.1/release/address-model-32/architecture-x86/instruction-set-i686/link-static>libboost_context.a...
> ...failed updating 1 target...
> ...skipped 3 targets...
> ...updated 11 targets...
>

Hello Nate,

please use https://github.com/olk/boost.context - I don't get compiler
errors with this source for 32bit/64bit Linux on x86.

The errors above point to some problems with boost.move. Which version
did you use? Could you test the lib with the sources from github?

Unfortunately MinGW is not supported yet - this would require to port
the assembler code written for MASM to GAS. Maybe in the near future I
find time doing this (or if you want you can do -> requires only to port
the assembler syntax)..

best regards,
Oliver


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk