Opened 10 years ago
Closed 10 years ago
#44118 closed defect (duplicate)
boost library names are of the form libboost_foo-mt.a
Reported by: | dave@… | Owned by: | macports-tickets@… |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.3.0 |
Keywords: | Cc: | cooljeanius (Eric Gallager) | |
Port: | boost |
Description
Code that links with boost doesn't build because -lboost_foo is not found.
And btw, what is the -mt for? boost libs on other platforms don't have these.
Change History (10)
comment:1 Changed 10 years ago by cooljeanius (Eric Gallager)
comment:3 follow-ups: 5 10 Changed 10 years ago by dave@…
and the default configuration definitely should install both the -mt and non-mt variants.
comment:4 Changed 10 years ago by mf2k (Frank Schima)
Port: | boost added |
---|
In the future, please fill in the Port field.
comment:5 follow-up: 8 Changed 10 years ago by ryandesign (Ryan Carsten Schmidt)
Replying to dave@…:
and the default configuration definitely should install both the -mt and non-mt variants.
The additional building of single-threaded libraries by default was deliberately disabled in r95845 in order to cut down build time. We could consider undoing that change, since we do have the precompiled binaries, which most users can use, so build time isn't an issue for most users.
comment:6 follow-up: 7 Changed 10 years ago by dave@…
Or is it a bad idea to just link the mt name to the non-mt name?
comment:7 Changed 10 years ago by ryandesign (Ryan Carsten Schmidt)
Replying to dave@…:
Or is it a bad idea to just link the mt name to the non-mt name?
Absolutely that would be a horrible idea. They have different names for a reason: they are not the same library.
comment:8 follow-up: 9 Changed 10 years ago by cooljeanius (Eric Gallager)
Replying to ryandesign@…:
Replying to dave@…:
and the default configuration definitely should install both the -mt and non-mt variants.
The additional building of single-threaded libraries by default was deliberately disabled in r95845 in order to cut down build time. We could consider undoing that change, since we do have the precompiled binaries, which most users can use, so build time isn't an issue for most users.
I have +universal
added to my variants.conf, and boost has not had a precompiled binary with the +universal
variant since version 1.54, so I have found myself building boost from source a lot lately... Any idea why the buildbot built previous versions of boost with the +universal
variant, but not more recent ones?
comment:9 Changed 10 years ago by ryandesign (Ryan Carsten Schmidt)
Replying to egall@…:
Any idea why the buildbot built previous versions of boost with the
+universal
variant, but not more recent ones?
The only time the buildbot will build a port with a universal variant is if some port that is 32-bit only depends on it, and it will only be built when that 32-bit-only port is committed (in other words, it won't happen when boost is updated; it'll happen when the 32-bit port that depends on boost is updated). I don't see any ports that currently fit that criteria, except for povray in certain circumstances, so maybe some other port used to be 32-bit only and has since been upgraded to support 64-bit.
comment:10 Changed 10 years ago by ryandesign (Ryan Carsten Schmidt)
Resolution: | → duplicate |
---|---|
Status: | new → closed |
The "
-mt
" stands for "multi-threaded". It gets added by the+no_single
variant to boost. If you want the un-suffixed versions of the library, install boost without the+no_single
variant (i.e. change the "+
" in front of the variant to a "-
").While this is a user error/misunderstanding here, it probably could have been avoided if the boost Portfile had cleared this up for users itself with a better variant description or something. Right now the variant description for
+no_single
just says:It takes external knowledge about boost to realize that that variant description actually means that only libraries suffixed with
-mt
will be installed. It would probably be easier for the user if that were explicitly spelled out instead, either in that description, or in some notes. Also, the variants should probably be renamed to fit the MacPorts variant naming convention of not starting variants with "no_
".