问题
How do I install libjpeg 8 to /opt/local on OSX? The reason I am asking is that I would like to create small movies of brain activity using the MNE-C libraries.
I executed 'mne_make_movie' which results in the following error:
Movie production selected (from data)... Scanning /Users/user/mne/MNE-2.7.4-3420-MacOSX-x86_64/lib for plugins Found lqt_mjpeg.so...Getting codec info from module Trying to load /Users/user/mne/MNE-2.7.4-3420-MacOSX-x86_64/lib/lqt_mjpeg.so... dlopen failed for /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): Library not loaded: /opt/local/lib/libjpeg.8.dylib Referenced from: /Users/user/mne/MNE-2.7.4-3420-MacOSX-x86_64/lib/lqt_mjpeg.so
Reason: image not found ERROR: lqt_find_video_codec failed to find codecs!
Since everything is already compiled I don't think I can change the location where 'mne_make_movie' is looking for libjpeg. So I tried installing libjpeg using Mac Ports, which only has libjpeg-turbo available. However, then I get another error:
Movie production selected (from data)... Scanning /Users/user/mne/MNE-2.7.4-3420-MacOSX-x86_64/lib for plugins Found lqt_mjpeg.so...Getting codec info from module Trying to load /Users/user/mne/MNE-2.7.4-3420-MacOSX-x86_64/lib/lqt_mjpeg.so... dlopen failed for /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): Library not loaded: /opt/local/lib/libjpeg.8.dylib Referenced from: /Users/user/mne/MNE-2.7.4-3420-MacOSX-x86_64/lib/lqt_mjpeg.so
Reason: Incompatible library version: lqt_mjpeg.so requires version 13.0.0 or later, but libjpeg.8.dylib provides version 10.0.0 ERROR: lqt_find_video_codec failed to find codecs!
A more up to date version does not seem to be available on Mac Ports.
On the official website of libjpeg I downloaded the source for version 8d and followed the install instructions. This would install everything to /usr/local. I am not familiar with makefiles and don't know what I have to alter to install everything correctly to /opt/local.
So how do I install libjpeg 8 version 13.0.0 or greater to /opt/local?
P.S.: Homebrew does not seem applicable since it does not install to /opt/local (and it is not recommended to change it to /opt/local) and libjpeg 9 seems to be the only version available.
回答1:
If you don't use command-line build tools much, or you have recently upgraded macOS, you will probably need to download the Xcode command-line tools before you start. It won't do any harm if you already have them. The command is:
xcode-select --install
Then the following should work, though I have not tested it, so you may like to copy and paste one line at a time into your Terminal:
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
You may need to prefix the last line with sudo
.
来源:https://stackoverflow.com/questions/49728960/install-libjpeg-v8-to-opt-local