Boost logo

Boost :

From: Mat Marcus (mat-lists_at_[hidden])
Date: 2008-04-14 16:40:31


On Mon, Apr 14, 2008 at 1:31 PM, Anthony Williams
<anthony_w.geo_at_[hidden]> wrote:
> "Mat Marcus" <mat-lists_at_[hidden]> writes:
>
> > On Mon, Apr 14, 2008 at 12:57 PM, Anthony Williams
> > <anthony_w.geo_at_[hidden]> wrote:
> >>
> >> "Mat Marcus" <mat-lists_at_[hidden]> writes:
> >> > 1) Why doesn't the build system choose the threadapi=pthread by
> >> > default in my configuration? (The default seems to be win32)
> >>
> >> Because you're using msvc bjam to build using cygwin gcc. Apparently this
> >> build option is broken.
> >
> > This begins to sound like the boost-build options and the header file
> > configuration detection options are out of sync, as Steven suggested.
>
> OK, one more thing to try: can you set <target-os>cygwin in your
> user-config.jam gcc setup?
>
> using gcc : 4.2.0 : : <target-os>cygwin ;
>
> The boost thread jamfile uses <target-os> to work out whether it's building
> for cygwin or native win32. It appears that <target-os> is not set correctly
> for you (which probably ought to be done in gcc.jam or somewhere like that),
> so explicitly setting it might work.
>
>
> Anthony

Thanks for the suggestion. No change yet.

1) I added the parameter to my user-config.jam file
  using gcc : 4.2.0 : /opt/gcc-4.2.0/bin/g++.exe : <target-os>cygwin ;

2) I added it to my bjam invocation:

Result:
$ bjam --without-mpi gcc-4.2.0 libs/thread/build//boost_thread -d+2
target-os=cygwin
warning: Graph library does not contain optional GraphML reader.
note: to enable GraphML support, set EXPAT_INCLUDE and EXPAT_LIBPATH to the
note: directories containing the Expat headers and libraries, respectively.
WARNING: No python installation configured and autoconfiguration
         failed. See http://www.boost.org/libs/python/doc/building.html
         for configuration instructions or pass --without-python to
         suppress this message and silently skip all Boost.Python targets
Building Boost.Regex with the optional Unicode/ICU support disabled.
Please refer to the Boost.Regex documentation for more information
(don't panic: this is a strictly optional feature).
MkDir1 bin.v2\libs\thread\build\gcc-4.2.0\debug\target-os-cygwin

    mkdir "bin.v2\libs\thread\build\gcc-4.2.0\debug\target-os-cygwin"

MkDir1 bin.v2\libs\thread\build\gcc-4.2.0\debug\target-os-cygwin\threading-multi

    mkdir "bin.v2\libs\thread\build\gcc-4.2.0\debug\target-os-cygwin\threading-multi"

gcc.compile.c++
bin.v2\libs\thread\build\gcc-4.2.0\debug\target-os-cygwin\threading-multi\thread.o

    "/opt/gcc-4.2.0/bin/g++.exe" -ftemplate-depth-128 -O0 -fno-inline
-Wall -g -mthreads -DBOOST_ALL_NO_LIB=1 -DBOOST_THREAD_BUILD_DLL=1
-I"." -c -o "bin.v2\libs\thread\build\gcc-4.2.0\debug\target-os-cygwin\threading-multi\thread.o"
"libs\thread\src\win32\thread.cpp"

libs\thread\src\win32\thread.cpp: In function 'void
boost::<unnamed>::run_thread_exit_callbacks()':
libs\thread\src\win32\thread.cpp:147: error: 'heap_delete' is not a
member of 'boost::detail'
libs\thread\src\win32\thread.cpp:149: error: 'heap_delete' is not a
member of 'boost::detail'
libs\thread\src\win32\thread.cpp:159: error: 'heap_delete' is not a
member of 'boost::detail'
libs\thread\src\win32\thread.cpp: At global scope:
libs\thread\src\win32\thread.cpp:170: error: no 'unsigned int
boost::thread::thread_start_function(void*)' member function declared
in class 'boost::thread'
libs\thread\src\win32\thread.cpp: In member function 'void
boost::thread::start_thread()':
libs\thread\src\win32\thread.cpp:194: error: ISO C++ forbids taking
the address of an unqualified or parenthesized non-static member
function to form a pointer to member function. Say
'&boost::thread::thread_start_function'
libs\thread\src\win32\thread.cpp:194: error: 'struct
boost::detail::thread_data_base' has no member nam
...


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