Ticket #27641 (closed defect: fixed)
boost uses icu even without the +icu variant
| Reported by: | ryandesign@… | Owned by: | adfernandes@… |
|---|---|---|---|
| Priority: | Normal | Milestone: | |
| Component: | ports | Version: | 1.9.2 |
| Keywords: | Cc: | ||
| Port: | boost |
Description
I have boost installed without the icu variant, but it still linked with the icu libraries. It mustn't do that.
$ port installed boost The following ports are currently installed: boost @1.45.0_0+python26+universal boost @1.45.0_1+python26+universal (active) $ port deps boost +python26 +universal Full Name: boost @1.45.0_1+python26+universal Library Dependencies: zlib, expat, bzip2, python26
$ sudo port install source-highlight [...] dyld: Library not loaded: /opt/local/lib/libicuuc.44.dylib Referenced from: /opt/local/lib/libboost_regex-mt.dylib Reason: image not found
$ port provides /opt/local/lib/libicuuc.44.dylib /opt/local/lib/libicuuc.44.dylib does not exist. $ port provides /opt/local/lib/libicuuc.46.dylib /opt/local/lib/libicuuc.46.dylib is provided by: icu
Change History
comment:2 follow-up: ↓ 3 Changed 3 years ago by ryandesign@…
I've just rebuilt boost with the +icu variant on my boxes. Is it perhaps a solution to delete the icu variant and just make the icu port a permanent dependency of boost?
comment:3 in reply to: ↑ 2 Changed 2 years ago by adfernandes@…
Replying to ryandesign@…:
I've just rebuilt boost with the +icu variant on my boxes. Is it perhaps a solution to delete the icu variant and just make the icu port a permanent dependency of boost?
Yes; I've just spent a long time winding my way through the boost configuration and build system, and it seems that boost doesn't actually configure itself to use or not-use icu. Instead, it just adds icu to the search path. Since bzip2, expat, and zlib are all taken from MacPorts, it automagically finds icu as well. There's no way to stop it.
I'm re-building boost now to do this and will commit when tested.


Dang. I looked into this, and boost also links/builds python, and ignores the "--without-python" flag.
I have no idea why; but I really don't want to spend hours debugging a horrible, undocumented tool like the bootstrapped bjam.
Every time I try to ask for help (or have others) the boost developers seem bewildered that you'd build a configuration not like theirs. :-(
If anyone has suggestions, I'm happy to listen!