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.