On Feb 1, 2019, at 20:09, Zero King wrote:

> On Fri, Feb 01, 2019 at 06:11:16PM -0600, Ryan Schmidt wrote:
> 
>> On Feb 1, 2019, at 15:30, Michael Dickens wrote:
>> 
>>> OK yes we -offer- multiple versions, but only one version can be installed 
>>> at a time right now.
>> 
>> No, if you install boost without the no_single variant, you will get both 
>> the single-threaded and the multithreaded versions. If you install without 
>> the no_static variant, you will get both the static and the dynamic 
>> libraries. So if you install without both variants, you'll get all four.
>> 
>> 
>>> I firmly believe that the vast vast majority of folks pick their Boost 
>>> variant and stick with it through the lifetime of that Boost version if not 
>>> the whole MacPorts install. The number of folks who actively switch between 
>>> Boost variants is IMHO very very small.
>> 
>> Oh I'm sure most users install the port with the default variants, which is 
>> to say that they only have the dynamic multithreaded version. If we're sure 
>> nobody needs the other versions we can do what you suggest. But I'm not sure 
>> of that; I have no data. And what you're proposing to do involves work, 
>> including removing the suffix from all the ports that are hardcoding it.
> 
> There are guides on GitHub asking the user to install boost with
> -no_static. Search results here: 
> https://github.com/search?q=port+install+boost+-no_static&type=Code

That's a good idea, thanks.


> For example:
> 
> https://github.com/VowpalWabbit/vowpal_wabbit#manual-install-of-vowpal-wabbit

Says to disable no_static but doesn't explain why and also says to override 
configure.cxx_stdlib and configure.cxx which is terrible advice.


> https://github.com/rime/squirrel/blob/master/INSTALL.md

Says to disable no_static but doesn't explain why.


> and https://github.com/kbase/data_api:
> 
>> E.g. the boost library needs to be installed as -no_static, because the
>> default +no_static install conflicts with thrift and possibly other
>> packages.

no_static doesn't exactly "conflict" with thrift; rather, the thrift source 
code is hardcoded to use the single-threaded static boost library. The MacPorts 
thrift port patches the source to use the multi-threaded dynamic boost library 
instead. Ideally we might have sent that patch to the developers but either we 
didn't do that or they didn't want it.

Reply via email to