#1 Mon 03 January 2011 15:45
- renard
- Participant actif
- Date d'inscription: 16 Mar 2010
- Messages: 96
poblème lors de la compilation de mapserver
Bonjour,
Je suis en train d'installer mapserver via la méthode suivante http://mapserver.org/installation/win32 … ht=libcurl. J'utilise celle -ci car je dispose déjà dors et déjà d'un serveur apache.
Cependant j'ai un problème lors de la compilation (étape Compile MapServer sur le ligne ci dessus), il m'est indiqué l'erreur suivante : cf pièce jointe. Voyez-vous qu'elle peut être la source de ce problème.
il est à noter que j'ai utiliser windows visual studio 2010 express pour compiler.
Par avance merci,
Cordialement
Hors ligne
#2 Mon 03 January 2011 16:11
Re: poblème lors de la compilation de mapserver
Je suis en train d'installer mapserver via la méthode suivante http://mapserver.org/installation/win32 … ht=libcurl. J'utilise celle -ci car je dispose déjà dors et déjà d'un serveur apache.
Si tu as déjà un Apache, il faut juste le configurer avec les binaires MapServer que tu peux trouver sur http://mapserver.org/download.html#windows l'étape de compilation n'est pas nécessaire.
La compilation n'est nécessaire à mon avis que si tu utilises une architecture ou des options non utilisées dans les biniares déjà disponibles en téléchargement, ou si tu veux utiliser une version particulières comme la version du tronc te permettant de déboguer et d'apporter des améliorations à MapServer.
Sinon l'erreur est assez simple. Pour Windows le mot-clef inline ne concerne que le C++, il faut utiliser comme dans le reste du projet __inline. Or on remarque que pour la dernière publication de l'application, il y a ce mot-clef inline à la ligne indiquée par le compilateur. Ce problème a depuis été corrigé, car on ne trouve pas ce mot-clef fatal dans le code C de MapServer dans la version en cours du tronc de développement !
Donc :
- Soit utiliser la version "trunk" de MapServer, mais c'est un tronc de développement et pas une version publiée (donc théoriquement encore moins d'assurance que cela fonctionne qu'une version récupérée suivant un des "tags".
- Soit utiliser les binaires disponible en téléchargement, ne pas compilrer et simplement configurer Apache
Jérôme Cuinet
L'avantage de la Chine, c'est que le soleil se couche plus tard !
Hors ligne
#3 Mon 03 January 2011 16:56
- renard
- Participant actif
- Date d'inscription: 16 Mar 2010
- Messages: 96
Re: poblème lors de la compilation de mapserver
ok merci pour cette réponse. Cependant je vais avoir besoin d'aide pour configurer Apache car je m'y étais déjà essayé en utilisant cette méthode http://onegeology.org/wmsCookbook/4_2_4.html mais ce fut un échec.
J'ai installé le bin ms4w sur un autre machine pour voir à quoi ressemble le http.conf de apache fourni dans ms4w. Je vais essayer de procéder par étape pour adapter la configuration de mon serveur apache.
Ma première idée (je la prends de onegeology.org) est de configurer le tmp pour les images temporaires générer par mapserver.
Je prends ainsi les parties du http.conf qui concerne le tmp
Code:
<IfModule alias_module> # # Redirect: Allows you to tell clients about documents that used to # exist in your server's namespace, but do not anymore. The client # will make a new request for the document at its new location. # Example: # Redirect permanent /foo http://localhost/bar # # Alias: Maps web paths into filesystem paths and is used to # access content that does not live under the DocumentRoot. # Example: # Alias /webpath /full/filesystem/path # # If you include a trailing / on /webpath then the server will # require it to be present in the URL. You will also likely # need to provide a <Directory> section to allow access to # the filesystem path. # # ScriptAlias: This controls which directories contain server scripts. # ScriptAliases are essentially the same as Aliases, except that # documents in the target directory are treated as applications and # run by the server when requested rather than as documents sent to the # client. The same rules about trailing "/" apply to ScriptAlias # directives as to Alias. # ScriptAlias /cgi-bin/ "C:/ms4w/Apache/cgi-bin/" ScriptAlias /fcgi-bin/ "C:/ms4w/Apache/cgi-bin/" ## ## Alias for MapServer tmp directory ## Alias /ms_tmp/ "C:/ms4w/tmp/ms_tmp/" </IfModule>
Code:
<Directory "C:/ms4w/tmp/"> AllowOverride None Options None Order allow,deny Allow from all </Directory>
Code:
# set the TMP environment variable that is necessary for the sqlite php extension SetEnv TMP "C:/ms4w/tmp"
Mais alors la j'apprête à faire quelque chose mais je suis pas sur de la manipulation : je copie ces codes en changeant les adresses qui renvoient aux tmp et je copie les bin nécessaires à mapserver dans les bins de apache (qui proviennent de l'archive http://maptools.org/ms4w/index.phtml?pa … loads.html). C'est cette méthode qui était indiqué sur http://onegeology.org)
Vous pouvez me conforter dans cette idée ou avez-vous une méthodologie pour configurer mon serveur?
Hors ligne
#4 Mon 03 January 2011 17:04
Re: poblème lors de la compilation de mapserver
Vous pouvez me conforter dans cette idée ou avez-vous une méthodologie pour configurer mon serveur?
Je laisse la main, il y a des spécialistes par ici, je n'en fait pas partie
p.s : Il y a des listes de discussion dédiées à Mapserver, certes non francophone, mais où les spécialistes sont d'abord là-bas. Si vous n'avez pas de réponse ici, vous pourrez vous tourner vers cet espace de discussion .
Jérôme Cuinet
L'avantage de la Chine, c'est que le soleil se couche plus tard !
Hors ligne
#5 Tue 04 January 2011 16:20
- renard
- Participant actif
- Date d'inscription: 16 Mar 2010
- Messages: 96
Re: poblème lors de la compilation de mapserver
UP...
Comem prévu ma technique fut un réel échec. Décidément la configuration de mapserver sur serveur apache est une plait. Je cherche donc un peu d'aide pour mieux redémarrer. J'ai cette fois compris compris comment on execute un cgi-bin depuis apache, cependant je ne parviens pas à avoir un bin de mapserver qui fonctionne, meme un mapserver le plus simple du monde. Les versions près-compilé contiennent énormément de librairie et autres modules qui je ne parviens pas à maîtriser.
Avez-vous une piste de départ afin de configurer mapserver pour mon serveur? Disposez vous d'une version la plus basic possible de mapserver (sansmodule, sans rien) déjà compilé pour windows que je puisse configurer à l'exécution de apache php.
Hors ligne
#6 Tue 04 January 2011 16:31
Re: poblème lors de la compilation de mapserver
Disposez vous d'une version la plus basic possible de mapserver (sansmodule, sans rien) déjà compilé pour windows que je puisse configurer à l'exécution de apache php.
La dernière fois que j'ai essayé de compiler sans certaines modules j'ai essuyé des échecs lors de la compilation, et l'examen rapide du code m'a amené à croire que certains modules sont loin d'être optionnel ! Malheureusement
Jérôme Cuinet
L'avantage de la Chine, c'est que le soleil se couche plus tard !
Hors ligne
#7 Tue 04 January 2011 16:33
Re: poblème lors de la compilation de mapserver
Bonjour,
Pourquoi ne pas utiliser OSGeo4W ou ms4w ? On clique, on installe et on utilise.
Après on écrit un mapfile dans lequel on définie les différents paramètres (dont le répertoire temporaire si tu comptes utiliser mapserver en mode CGI et pas en mode WMS).
Y.
Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !! - GeoRezo vous aide ? Aidez GeoRezo !
Hors ligne
#8 Tue 04 January 2011 16:36
- renard
- Participant actif
- Date d'inscription: 16 Mar 2010
- Messages: 96
Re: poblème lors de la compilation de mapserver
Pourquoi ne pas utiliser OSGeo4W ou ms4w ? On clique, on installe et on utilise.
Parce que j'ai déjà un serveur apache en production Sais-tu quelles adaptions seraient possible?mon objectif est de faire du wfs.
Après tout ce qui est serveur je ne connais vraiment rien, mais il serait illogique de disposer de deux serveurs (http)
Dernière modification par renard (Tue 04 January 2011 16:38)
Hors ligne
#9 Tue 04 January 2011 16:42
Re: poblème lors de la compilation de mapserver
Bonjour,
oui j'ai vu ca après coup. Bon tu peux tenter d'installer une version via OSGeo4W puis de copier le binaire mapserv dans le répertoire cgi-bin de ton apache. Puis tu tentes de retrouver les lib utilisées dans OSGeo4W et tu les déplaces sur ton système.
Il y a des outils qui permettent de retrouver les dépendances des dll mais je ne les connais pas
Lorsque cela est fait tu dois pouvoir requêter le binaire comme ceci : http://localhost/cgi-bin/mapserv (il doit y avoir une référence au template non fournie dans le message d'erreur).
Ce n'est pas une utilisation trop "logique" donc effectivement il n'y a pas de solution tout prête. Généralement les utilisateurs utilisent ms4w, FWTools voir OSGeo4W en prod (ce qui est déconseillé).
Y.
Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !! - GeoRezo vous aide ? Aidez GeoRezo !
Hors ligne
#10 Wed 05 January 2011 01:21
- assefa
- Participant occasionnel
- Date d'inscription: 7 Nov 2008
- Messages: 12
Re: poblème lors de la compilation de mapserver
Pour continuer sur les conseils de Yves, Il y a une note dans la doc de ms4w sur l'installation de binaires dans d'autres environnent qui pourrait servir dans ce cas:
http://www.maptools.org/ms4w/index.phtm … vironments
En ce qui concerne les outils pour retrouver les dépendances, j'utilise généralement dependency walker (http://www.dependencywalker.com/)
Assefa
Hors ligne