Boost logo

Boost-Build :

Subject: Re: [Boost-build] another simple boost build failure
From: Ronny Herzog (herzog_at_[hidden])
Date: 2012-10-24 04:51:18


Dear all,

sorry for bothering you again, but the problem did not disappear. With
the changes from Juergen it worked yesterday. But today it does not
anymore (maybe I was too tired yesterday...).

You find my Jamroot[1] and the output of "bjam -d+2"[2] below. The
strange thing is that the file
"/C:\boost_1_50_0\bin.v2\libs\filesystem\build\msvc-9.0\debug\threading-multi\boost_filesystem-vc90-mt-gd-1_50.lib/"
exists. However, the linker reports that it cannot open it.

I am greatful for any help, since I am new to boost.

Thank you,
Ronny

[1]:
using msvc ;

use-project boost
   : c:/boost_1_50_0 ;

project spectraImport
     : requirements
         <library>/boost/filesystem//boost_filesystem
         <library>/boost/regex//boost_regex
         # disable autolinking
         <define>BOOST_ALL_NO_LIB
     : build-dir ../boost-build
     ;

exe spectraImport
     : [ glob *.cpp ]
     ;

install ../boost-build : spectraImport ;

[2]:
C:\Users\Duke\My_Projects\boost_python\spectraImport\spectraimport>bjam -d+2
Performing configuration checks

     - has_icu builds : no

file ..\boost-build\msvc-9.0\debug\threading-multi\spectraImport.exe.rsp

"..\boost-build\msvc-9.0\debug\threading-multi\Align.obj"
"..\boost-build\msvc-9.0\debug\threading-multi\averaging.obj"
"..\boost-build\msvc-9.0\debug\threading-multi\averagingmsms.obj"
"..\boost-build\msvc-9.0\debug\threading-multi\Import.obj"
"..\boost-build\msvc-9.0\debug\threading-multi\ReadRaw.obj"
"..\boost-build\msvc-9.0\debug\threading-multi\SIException.obj"
"..\boost-build\msvc-9.0\debug\threading-multi\spectraimport.obj"
"..\boost-build\msvc-9.0\debug\threading-multi\SpectraImportTools.obj"
"..\boost-build\msvc-9.0\debug\threading-multi\stdafx.obj"
"..\boost-build\msvc-9.0\debug\threading-multi\Tolerance.obj"
"C:\boost_1_50_0\bin.v2\libs\regex\build\msvc-9.0\debug\threading-multi\boost_regex-vc90-mt-gd-1_50.lib"
"C:\boost_1_50_0\bin.v2\libs\system\build\msvc-9.0\debug\threading-multi\boost_system-vc90-mt-gd-1_50.lib"
"C:\boost_1_50_0\bin.v2\libs\filesystem\build\msvc-9.0\debug\threading-multi\boost_filesystem-vc90-mt-gd-1_50.lib"
msvc.link ..\boost-build\msvc-9.0\debug\threading-multi\spectraImport.exe

         call "C:\Program Files\Microsoft Visual Studio
9.0\VC\vcvarsall.bat" x86
>nul
link /NOLOGO /INCREMENTAL:NO /DEBUG /MACHINE:X86 /subsystem:console
/out:"..\boo
st-build\msvc-9.0\debug\threading-multi\spectraImport.exe"
@"..\boost-build\ms
vc-9.0\debug\threading-multi\spectraImport.exe.rsp"
         if %ERRORLEVEL% NEQ 0 EXIT %ERRORLEVEL%

LINK : fatal error LNK1104: cannot open file
'libboost_regex-vc90-mt-gd-1_50.lib
'
...skipped <p..\boost-build>spectraImport.exe for lack of
<p..\boost-build\msvc-
9.0\debug\threading-multi>spectraImport.exe...
...skipped <p..\boost-build>spectraImport.pdb for lack of
<p..\boost-build\msvc-
9.0\debug\threading-multi>spectraImport.pdb...
...failed updating 2 targets...
Am 10/23/2012 4:19 PM, schrieb Jürgen Hunold:
> Hi Ronny,
>
> On Tuesday, 23. October 2012 11:10:46 Ronny Herzog wrote:
>> Dear all,
>>
>> I successfully imported the boost_filesystem, but no I am stuck with
>> boost_regex. The linker complains that it is not able to open
>> 'libboost_regex-vc90-mt-gd-1_50.lib' although it is there (in
>> c:\boost_1_50_0\stage\lib). Again, I am using Windows 7. Anyone has an
>> idea why? Because the boost::filesystem works.
> Well, I think autolinking is getting in the way because your Jamroot is
> slightly wrong and fails to pull in Boost.Regex.
>
>> link /NOLOGO /INCREMENTAL:NO /DEBUG /MACHINE:X86 /subsystem:console
>> /out:"..\boo
>> st-build\msvc-9.0\debug\threading-multi\spectraImport.exe"
>> @"..\boost-build\ms
>> vc-9.0\debug\threading-multi\spectraImport.exe.rsp"
> The interesting part is in the response file "...\spectraImport.exe.rsp". To
> get its contents use -d+2 or -n. And please attach the (zipped) output next
> time.
>
> But I guess the problem is here:
>
>> project spectraImport
>>
>> : requirements <library>/boost/filesystem//boost_filesystem
>> : requirements <library>/boost/regex//boost_regex
>> : build-dir ../boost-build
>>
>> ;
> You can only have one "requirements" block. Example below:
>
> project spectraImport
> : requirements
> <library>/boost/filesystem//boost_filesystem
> <library>/boost/regex//boost_regex
> # Disable autolinking
> <define>BOOST_ALL_NO_LIB
> : build-dir ../boost-build
> ;
>
> And the best is to completely disable autolinking when using Boost.Build. It
> only gets in the way.
>
> Hope this helps,
>
> Yours,
>
> Jürgen




Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk