编译安装最新的PHP7.1.0时 出现了 gd库相关的错误提示 提示信息显示时缺少 libXpm 相关依赖,
首先是报错 ”gd.c:57:22: fatal error: X11/xpm.h: 没有那个文件或目录“
通过快捷安装 sudo apt install libxpm-dev 安装依赖后
报错 Makefile:288: recipe for target ‘sapi/cli/php’ failed
查看了一下本机
/usr/share/doc/ 及 /usr/share/doc/libxpm-dev/libxpm-dev/ 两个目录,
两个与libxpm有关联的文件分别为 libxpm4 及 libxpm-dev 上网查了一下 这两个文件属于映射镜像 编译PHP时无法满足依赖关系。
所以会出现 ‘sapi/cli/php’ failed 或者 undefined reference to `XpmLibraryVersion 等错误提示
网上搜索时都是互相抄袭的“修改MakeFile中的 88行 77行“云云的说法 试验后没有任何作用 浪费时间
最后根据编译时报错信息锁定问题是处在 gd库相关的Xpm依赖, 所以下载了libXpm源码包安装后 编译PHP时需要 加上一行 “ –with-xpm-dir=/usr/local/lnmp/libxpm” 问题解决。
附上编译命令备忘
sudo ./configure –prefix=/usr/local/lnmp/php –with-config-file-path=/usr/local/lnmp/php/etc –with-pdo-mysql –with-mysql –with-mysqli –with-libxml-dir=/usr/local/lnmp/libxml2 –with-png-dir=/usr/local/lnmp/libpng –with-jpeg-dir=/usr/local/lnmp/jpeg9 –with-freetype-dir=/usr/local/lnmp/freetype –with-gd=/usr/local/lnmp/libgd –with-mcrypt=/usr/local/lnmp/libmcrypt –with-curl=/usr/local/lnmp/curl –with-xpm-dir=/usr/local/lnmp/libxpm –with-openssl –with-mhash –with-zlib –enable-soap –enable-mbstring=all –enable-sockets –enable-fpm –enable-mbstring –enable-pcntl –enable-bcmath –enable-shmop –enable-sysvsem –enable-inline-optimization –enable-xml –enable-mbregex –enable-zip –enable-opcache=no