2016-06-21 24 views
2

Ich versuche GD::Polygon zu installieren, indem cpan install GD::Polygon ausgeführt wird, aber ich bekomme die folgende Fehlermeldung:Warum bekomme ich "gdlib-config im Suchpfad nicht gefunden" wenn ich versuche GD :: Polygon zu installieren, obwohl gdlib-config installiert ist?

**UNRECOVERABLE ERROR** 
Could not find gdlib-config in the search path. Please install libgd 
2.0.28 or higher. 

ich manuell libgd-2.2.1 von der Quelle installiert (./configure, make, make install) und wenn ich jetzt laufen whereis gdlib-config zu sehen, die ich, dass es in der Tat installiert ist:

gdlib-config: /usr/local/bin/gdlib-config 

Wie kann ich cpan sagen, wo diese Bibliothek zu finden?

+3

Ist 'gdlib-config' in Ihrem' PATH'? – ThisSuitIsBlackNot

+1

auch ... haben Sie in einem neuen Terminalfenster versucht, dass PATH entsprechend aktualisiert wurde? – stevieb

+0

@ThisSuitIsBlackNot/usr/local/bin ist in meinem PATH ... sollte ich speziell auch gdlib-config einschließen? –

Antwort

2

Nun, kurze Antwort ist: Ich habe GD über yum statt cpan installiert.

sudo yum install perl-GD 

Wenn Sie es noch durch cpan installieren möchten, sollten Sie gdlib-config auf Ihrem PATH (nicht nur der Ordner zum Beispiel /usr/local/bin oder wo auch immer es ist).

Installation von Perl-Pakete mit yum ist definitiv besser als bei cpan

+1

'yum' (und' apt-get') haben einen Vorteil gegenüber 'cpan' für Perl-Module, die in Nicht-Perl-Bibliotheken integriert werden müssen, da sie die Abhängigkeiten verwalten und vorkompilierte Objekte installieren können, die getestet und bekannt sind um auf Ihrem System kompatibel zu sein. Sie geben die Flexibilität auf, mit Nicht-System 'Perls zu arbeiten oder die Quelle des Moduls zu modifizieren, wenn Sie in dieser Art von Sache sind. – mob

+1

Ich kann dies nicht mit apt-get arbeiten: 'apt-get install perl-GD', gibt: E: Das Paket perl-GD kann nicht gefunden werden. Ich kann nicht glauben, wie schwer es ist, dieses Server-Setup zu bekommen, mit späteren Versionen von Perl:/ –

+3

@AndrewNewby: Sie suchen nach 'sudo apt-get installieren libgd-gd2-perl' – Nicorr

1

Ich stimme den Paket-Manager zu gehen für die Verwendung. Sie erwähnen nicht, welches Betriebssystem Sie verwenden. Unter Ubuntu Linux befindet sich/usr/local/bin ebenfalls im Pfad des Root-Benutzers. Sie können überprüfen, ob die Datei ausführbar ist.

Stellen Sie außerdem sicher, dass das Skript, das die Perl-Kompilierung durchführt, die PATH-Variable nicht durcheinanderbringt.

Ich benutze perlbrew und nicht als root laufen, mit cpan, um Dinge zu installieren. Hinweis: Unter Ubuntu 16.10 und 17.04 fehlt gdlib-config, weil Debian-Betreuer es entfernt zu haben scheinen.

es zu erhalten, können Sie die Quelle hier zusammenstellen können: https://launchpad.net/ubuntu/+archive/primary/+files/libgd2_2.1.1.orig.tar.gz

mit dem folgenden Patch angewendet:

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; 

prost

+0

Siehe auch diesen Fehlerbericht: https://rt.cpan.org/Public/Bug/Display.html?id=121121 –

0

By the way, scheint es, dass CPAN Installateur muss nur eine "devel" -Version von libgd, um das Paket zu erstellen. Ich habe versucht, es auf einer alten Cygwin-Plattform zu installieren und es funktioniert schließlich mit der "libgd-devel" -Komponente.