Ticket #24171 (closed defect: fixed)
gearmand links with libuuid, libsqlite3, libmemcached
| Reported by: | ryandesign@… | Owned by: | rodney.rehm@… |
|---|---|---|---|
| Priority: | Normal | Milestone: | |
| Component: | ports | Version: | |
| Keywords: | Cc: | andy@… | |
| Port: | gearmand |
Description
gearmand links with libraries from ports it doesn't declare dependencies on, including libuuid from the ossp-uuid port, libsqlite3 from the sqlite3 port, and libmemcached from the libmemcached port:
$ otool -L /opt/local/sbin/gearmand /opt/local/sbin/gearmand: /opt/local/lib/libevent-1.4.2.dylib (compatibility version 4.0.0, current version 4.3.0) /usr/lib/libresolv.9.dylib (compatibility version 1.0.0, current version 38.0.0) /opt/local/lib/libmemcached.4.dylib (compatibility version 5.0.0, current version 5.0.0) /opt/local/lib/libsqlite3.0.dylib (compatibility version 9.0.0, current version 9.6.0) /opt/local/lib/libgearman.4.dylib (compatibility version 5.0.0, current version 5.0.0) /opt/local/lib/libuuid.16.dylib (compatibility version 17.0.0, current version 17.22.0) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 125.0.0) $ port provides /opt/local/lib/libuuid.16.dylib /opt/local/lib/libuuid.16.dylib is provided by: ossp-uuid $ port provides /opt/local/lib/libsqlite3.0.dylib /opt/local/lib/libsqlite3.0.dylib is provided by: sqlite3 $ port provides /opt/local/lib/libmemcached.4.dylib /opt/local/lib/libmemcached.4.dylib is provided by: libmemcached $
gearmand should either not use these libraries or should declare dependencies on them.
There was another port submission for gearmand in #23502 that I overlooked; it does declare dependencies on sqlite3 and libmemcached.
In the case of ossp-uuid, it's probably best not to use that libuuid if you can figure out how to avoid that.
Attachments
Change History
comment:2 Changed 3 years ago by ryandesign@…
It would be helpful if someone could supply a patch that implements those changes for Rodney's portfile that I already committed to the repository.
comment:3 Changed 3 years ago by andy@…
looks good! you can remove from memcached from the primary depends, because it's only explicitly added by the memcached variant.
Changed 3 years ago by rodney.rehm@…
- Attachment Portfile.diff added
same patch, just removed primary dependency port:memcached


Feel free to merge my portfile (from #23502 and hosted at http://github.com/andyfowler/my-macports/tree/master/devel/ ) into this ticket. It has declared dependencies and variants for drizzle (which means mysql support). Doesn't include a startupitem.