将libjpeg v8安装到/ opt / local

时间:2018-04-09 08:50:08

标签: macos makefile libjpeg neuroscience

如何在OSX上将libjpeg 8安装到/ opt / local?我问的原因是我想用MNE-C libraries创建小型大脑活动电影。

我执行了' mne_make_movie'这会导致以下错误:

  

选择了电影作品(来自数据)...正在扫描   /Users/user/mne/MNE-2.7.4-3420-MacOSX-x86_64/lib for plugins Found   lqt_mjpeg.so ...从模块获取编解码器信息尝试加载   /Users/user/mne/MNE-2.7.4-3420-MacOSX-x86_64/lib/lqt_mjpeg.so ...   dlopen失败了   /Users/user/mne/MNE-2.7.4-3420-MacOSX-x86_64/lib/lqt_mjpeg.so:   dlopen的(/Users/user/mne/MNE-2.7.4-3420-MacOSX-x86_64/lib/lqt_mjpeg.so,   2):未加载库:/opt/local/lib/libjpeg.8.dylib引用   来自:/Users/user/mne/MNE-2.7.4-3420-MacOSX-x86_64/lib/lqt_mjpeg.so
  原因:找不到图像错误:lqt_find_video_codec找不到   编解码器!

由于所有内容都已编译,我不认为我可以更改“mne_make_movie”的位置。正在寻找libjpeg。所以我尝试使用Mac Ports安装libjpeg,它只有libjpeg-turbo可用。但是,我又得到了另一个错误:

  

选择了电影作品(来自数据)...正在扫描   /Users/user/mne/MNE-2.7.4-3420-MacOSX-x86_64/lib for plugins Found   lqt_mjpeg.so ...从模块获取编解码器信息尝试加载   /Users/user/mne/MNE-2.7.4-3420-MacOSX-x86_64/lib/lqt_mjpeg.so ...   dlopen失败了   /Users/user/mne/MNE-2.7.4-3420-MacOSX-x86_64/lib/lqt_mjpeg.so:   dlopen的(/Users/user/mne/MNE-2.7.4-3420-MacOSX-x86_64/lib/lqt_mjpeg.so,   2):未加载库:/opt/local/lib/libjpeg.8.dylib引用   来自:/Users/user/mne/MNE-2.7.4-3420-MacOSX-x86_64/lib/lqt_mjpeg.so
  原因:库版本不兼容:lqt_mjpeg.so需要版本   13.0.0或更高版本,但libjpeg.8.dylib提供版本10.0.0错误:lqt_find_video_codec无法找到编解码器!

Mac Ports似乎没有更新的版本。

在libjpeg的官方website上,我下载了版本8d的源代码,并按照安装说明进行操作。这会将所有内容安装到/ usr / local。我不熟悉makefile,也不知道我必须改变什么才能正确安装到/ opt / local。

那么如何将libjpeg 8版本13.0.0或更高版本安装到/ opt / local?

P.S。:Homebrew似乎不适用,因为它没有安装到/ opt / local(并且不建议将其更改为/ opt / local),libjpeg 9似乎是唯一可用的版本。

1 个答案:

答案 0 :(得分:1)

如果您不使用命令行构建工具,或者您最近升级了macOS,则可能需要在开始之前下载Xcode命令行工具。如果你已经拥有它们,它不会造成任何伤害。命令是:

xcode-select --install

然后以下内容应该可行,但我还没有测试过,所以您可能希望一次将一行复制并粘贴到终端中:

curl -O -J -L http://www.ijg.org/files/jpegsrc.v8.tar.gz
tar xvfz jpeg*tar.gz                 # Unzip and untar what you downloaded
cd jpeg-8                            # Change directory to wherever it unpacked to
./configure --prefix="/opt/local"    # Configure with the necessary prefix
make
make install

您可能需要在最后一行前加sudo