[thread] wrong name of the thread lib and dll.

Hi, when you compile the current boost with the following cmd-line the thread-lib has a wrong filename: bjam "-sTOOLS=msvc-stlport" "-sSTLPORT_PATH=D:\Develop" "-sSTLPORT_VERSION=4.5.3" this cmd-should generate "gdpn" files like: boost_thread-vc6-mt-gdpn-1_31.dll but it generate a "gdp" (without "n") file. the "n" stands for native iostreams. (boost_thread-vc6-mt-gdp-1_31.lib) the lib behave like "gdpn"-file, but i have to rename the lib. otherwise i get the following linker error: LINK : fatal error LNK1104: cannot open file "boost_thread-vc6-mt-gdpn-1_31.lib" who can modifier the jam-file. (i don't speak jam) Sven

Sven Johannsen wrote:
Hi,
when you compile the current boost with the following cmd-line the thread-lib has a wrong filename:
bjam "-sTOOLS=msvc-stlport" "-sSTLPORT_PATH=D:\Develop" "-sSTLPORT_VERSION=4.5.3"
this cmd-should generate "gdpn" files like: boost_thread-vc6-mt-gdpn-1_31.dll
but it generate a "gdp" (without "n") file. the "n" stands for native iostreams. (boost_thread-vc6-mt-gdp-1_31.lib)
That's because building with <stlport-iostreams>on is the default.
the lib behave like "gdpn"-file, but i have to rename the lib. otherwise i get the following linker error:
LINK : fatal error LNK1104: cannot open file "boost_thread-vc6-mt-gdpn-1_31.lib"
I think this is because the defines that the autolink is using don't match what the msvc-stlport-toolset.jam is setting.
who can modifier the jam-file. (i don't speak jam)
Try using the attached mscv-stlport-tools.jam see if things improve. -- -- Grafik - Don't Assume Anything -- Redshift Software, Inc. - http://redshift-software.com -- rrivera/acm.org - grafik/redshift-software.com - 102708583/icq # The following #// line will be used by the regression test table generation # program as the column heading for HTML tables. Must not include version number. #//<a href="http://msdn.microsoft.com/vstudio/default.asp">Micro-<br>soft<br>VC++</a><br><a href="http://www.stlport.org/">STLport</a> { # This is simply an extension to the msvc toolset. However, # STLPort doesn't have any single-threaded builds, so we're going # to force all such targets to be built with multithread support. # This is essentially a usage-requirement on the stlport library. local gBUILD_PROPERTIES = [ difference $(gBUILD_PROPERTIES) : <threading>single ] <threading>multi ; extends-toolset msvc ; } CURR_TOOLSET = msvc-stlport ; STLPORT_LIB_BASE_NAME = stlport_vc6 ; # bring in the STLPort configuration SEARCH on stlport.jam = $(BOOST_BUILD_PATH) ; include stlport.jam ;

Rene Rivera wrote:
That's because building with <stlport-iostreams>on is the default.
Are you sure? the Boost.Build doku (msvc-stlport toolset ) says the stlport-iostream are off in the default. When i try to turn the iostreams off i get the follow errortext: "Note that STLPort iostreams are /not/ in use by default. To enable them, you must place <stlport-iostream>on in your BUILD variable or in target requirements." i understand from this errortext, that the stlport iostreams are OFF.
the lib behave like "gdpn"-file, but i have to rename the lib. otherwise i get the following linker error:
LINK : fatal error LNK1104: cannot open file "boost_thread-vc6-mt-gdpn-1_31.lib"
I think this is because the defines that the autolink is using don't match what the msvc-stlport-toolset.jam is setting.
who can modifier the jam-file. (i don't speak jam)
Try using the attached mscv-stlport-tools.jam see if things improve.
how should i use the file? i tried "bjam mscv-stlport-tools.jam", but nothing happend. please tell me there i have to store the file and want cmdline i have to use.
------------------------------------------------------------------------
# The following #// line will be used by the regression test table generation # program as the column heading for HTML tables. Must not include version number. #//<a href="http://msdn.microsoft.com/vstudio/default.asp">Micro-<br>soft<br>VC++</a><br><a href="http://www.stlport.org/">STLport</a>
{ # This is simply an extension to the msvc toolset. However, # STLPort doesn't have any single-threaded builds, so we're going # to force all such targets to be built with multithread support. # This is essentially a usage-requirement on the stlport library. local gBUILD_PROPERTIES = [ difference $(gBUILD_PROPERTIES) : <threading>single ] <threading>multi ; extends-toolset msvc ; }
CURR_TOOLSET = msvc-stlport ; STLPORT_LIB_BASE_NAME = stlport_vc6 ;
# bring in the STLPort configuration SEARCH on stlport.jam = $(BOOST_BUILD_PATH) ; include stlport.jam ;
------------------------------------------------------------------------
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
regards, sven Sven

Sven Johannsen wrote:
Rene Rivera wrote:
That's because building with <stlport-iostreams>on is the default.
Are you sure? the Boost.Build doku (msvc-stlport toolset ) says the stlport-iostream are off in the default.
No I'm not sure... If you are using Boost 1.31 then the default is *off*. If you are using the current CVS state then the default is *on* (and the docs need to change). Which version are you using?
When i try to turn the iostreams off i get the follow errortext:
"Note that STLPort iostreams are /not/ in use by default. To enable them, you must place <stlport-iostream>on in your BUILD variable or in target requirements."
It only prints that text, along with other text you did not quote, when it thinks you did not setup the stlport toolset correctly. It has nothing to do with whether iostreams are on or off.
i understand from this errortext, that the stlport iostreams are OFF.
The text says that iostreams are off by default. Which is correct for 1.31 but not for current CVS.
Try using the attached mscv-stlport-tools.jam see if things improve.
how should i use the file? i tried "bjam mscv-stlport-tools.jam", but nothing happend. please tell me there i have to store the file and want cmdline i have to use.
Replace the file by the same name in your Boost tree: boosr-root/tools/build/v1/msvc-stlport-tools.jam -- And then use the same commands you normally use. -- -- Grafik - Don't Assume Anything -- Redshift Software, Inc. - http://redshift-software.com -- rrivera/acm.org - grafik/redshift-software.com - 102708583/icq

Hi rene, with the help of your jam-file, I could verifier that the default configuration is corrupt. Then you turn off or on the stlport-iostreams everything looks fine. The project generates the libs with the right names. But with the default configuration it generates libs/dlls for use with the native stlport with the name of a lib for use with the stlport iostreams. Sven

Sven Johannsen wrote:
Hi rene, with the help of your jam-file, I could verifier that the default configuration is corrupt.
Then you turn off or on the stlport-iostreams everything looks fine. The project generates the libs with the right names. But with the default configuration it generates libs/dlls for use with the native stlport with the name of a lib for use with the stlport iostreams.
This should now all be fixed. The build system will generate the correct names in all situations. -- -- Grafik - Don't Assume Anything -- Redshift Software, Inc. - http://redshift-software.com -- rrivera/acm.org - grafik/redshift-software.com - 102708583/icq
participants (3)
-
Rene Rivera
-
Sven Johannsen
-
Sven Johannsen