OSX上的不同libjpeg动态库之间存在动态链接冲突.首先是标准的原生libJPEG.dylib(在/System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/中).但是,如果您使用的是MacPorts,则还可以在/ opt/local/lib中使用与端口相关的libjpeg.dylib.例如,后者可以作为某些其他端口的依赖项安装.
当您链接到系统libJPEG(这是首选)时,这会产生问题.然后,如果/opt/local/lib在DYLD_LIBRARY_PATH中,则在搜索动态库时将优先考虑该路径,从而在加载符号时导致运行时错误:
dyld: Symbol not found: __cg_jpeg_resync_to_restart
Referenced from:
/System/Library/Frameworks/ImageIO.framework/Versions/A/ImageIO
Expected in: /opt/local/lib/libJPEG.dylib
in /System/Library/Frameworks/ImageIO.framework/Versions/A/ImageIO
Trace/BPT trap: 5
Run Code Online (Sandbox Code Playgroud)
所以我有两个问题(可能相关):
什么是解决实际问题的好方法(/opt/local/lib从DYLD_LIBRARY_PATH显然解决它但从而为其他依赖创建问题)?
搜索动态库的其他路径(即指定的"/ System/Library"路径在哪里)以及为什么DYLD_LIBRARY_PATH的优先级更高?
我在MAMP中通过PHP的exec()命令在Mac OSX 10.7.3上使用ffmpeg ,我有一个绝对路径设置来调用ffmpeg,例如
/opt/local/bin/ffmpeg -i "/sample.avi"
Run Code Online (Sandbox Code Playgroud)
但是我收到以下错误 -
dyld: Library not loaded: /opt/local/lib/libjpeg.8.dylib Referenced from: /opt/local/lib/libopenjpeg.1.dylib Reason: Incompatible library version: libopenjpeg.1.dylib requires version 13.0.0 or later, but libJPEG.dylib provides version 12.0.0
Run Code Online (Sandbox Code Playgroud)
NB ffmpeg是通过Macports安装的.
它可以从命令行运行.
该怎么办?
编辑
我已经重新开放这一点-原以为shell_exec()解决了问题,但INFACT应该叫不同的-我不知道直到今天进一步调查.这是我的代码使用shell_exec并仍然给出上面的错误:
$cmd = '/opt/local/bin/ffmpeg -h';
$cmd = escapeshellcmd($cmd) . ' 2>&1';
$output = shell_exec($cmd);
var_dump($output);
Run Code Online (Sandbox Code Playgroud) 我正在尝试运行java版本的PowerLoom,但是当我尝试在终端中启动它时,我收到以下错误消息:
dyld: Symbol not found: __cg_jpeg_resync_to_restart
Referenced from: /System/Library/Frameworks/ImageIO.framework/Versions/A/ImageIO
Expected in: /usr/local/lib/libJPEG.dylib
in /System/Library/Frameworks/ImageIO.framework/Versions/A/ImageIO
Trace/BPT trap: 5
Run Code Online (Sandbox Code Playgroud)
对于这个问题,这似乎是一个非常类似的问题,除了答案是针对MAMP/Cacti的.有关如何处理此问题的任何提示,甚至此错误信息的真正含义是什么?
我正在尝试将 Django 1.6.10-0 连接到以前在 1.5 上运行的项目。
在我的项目中编辑 wsgi.py 文件以包含项目路径后,我收到此错误:
mod_wsgi (pid=6805): Exception occurred processing WSGI script '/Users/Dreadfort/Documents/MyProject/project/wsgi.py'.
Traceback (most recent call last):
File "/Applications/djangostack-1.6.10-0/apps/django/lib/python2.7/site-packages/django/core/handlers/wsgi.py", line 187, in __call__
self.load_middleware()
File "/Applications/djangostack-1.6.10-0/apps/django/lib/python2.7/site-packages/django/core/handlers/base.py", line 44, in load_middleware
for middleware_path in settings.MIDDLEWARE_CLASSES:
File "/Applications/djangostack-1.6.10-0/apps/django/lib/python2.7/site-packages/django/conf/__init__.py", line 54, in __getattr__
self._setup(name)
File "/Applications/djangostack-1.6.10-0/apps/django/lib/python2.7/site-packages/django/conf/__init__.py", line 49, in _setup
self._wrapped = Settings(settings_module)
File "/Applications/djangostack-1.6.10-0/apps/django/lib/python2.7/site-packages/django/conf/__init__.py", line 128, in __init__
mod = importlib.import_module(self.SETTINGS_MODULE)
File "/Applications/djangostack-1.6.10-0/apps/django/lib/python2.7/site-packages/django/utils/importlib.py", line 40, in import_module
__import__(name)
File "/Users/Dreadfort/Documents/MyProject/project/__init__.py", line 5, in <module>
from .celery import …Run Code Online (Sandbox Code Playgroud)