Opened 8 years ago
Closed 4 years ago
#53452 closed defect (fixed)
taglib: opportunistically links with boost
Reported by: | ctreleaven (Craig Treleaven) | Owned by: | ryandesign (Ryan Carsten Schmidt) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | |
Keywords: | Cc: | ||
Port: | taglib |
Description
$ port installed taglib boost The following ports are currently installed: boost @1.58.0_3+no_single+no_static+python27 boost @1.59.0_2+no_single+no_static+python27 (active) taglib @1.9.1_0 taglib @1.11_1 taglib @1.11.1_0 (active)
$ otool -L /opt/local/lib/libtag.1.dylib /opt/local/lib/libtag.1.dylib: /opt/local/lib/libtag.1.dylib (compatibility version 1.0.0, current version 1.17.0) /opt/local/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.8) /opt/local/lib/libboost_atomic-mt.dylib (compatibility version 0.0.0, current version 0.0.0) /usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 120.0.0) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1213.0.0)
I don't know enough about cmake to tell if a configure flag can eliminate this behaviour.
Attachments (1)
Change History (9)
comment:1 Changed 8 years ago by ryandesign (Ryan Carsten Schmidt)
Owner: | set to ryandesign |
---|---|
Status: | new → accepted |
comment:2 Changed 8 years ago by ctreleaven (Craig Treleaven)
Changed 8 years ago by ctreleaven (Craig Treleaven)
Attachment: | 0001-taglib-prevent-boost-link-add-variants.patch added |
---|
comment:3 Changed 8 years ago by ctreleaven (Craig Treleaven)
Attached patch fixes the opportunistic linking with boost as well as adding variants to perform unit tests and build example programs.
comment:4 follow-up: 5 Changed 8 years ago by ryandesign (Ryan Carsten Schmidt)
Why does enabling tests require disabling shared libraries?
There shouldn't be a need to write ${workpath}/build
; you should be able to write ${build.dir}
.
Anyway, this seems unrelated to the matter at hand. Let's concentrate on just the opportunistic boost linking.
comment:5 Changed 8 years ago by ctreleaven (Craig Treleaven)
Replying to ryandesign:
Why does enabling tests require disabling shared libraries?
See https://github.com/taglib/taglib/blob/master/CMakeLists.txt#L149
There shouldn't be a need to write
${workpath}/build
; you should be able to write${build.dir}
.
Noted.
Anyway, this seems unrelated to the matter at hand. Let's concentrate on just the opportunistic boost linking.
I wanted to enable tests in case boost had any other impact. At that point, it was trivial to enable the examples.
comment:6 Changed 4 years ago by ryandesign (Ryan Carsten Schmidt)
comment:7 Changed 4 years ago by ryandesign (Ryan Carsten Schmidt)
comment:8 Changed 4 years ago by ryandesign (Ryan Carsten Schmidt)
Resolution: | → fixed |
---|---|
Status: | accepted → closed |
I may have found a solution. It appears that appending
-DBoost_INCLUDE_DIR=""
to the configure args prevents an installed boost from being found. Not the cleanest solution but the resulting lib no longer referenceslibboost_atomic-mt.dylib
.Relevant portion of the configure output is:
I can commit this if you like.