Mac系统下R语言png、jpeg包安装失败,寻求技术协助
解决R语言jpeg包安装失败(找不到jpeglib.h)的问题
问题背景
安装R的png包时因缺少libpng依赖报错,通过MacPorts安装pnglib解决后,安装jpeg包时出现编译错误,提示找不到jpeglib.h文件,导致安装失败。
错误详情
installing the source package ‘jpeg’
trying URL 'https://cran.rstudio.com/src/contrib/jpeg_0.1-10.tar.gz'
Content type 'application/x-gzip' length 18667 bytes (18 KB)downloaded 18 KB
- installing source package ‘jpeg’ ...
** package ‘jpeg’ successfully unpacked and MD5 sums checked
** using staged installation
** libs
clang -arch arm64 -I"/Library/Frameworks/R.framework/Resources/include" -DNDEBUG -I/opt/R/arm64/include -fPIC -falign-functions=64 -Wall -g -O2 -c read.c -o read.o
In file included from read.c:1:
./rjcommon.h:11:10: fatal error: 'jpeglib.h' file not found
#include <jpeglib.h>
^~~~~~~~~~~
1 error generated.
make: *** [read.o] Error 1
ERROR: compilation failed for package ‘jpeg’- removing ‘/Library/Frameworks/R.framework/Versions/4.2-arm64/Resources/library/jpeg’
Warning in install.packages :
installation of package ‘jpeg’ had non-zero exit statusThe downloaded source packages are in
‘/private/var/folders/q4/3t808ybx4sj8m638h6gtd72h0000gn/T/RtmpfIaIYv/downloaded_packages’
原因分析
和png包的问题本质一致:R的jpeg包为源码编译安装,需要系统提供对应的JPEG开发库(包含jpeglib.h头文件及编译依赖),当前系统缺少该依赖,导致编译中断。
解决方案
1. 通过MacPorts安装JPEG开发库
打开终端,执行以下命令安装常用的JPEG开发库:
sudo port install libjpeg-turbo
若偏好传统jpeg库,可替换为:
sudo port install jpeg
2. 重新安装R的jpeg包
依赖安装完成后,回到R或RStudio执行安装命令:
install.packages("jpeg")
3. 可选:手动指定依赖路径(若仍报错)
若安装库后仍无法找到头文件,可手动指定JPEG的安装路径给R编译器:
install.packages("jpeg", configure.args = "--with-jpeg=/opt/local")
(MacPorts默认安装路径为/opt/local,若你的路径不同,替换为对应路径即可)
内容的提问来源于stack exchange,提问作者Paul Rohde
相关产品推荐
相关产品推荐

