4 votes

Compilation de PHP + Libpuzzle sous Windows

J'ai eu la source de libpuzzle ici : http://www.pureftpd.org/project/libpuzzle/download .

J'ai lu que j'avais besoin de MinGW pour compiler n'importe quel programme C sur Windows, donc j'ai obtenu cela beaucoup avec les options C, C++ et mins. En utilisant mins, j'ai été suivi : http://wiki.openttd.org/Compiling_on_MinGW

J'ai téléchargé le .tar.gz et l'ai décompressé, j'ai exécuté la commande ./configure et obtenu :

libgd2 development files are not found

C'est logique étant donné le readme :

In order to load images, the library relies on the GD2 library.
You need to install gdlib2 and its development headers before compiling
libpuzzle.
The GD2 library is available as a pre-built package for most operating systems.
Debian and Ubuntu users should install the "libgd2-dev" or the "libgd2-xpm-dev"
package.
Gentoo users should install "media-libs/gd".
OpenBSD, NetBSD and DragonflyBSD users should install the "gd" package.
MacPorts users should install the "gd2" package.
X11 support is not required for the Puzzle library.

Once GD2 has been installed, configure the Puzzle library as usual:

Mon problème à l'heure actuelle est de trouver un fichier libgd2-dev ou similaire à compiler. J'ai trouvé ceci : http://mldonkey.sourceforge.net/Windows et téléchargé http://www.boutell.com/gd/http/gd-2.0.33.tar.gz et il s'est installé sans problème. Exécution de gdlib-config sorties typiques de l'homme. Cependant, libpuzzle dit toujours que j'ai besoin des "fichiers de développement libgd2", donc je suppose que le gd que j'ai téléchargé était "libgd" mais juste "gd" ou que le fichier que j'avais n'avait pas de fichiers de développement. Où puis-je trouver ce dont j'ai besoin ?

Voici la sortie de mingw :

Brian@2500K ~/libpuzzle-0.11
$ gdlib-config
Print information on GD library's version, configuration, and use.
Usage: gdlib-config [options]
Options:
        --libdir          # directory where GD library is installed
        --includedir      # directory where GD library headers are installed
        --version         # complete GD library version string
        --majorversion    # GD library major version number
        --minorversion    # GD library minor version number
        --revision        # GD library revision version number
        --ldflags         # options required for linking against GD library
        --libs            # libs required for linking against GD library
        --cflags          # options required for compiling GD library apps
        --includes        # same as --cflags
        --features        # lists optional features compiled into gd, separated
                          # by spaces. Currently (as of 2.0.26) the optional
                          # features are GD_PNG, GD_JPEG, GD_XPM, and
                          # GD_FREETYPE. When these features are reported by
                          # --features, it is safe to include calls to the
                          # related functions in your code.
        --all             # print a summary of all GD library configure options

Brian@2500K ~/libpuzzle-0.11
$ gdlib-config --includedir
/usr/local/include

Brian@2500K ~/libpuzzle-0.11
$ ./configure
checking for a BSD-compatible install... /bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether to enable maintainer-specific portions of Makefiles... no
checking for g++... g++
checking whether the C++ compiler works... yes
checking for C++ compiler default output file name... a.exe
checking for suffix of executables... .exe
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking for style of include used by make... GNU
checking dependency style of g++... gcc3
checking for gcc... gcc
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking dependency style of gcc... gcc3
checking how to run the C preprocessor... gcc -E
checking whether ln -s works... no, using cp -p
checking whether make sets $(MAKE)... (cached) yes
checking for gdlib-config... /usr/local/bin/gdlib-config
checking for gdImageCreateFromGd2 in -lgd... no
configure: error: libgd2 development files not found

Edit : Commencé un bounty. Je cherche soit à compiler la libpuzzle pour moi afin qu'elle fonctionne sur WAMP (en sautant les trucs compliqués du milieu). Ou de l'aide pour obtenir chaque exigence nécessaire pour que je puisse le compiler. Mon objectif final est de faire fonctionner libpuzzle sur WAMP.

Edit 2 : Juste une mise à jour, il semble que libgd2 a des problèmes avec mingw. Même si je parvenais à faire fonctionner libgd2, j'aurais toujours besoin de phpize pour mingw, qui ne fonctionne pas non plus pour mingw. Il semble qu'il ne soit pas possible d'utiliser libpuzzle pour Windows.

0voto

Tim Points 770

Il semble que le programme ne trouve pas les en-têtes pour libgd. Si vous regardez ce fichier tarbar, c'est un fichier tarball source qui inclut les en-têtes. Lorsque vous l'avez compilé et installé, il a installé la bibliothèque et les en-têtes quelque part. Vous devez trouver où.

Exécutez ./configure --help

Il devrait y avoir une option comme --with-gd=, cette option vous permet de lui indiquer le chemin où libgd est installé. Spécifiez le chemin où elle est installée, et cela devrait fonctionner.

0voto

user Points 1438

J'ai rencontré la même erreur en compilant moi-même GD2.

L'utilisation de l'ancienne version précompilée de GnuWin32 a résolu le problème :
http://sourceforge.net/projects/gnuwin32/files/gd/2.0.33-1/

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X