[Boost-bugs] [Boost C++ Libraries] #7647: b2 incompatible with _STLP_LIB_NAME_MOTIF in stlport (no library names flexibility) - fatal error LNK1181: cannot open input file 'stlportstld.5.2.lib

Subject: [Boost-bugs] [Boost C++ Libraries] #7647: b2 incompatible with _STLP_LIB_NAME_MOTIF in stlport (no library names flexibility) - fatal error LNK1181: cannot open input file 'stlportstld.5.2.lib
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2012-11-06 03:37:11


#7647: b2 incompatible with _STLP_LIB_NAME_MOTIF in stlport (no library names
flexibility) - fatal error LNK1181: cannot open input file
'stlportstld.5.2.lib
---------------------------------------------------------------+------------
 Reporter: Marcello Pietrobon <marcello.pietrobon@…> | Type: Bugs
   Status: new | Milestone: To Be Determined
Component: Building Boost | Version: Boost 1.52.0
 Severity: Problem | Keywords: b2 bjam stlport
---------------------------------------------------------------+------------
 B2 seems too rigid with the searched libraries names used for stlport.
 It causes problems for someone who needs to use names a suffix
 _STLP_LIB_NAME_MOTIF that is not empty (see stlport/stl/config/user-
 config.h).


 Here I explain the context the context.
 I've tried (succcessfully) to build boost_1_52 with stlport.5.2.1 with
 Microsoft vs 2010 (vc10)

 I've essentially used what suggested in
 http://www.lenholgate.com/blog/2010/07/stlport-521-and-
 vs2010-and-x64.html.
 [[BR]]
 The author of the pages uses _STLP_LIB_NAME_MOTIF in order to specify the
 compiler's name in the library name, which is what I need too.


 To build with stlport I've followed the usual procedure:

 1- added in tools/build/v2/user-config.jam the lines[[BR]]
   using msvc : 10.0 ;
   using stlport : 5.2.1 : <my_path_to_stlport>/STLport-5.2.1/stlport :
 <my_path_to_stlport>/STLport-5.2.1/lib/vc10 ;

 2- and issued the command:[[BR]]
 .\tools\build\v2\b2.exe stdlib=stlport-5.2.1 toolset=msvc-10.0
 debug/define=_STLP_DEBUG release --build-type=complete stage


 What I get is a linking error to the stlport libraries when doing
 link=shared threading=multi
 (for example with --with-system)[[BR]]
 the message error is:
 LINK : fatal error LNK1181: cannot open input file 'stlportstld.5.2.lib'

 This is because stlport.jam ((probably this jam file) '''forces''' the
 link to the stlport with its own names, therefore '''bypassing''' what is
 specified in the file STLport-5.2.1\stlport\stl\config\_auto_link.h

 I wonder why this choice, considering that life was beautiful years ago
 when this everything was delegated to stlport\stl\config\_auto_link.h. I
 imagine you had your own reasons.

 [[BR]]
 [[BR]]

 Things therefore work if I do:[[BR]]


 tools/build/v2/user-config.jam:[[BR]]
   using msvc : 10.0 ;
   using stlport : vc10.5.2.1 : <my_path_to_stlport>/STLport-5.2.1/stlport
 : <my_path_to_stlport>/STLport-5.2.1/lib/vc10 ;

 and issue the command:[[BR]]
   .\tools\build\v2\b2.exe stdlib=stlport-vc10.5.2.1 toolset=msvc-10.0
 debug/define=_STLP_DEBUG release --build-type=complete stage


 But still there is one strange behaviour which is problematic.[[BR]]


 Let's take tools/build/v2/user-config.jam again[[BR]]

  with[[BR]]
   using stlport : 5.2.1 : ....[[BR]]
   the library searched was stlportstld.5.2.lib
 [[BR]]
  with[[BR]]
   using stlport : vc10.5.2.1 : ....[[BR]]
   the library searched was stlportstldvc10.5.2.lib
 [[BR]]
  with[[BR]]
   using stlport : xyz.5.2.1 : ....[[BR]]
   the library searched was stlportstldvc10.5.2.lib
   i.e. not stlportstldxyz.5.2.lib
   [[BR]]

 And this is a problem, as people may want to build to the stlport
 libraries also when their name name is modified according to the
 _STLP_LIB_NAME_MOTIF macro in stlport/stl/config/user-config.h.

 Hope this will be fixed, if you agree this is a limitation. Again, I wish
 everything would be left to what is specified in
 STLport-5.2.1\stlport\stl\config\_auto_link.h

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/7647>
Boost C++ Libraries <http://www.boost.org/>
Boost provides free peer-reviewed portable C++ source libraries.

This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:11 UTC