安装自制程序后我应该_真的_删除dylibs吗?
我刚刚安装了自制软件,并看到安装脚本中的一条消息,说我应该考虑删除以下“邪恶”dylib,因为它们可能会破坏构建。有人这样做过吗?如果是这样,您后来发现自己确实需要它们吗?
这是 dylib 列表:
/usr/local/lib/CHBrowserView.dylib
/usr/local/lib/libgnsdk_musicid_file.dylib
/usr/local/lib/libgnsdk_sdkmanager.dylib
/usr/local/lib/libjson.0.0.1.dylib
/usr/local/lib/libmusicid_osx.dylib
/usr/local/lib/libpcre.0.0.1.dylib
/usr/local/lib/libpcrecpp.0.0.0.dylib
/usr/local/lib/libpcreposix.0.0.0.dylib
I just installed homebrew and saw a message from the install script that said I should consider removing the following "evil" dylibs as they might break builds. Has anyone done this? And if so, did you later find out that you actually needed them?
Here's the dylib list:
/usr/local/lib/CHBrowserView.dylib
/usr/local/lib/libgnsdk_musicid_file.dylib
/usr/local/lib/libgnsdk_sdkmanager.dylib
/usr/local/lib/libjson.0.0.1.dylib
/usr/local/lib/libmusicid_osx.dylib
/usr/local/lib/libpcre.0.0.1.dylib
/usr/local/lib/libpcrecpp.0.0.0.dylib
/usr/local/lib/libpcreposix.0.0.0.dylib
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
不。如果 /usr/local/lib 中有某些东西,很可能是因为您构建并安装了它。
对于 Brew 来说,仅仅因为 Brew 不了解它们就认为 /usr/local/lib 中的任何库都是“邪恶的”,这是一个令人烦恼且自负的错误消息。
您可能有一个与 Brew 构建的内容冲突的“旧”版本,但是.. guh。当程序终止时,这将是非常明显的。如果应用程序尝试对其进行动态加载,则更有可能的是,这也意味着当 Brew 构建内容时,它无论如何都会尝试链接旧库。只要它的架构/版本兼容就没什么大不了的。
当您在 Brew 之前构建的东西无法找到您删除的共享库时,这也是非常明显的。考虑到您可能没有可用的源代码(或者记住您最初如何配置它......),
我强烈建议保留旧库。
NO. If you have something in /usr/local/lib, in all likelihood its because you built it and installed it.
It's an annoying and egotistical error message for Brew to assume that any libraries in /usr/local/lib are 'evil' simply because Brew doesn't know about them.
It is possible that you might have an 'older' version that conflicts with something Brew builds, but.. guh. It'll be painfully obvious when the program dies. And more likely than not if the application tries to dyload it, it also means that when Brew is building things it'll try to link against the old lib anyway. As long as it's arch / version compatible it's no biggie.
It'll also be painfully obvious when something you built pre-Brew can't find the shared library you removed. And given that you may not have the source laying around (or remember how you configured it in the first place..)
I strongly suggest keeping the old libraries around.