Info: Boost.Config is older than your compiler version - message is surprising
I've just updated to the latest and greatest Visual Studio 15.5 and also got my Boost develop branch up-to-date. But I'm still getting this message: "Info: Boost.Config is older than your compiler version - probably nothing bad will happen - but you may wish to look for an updated Boost version. Define BOOST_CONFIG_SUPPRESS_OUTDATED_MESSAGE to suppress this message." I've just rebuilt my library files that have the new -x64- x32 in the name (great - but grrrr because I have had to change all my command files to generate them, previously in /x64 and /win32 folders ;-) The library files have names like libboost_chrono-vc141-mt-x64-1_66.lib so version number is still at 1.66 (a fact confirmed by the config_info Boost version 106600) The config_info.txt output is attached. So I am surprised to get this potentially useful warning. It would *much* more helpful if the warning told which version number of both compiler and Boost? (Just like the 'File not found' message that provokes "Which *&%$%^!!ing file" expletives). Paul PS The Good news is that defining BOOST_CONFIG_SUPPRESS_OUTDATED_MESSAGE quiets as promised. --- Paul A. Bristow Prizet Farmhouse Kendal UK LA8 8AB +44 (0) 1539 561830
On 8 December 2017 at 06:06, Paul A. Bristow via Boost < boost@lists.boost.org> wrote:
I've just updated to the latest and greatest Visual Studio 15.5 and also got my Boost develop branch up-to-date.
But I'm still getting this message:
"Info: Boost.Config is older than your compiler version - probably nothing bad will happen - but you may wish to look for an updated Boost version. Define BOOST_CONFIG_SUPPRESS_OUTDATED_MESSAGE to suppress this message."
This is an old problem, that now pops up regularly as we are having new updates on a continuous basis, a re-think is in order it seems... I've just rebuilt my library files that have the new -x64- x32 in the name
(great - but grrrr because I have had to change all my command files to generate them, previously in /x64 and /win32 folders ;-)
The library files have names like
libboost_chrono-vc141-mt-x64-1_66.lib
so version number is still at 1.66 (a fact confirmed by the config_info Boost version 106600)
I noticed this as well (as soon as PD merged the relevant PR), but thought it would go away (get fixed on the way), so I did not report it (it would probably also just generate a response saying: file PR, write docs and add tests). Auto-linking (windows) is broken (and links to the lib-name without the x32/x64). degski -- "*Ihre sogenannte Religion wirkt bloß wie ein Opiat reizend, betäubend, Schmerzen aus Schwäche stillend.*" - Novalis 1798
degski wriote:
Auto-linking (windows) is broken (and links to the lib-name without the x32/x64).
Is it? I thought I fixed it at the same time as I applied the other changes. 1>LINK : fatal error LNK1104: cannot open file 'libboost_filesystem-vc80-mt-sgd-x64-1_66.lib' How can I reproduce its not working?
-----Original Message----- From: Boost [mailto:boost-bounces@lists.boost.org] On Behalf Of Peter Dimov via Boost Sent: 08 December 2017 13:52 To: boost@lists.boost.org Cc: Peter Dimov Subject: Re: [boost] Info: Boost.Config is older than your compiler version - message is surprising
degski wriote:
Auto-linking (windows) is broken (and links to the lib-name without the x32/x64).
Is it? I thought I fixed it at the same time as I applied the other changes.
1>LINK : fatal error LNK1104: cannot open file 'libboost_filesystem-vc80-mt-sgd-x64-1_66.lib'
How can I reproduce its not working?
I am fairly confident that autolinking IS working for MSVC (after much messing with rebuilding lib files and Library directory settings). But I am trying to get VS 15.5 working with Clang (Configuration properties, General, Platform toolset, = Visual Studio 2017 - Clang with Microsoft CodeGen (v141_clang_c2) does not seem to work, but LLVM-vs2014 does without using a library). After changing to use static rather than DLL, and adding the four libraries needed for stopwatch job libboost_chrono-clang50-mt-x32-1_66.lib;libboost_system-clang50-mt-x32-1_66.lib;libboost_date_time-clang50-mt-x32-1_66.lib;libboost_ regex-clang50-mt-x32-1_66.lib;libboost_unit_test_framework-clang50-mt-x32-1_66.lib;%(AdditionalDependencies) It links searching those libraries (shown using verbose option in linker) Searching C:\Program Files (x86)\Windows Kits\10\lib\10.0.16299.0\ucrt\x86\libucrt.lib: 1> Searching I:\modular-boost\lib\libboost_chrono-clang50-mt-x32-1_66.lib: 1> Searching I:\modular-boost\lib\libboost_system-clang50-mt-x32-1_66.lib: 1> Searching I:\modular-boost\lib\libboost_date_time-clang50-mt-x32-1_66.lib: 1> Searching I:\modular-boost\lib\libboost_regex-clang50-mt-x32-1_66.lib: 1> Searching I:\modular-boost\lib\libboost_unit_test_framework-clang50-mt-x32-1_66.lib: 1> Searching C:\Program Files (x86)\Windows Kits\10\lib\10.0.16299.0\um\x86\kernel32.lib: (This verbosity helped me when I was linking to the dynamic lib ;-) but ultimately fails here 1>libboost_system-clang50-mt-x32-1_66.lib(error_code.obj) : error LNK2001: unresolved external symbol __imp____RTDynamicCast 1>J:\Cpp\Misc\Release\lambert_w_compare_JM.exe : fatal error LNK1120: 1 unresolved externals 1>Done building project "lambert_w_compare_JM.vcxproj" -- FAILED. This is the same problem that I have with trying to use Clang Codeblocks :-( Suggestions most welcome. But autolinking will never work with using Clang? Paul --- Paul A. Bristow Prizet Farmhouse Kendal UK LA8 8AB +44 (0) 1539 561830
On 8 December 2017 at 08:32, Paul A. Bristow via Boost < boost@lists.boost.org> wrote:
But I am trying to get VS 15.5 working with Clang (Configuration properties, General, Platform toolset, = Visual Studio 2017 - Clang with Microsoft CodeGen (v141_clang_c2) does not seem to work, but LLVM-vs2014 does without using a library).
You are wasting your time here, the clang/c2 experiment has ended (it's on the vc-blog somewhere, and was also discussed on reddit/r/cpp) and there will be no follow up. You'll have to use the Clang/LLVM from the llvm web-site going forward.
But autolinking will never work with using Clang?
From what I see, this used to wok fine (with Clang/LLVM). Some libs though, in general, won't auto-link, like system, if you link to random or filesystem.
degski -- "*Ihre sogenannte Religion wirkt bloß wie ein Opiat reizend, betäubend, Schmerzen aus Schwäche stillend.*" - Novalis 1798
On 8 December 2017 at 08:44, degski
But autolinking will never work with using Clang?
From what I see, this used to wok fine (with Clang/LLVM). Some libs though, in general, won't auto-link, like system, if you link to random or filesystem.
There's really no reason why this shouldn't work (from the IDE) as Clang/LLVM uses the vc-linker for linking (and the auto-linking pragma's are in the headers). If you use lld as your linker (in case you would like to use thin-lto), lld seems to find lots of stuff on its own (when given the proper directories). Unfortunately, it does not seem possible to use lld from the IDE, you'll have to use the command line. Also if you want to use thin-lto, you'll have to build boost with clang (stack trace does not compile), instrumented for thin-lto. The use of thin-lto (can) give some really great (speed) improvements over the non-lto version (I've found full-lto to be a pessimisation). degski -- "*Ihre sogenannte Religion wirkt bloß wie ein Opiat reizend, betäubend, Schmerzen aus Schwäche stillend.*" - Novalis 1798
On 8 December 2017 at 07:52, Peter Dimov via Boost
1>LINK : fatal error LNK1104: cannot open file 'libboost_filesystem-vc80-mt-sgd-x64-1_66.lib'
How can I reproduce its not working?
I'm working with a develop from some time ago (21.10.2017 snapshot). When just linking project (using program options), I get: 1>LINK : fatal error LNK1104: cannot open file 'libboost_program_options-vc141-mt-s-1_66.lib' degski -- "*Ihre sogenannte Religion wirkt bloß wie ein Opiat reizend, betäubend, Schmerzen aus Schwäche stillend.*" - Novalis 1798
-----Original Message----- From: Boost [mailto:boost-bounces@lists.boost.org] On Behalf Of degski via Boost Sent: 08 December 2017 14:36 To: boost Cc: degski Subject: Re: [boost] Info: Boost.Config is older than your compiler version - message is surprising
On 8 December 2017 at 07:52, Peter Dimov via Boost
wrote: 1>LINK : fatal error LNK1104: cannot open file 'libboost_filesystem-vc80-mt-sgd-x64-1_66.lib'
How can I reproduce its not working?
I'm working with a develop from some time ago (21.10.2017 snapshot). When just linking project (using program options), I get:
1>LINK : fatal error LNK1104: cannot open file 'libboost_program_options-vc141-mt-s-1_66.lib'
Does re-bootstrapping help? Failing that getting develop up-to-date? (Do I hear you sigh?) Or wait until someone who understands the guts of this process answers ;-) HTH Paul
I'm working with a develop from some time ago (21.10.2017 snapshot). When just linking project (using program options), I get:
1>LINK : fatal error LNK1104: cannot open file 'libboost_program_options-vc141-mt-s-1_66.lib'
commit e276412eb9e7c22df4581c8b8eeb21d16f9239d5 Merge: 0cdf4a5 6098c81 Author: Peter Dimov <...> Date: Fri Oct 20 18:46:13 2017 +0300 Merge pull request #160 from boostorg/pr/arch-and-model-autolink Use architecture and address model in autolink so Config from 21.10 should work, although it's close. Although using the develop branch from 21.10.2017 and expecting everything to work is not exactly best practices. :-)
On 8 December 2017 at 12:09, Peter Dimov via Boost
so Config from 21.10 should work, although it's close.
I had seen the commit, that's why it's from 21.10
Although using the develop branch from 21.10.2017 and expecting everything to work is not exactly best practices. :-)
Another reason I did not sound the alarm bells, yes, I understand, it's a WIP. degski -- "*Ihre sogenannte Religion wirkt bloß wie ein Opiat reizend, betäubend, Schmerzen aus Schwäche stillend.*" - Novalis 1798
degski wrote:
so Config from 21.10 should work, although it's close.
I had seen the commit, that's why it's from 21.10
No idea then. This should be the superproject commit:
commit 686dc1a876c590891cfe969c39ce434e75680561
Author: Automated Commit
On 8 December 2017 at 13:01, Peter Dimov via Boost
It does work with the current develop and master.
I've downloaded and compiled RC1, and now the auto-linking does work (but not when clang/llvm is the compiler (it probably never did, just cannot remember)). degski -- "*Ihre sogenannte Religion wirkt bloß wie ein Opiat reizend, betäubend, Schmerzen aus Schwäche stillend.*" - Novalis 1798
-----Original Message----- From: Boost [mailto:boost-bounces@lists.boost.org] On Behalf Of Paul A. Bristow via Boost Sent: 08 December 2017 12:07 To: boost@lists.boost.org Cc: Paul A. Bristow Subject: [boost] Info: Boost.Config is older than your compiler version - message is surprising
I've just updated to the latest and greatest Visual Studio 15.5 and also got my Boost develop branch up-to-date.
But I'm still getting this message:
"Info: Boost.Config is older than your compiler version - probably nothing bad will happen - but you may wish to look for an updated Boost version. Define BOOST_CONFIG_SUPPRESS_OUTDATED_MESSAGE to suppress this message."
I've just rebuilt my library files that have the new -x64- x32 in the name (great - but grrrr because I have had to change all my command files to generate them, previously in /x64 and /win32 folders ;-)
The library files have names like
libboost_chrono-vc141-mt-x64-1_66.lib
so version number is still at 1.66 (a fact confirmed by the config_info Boost version 106600)
The config_info.txt output is attached.
So I am surprised to get this potentially useful warning.
It would *much* more helpful if the warning told which version number of both compiler and Boost?
(Just like the 'File not found' message that provokes "Which *&%$%^!!ing file" expletives). PS The Good news is that defining BOOST_CONFIG_SUPPRESS_OUTDATED_MESSAGE quiets as promised.
Sent a suggestion to VS Team to allow later Boost versions (for the benefit of Boost developers and other adventurous spirits using the git develop branch) https://developercommunity.visualstudio.com/content/problem/165102/boost-con... Paul --- Paul A. Bristow Prizet Farmhouse Kendal UK LA8 8AB +44 (0) 1539 561830
On 12/11/17 13:04, Paul A. Bristow via Boost wrote:
Sent a suggestion to VS Team to allow later Boost versions (for the benefit of Boost developers and other adventurous spirits using the git develop branch)
https://developercommunity.visualstudio.com/content/problem/165102/boost-con...
I don't think it's up to MS to decide that.
Paul A. Bristow wrote:
Sent a suggestion to VS Team to allow later Boost versions (for the benefit of Boost developers and other adventurous spirits using the git develop branch)
https://developercommunity.visualstudio.com/content/problem/165102/boost-con...
This message is issued by Boost.Config, not by VS. https://github.com/boostorg/config/blob/develop/include/boost/config/compile... One could argue that the version check there should be >= 1920 as these minor updates cause too much fuss. To avoid the problem of not being clear where this message comes from, I have proposed the addition of BOOST_PRAGMA_MESSAGE to Boost.Config: https://github.com/boostorg/config/pull/195 which prepends the file and the line to the message, so that you could get f.ex. ../boost-git/boost\boost/config/compiler/visual.hpp(334): note: Boost.Config is older...
-----Original Message----- From: Boost [mailto:boost-bounces@lists.boost.org] On Behalf Of Peter Dimov via Boost Sent: 11 December 2017 10:47 To: boost@lists.boost.org Cc: Peter Dimov Subject: Re: [boost] Info: Boost.Config is older than your compiler version - message is surprising
Paul A. Bristow wrote:
Sent a suggestion to VS Team to allow later Boost versions (for the benefit of Boost developers and other adventurous spirits using the git develop branch)
https://developercommunity.visualstudio.com/content/problem/165102/boost-con... unexpect.html
This message is issued by Boost.Config, not by VS.
https://github.com/boostorg/config/blob/develop/include/boost/config/compile...
One could argue that the version check there should be >= 1920 as these minor updates cause too much fuss.
To avoid the problem of not being clear where this message comes from, I have proposed the addition of BOOST_PRAGMA_MESSAGE to Boost.Config:
https://github.com/boostorg/config/pull/195
which prepends the file and the line to the message, so that you could get f.ex.
../boost-git/boost\boost/config/compiler/visual.hpp(334): note: Boost.Config is older...
Sounds much better to me. Paul --- Paul A. Bristow Prizet Farmhouse Kendal UK LA8 8AB +44 (0) 1539 561830
participants (4)
-
Andrey Semashev
-
degski
-
Paul A. Bristow
-
Peter Dimov