为什么在我尝试安装 GD::Polygon 时得到 "Could not find gdlib-config in the search path",即使安装了 gdlib-config?
Why do I get "Could not find gdlib-config in the search path" when I try to install GD::Polygon, even though gdlib-config is installed?
我正在尝试通过 运行ning cpan install GD::Polygon
安装 GD::Polygon,但出现以下错误:
**UNRECOVERABLE ERROR**
Could not find gdlib-config in the search path. Please install libgd
2.0.28 or higher.
我从源代码(./configure
、make
、make install
)手动安装了 libgd-2.2.1,现在 运行 whereis gdlib-config
,我看到确实安装好了:
gdlib-config: /usr/local/bin/gdlib-config
我如何告诉 cpan
在哪里可以找到这个库?
好吧,简短的回答是:我通过 yum
而不是 cpan
安装了 GD。
sudo yum install perl-GD
如果您仍然想通过 cpan
安装它,您应该在您的 PATH 中包含 gdlib-config
(不仅仅是文件夹,例如 /usr/local/bin
或任何地方)。
使用 yum
安装 Perl 包绝对比使用 cpan
更好
我同意使用包管理器。
你没有提到你使用哪个 OS 。
在UbuntuLinux上,/usr/local/bin也在root用户的路径中。
您可以仔细检查文件是否可执行。
还要确保执行 Perl 编译的脚本不会弄乱 PATH 变量。
我正在使用 perlbrew 而不是 运行 作为 root,使用 cpan 来安装东西。
注意:在 Ubuntu 16.10 和 17.04 上缺少 gdlib-config,因为 debian 维护者似乎已经删除了它。
要获取它,你可以在这里编译源码:
https://launchpad.net/ubuntu/+archive/primary/+files/libgd2_2.1.1.orig.tar.gz
应用了以下补丁:
diff webpimg.c.org libgd-gd-2.1.1-patched-16.10plus/src/webpimg.c
714c714
< vpx_img_wrap(&img, IMG_FMT_I420,
---
> vpx_img_wrap(&img, VPX_IMG_FMT_I420,
716,721c716,721
< img.planes[PLANE_Y] = (uint8*)(Y);
< img.planes[PLANE_U] = (uint8*)(U);
< img.planes[PLANE_V] = (uint8*)(V);
< img.stride[PLANE_Y] = y_stride;
< img.stride[PLANE_U] = uv_stride;
< img.stride[PLANE_V] = uv_stride;
---
> img.planes[VPX_PLANE_Y] = (uint8*)(Y);
> img.planes[VPX_PLANE_U] = (uint8*)(U);
> img.planes[VPX_PLANE_V] = (uint8*)(V);
> img.stride[VPX_PLANE_Y] = y_stride;
> img.stride[VPX_PLANE_U] = uv_stride;
> img.stride[VPX_PLANE_V] = uv_stride;
干杯
顺便说一下,CPAN 安装程序似乎只需要 "devel" 版本的 libgd 来构建软件包。我尝试将它安装在旧的 cygwin 平台上,最后它与 "libgd-devel" 组件一起工作。
我尝试使用以下代码安装 libbgd。在我将 libgd-2.2.5/bin 路径添加到 $PATH
后,它起作用了。
wget https://github.com/libgd/libgd/releases/download/gd-2.2.5/libgd-2.2.5.tar.gz
tar zxvf libgd-2.2.5.tar.gz
cd libgd-2.2.5
./configure -prefix=/home/yourname/local
make
make install
make installcheck
我正在尝试通过 运行ning cpan install GD::Polygon
安装 GD::Polygon,但出现以下错误:
**UNRECOVERABLE ERROR**
Could not find gdlib-config in the search path. Please install libgd
2.0.28 or higher.
我从源代码(./configure
、make
、make install
)手动安装了 libgd-2.2.1,现在 运行 whereis gdlib-config
,我看到确实安装好了:
gdlib-config: /usr/local/bin/gdlib-config
我如何告诉 cpan
在哪里可以找到这个库?
好吧,简短的回答是:我通过 yum
而不是 cpan
安装了 GD。
sudo yum install perl-GD
如果您仍然想通过 cpan
安装它,您应该在您的 PATH 中包含 gdlib-config
(不仅仅是文件夹,例如 /usr/local/bin
或任何地方)。
使用 yum
安装 Perl 包绝对比使用 cpan
我同意使用包管理器。 你没有提到你使用哪个 OS 。 在UbuntuLinux上,/usr/local/bin也在root用户的路径中。 您可以仔细检查文件是否可执行。
还要确保执行 Perl 编译的脚本不会弄乱 PATH 变量。
我正在使用 perlbrew 而不是 运行 作为 root,使用 cpan 来安装东西。 注意:在 Ubuntu 16.10 和 17.04 上缺少 gdlib-config,因为 debian 维护者似乎已经删除了它。
要获取它,你可以在这里编译源码: https://launchpad.net/ubuntu/+archive/primary/+files/libgd2_2.1.1.orig.tar.gz
应用了以下补丁:
diff webpimg.c.org libgd-gd-2.1.1-patched-16.10plus/src/webpimg.c
714c714
< vpx_img_wrap(&img, IMG_FMT_I420,
---
> vpx_img_wrap(&img, VPX_IMG_FMT_I420,
716,721c716,721
< img.planes[PLANE_Y] = (uint8*)(Y);
< img.planes[PLANE_U] = (uint8*)(U);
< img.planes[PLANE_V] = (uint8*)(V);
< img.stride[PLANE_Y] = y_stride;
< img.stride[PLANE_U] = uv_stride;
< img.stride[PLANE_V] = uv_stride;
---
> img.planes[VPX_PLANE_Y] = (uint8*)(Y);
> img.planes[VPX_PLANE_U] = (uint8*)(U);
> img.planes[VPX_PLANE_V] = (uint8*)(V);
> img.stride[VPX_PLANE_Y] = y_stride;
> img.stride[VPX_PLANE_U] = uv_stride;
> img.stride[VPX_PLANE_V] = uv_stride;
干杯
顺便说一下,CPAN 安装程序似乎只需要 "devel" 版本的 libgd 来构建软件包。我尝试将它安装在旧的 cygwin 平台上,最后它与 "libgd-devel" 组件一起工作。
我尝试使用以下代码安装 libbgd。在我将 libgd-2.2.5/bin 路径添加到 $PATH
后,它起作用了。
wget https://github.com/libgd/libgd/releases/download/gd-2.2.5/libgd-2.2.5.tar.gz
tar zxvf libgd-2.2.5.tar.gz
cd libgd-2.2.5
./configure -prefix=/home/yourname/local
make
make install
make installcheck