Question

J'essaie de compiler une très ancienne version de slapd (le serveur LDAP) sur cygwin. Auparavant, cela fonctionnait sur une machine Linux, mais pour des raisons indépendantes de ma volonté, il faut le faire fonctionner sur un serveur Windows. Il a été suggéré d’utiliser cygwin pour compiler le code source.

Malheureusement, la construction a échoué pendant " configure " avec le message d'erreur:

checking how to run the C preprocessor... cc -E
checking for gcc... (cached) cc
checking whether the C compiler (cc   ) works... no
configure: error: installation or configuration problem: C compiler cannot creat
e executables.

Les dernières lignes de config.log sont:

configure: failed program was:
#line 2822 "configure"
#include "confdefs.h"

int main() {
return __EMX__;
; return 0; }
configure:2845: checking how to run the C preprocessor
configure:2866: cc -E  conftest.c >/dev/null 2>conftest.out
configure:2950: checking for gcc
configure:3063: checking whether the C compiler (cc   ) works
configure:3079: cc -o conftest    conftest.c  1>&5
/usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../../i686-pc-cygwin/bin/ld: cannot find
 -luser32
collect2: ld returned 1 exit status
configure: failed program was:

#line 3074 "configure"
#include "confdefs.h"

main(){return(0);}

UPDATE: C’est un ordinateur win32 - cygwin n’inclut pas un objet partagé appelé user32, mais Windows XP inclut un objet appelé user32.dll. Avez-vous une idée de ce que l’éditeur de liens recherche?

UPDATE2: w32api est déjà installé (3.13-1) - Je remarque qu’il existe un user32.lib dans le cadre de visual-stuido 2003 .Net - existe-t-il un moyen de faire en sorte que GCC utilise Cygwin?

Était-ce utile?

La solution 3

Après beaucoup d’essais & amp; error J'ai trouvé la réponse correcte à ce problème: La raison de cette erreur est que l'environnement Cygwin n'a pas été configuré correctement.

L'utilisateur de connexion sur un domaine, et donc le fichier / etc / passwd & amp; Les fichiers / etc / group n'ont pas été configurés correctement par défaut. La solution consistait à créer un compte utilisateur local, puis à reconstruire les fichiers passwd et groups.

Après cela, GCC pourrait très bien construire.

Ça a l'air fou, je sais.

Autres conseils

La cause fondamentale semble être

  

/usr/lib/gcc/i686-pc-cygwin/3.4.4 /../../../../../ i686-pc-cygwin / bin / ld: impossible de trouver -luser32

Ceci est soit un problème avec votre installation de cygwin, soit les scripts de configuration sont trop anciens pour reconnaître et gérer l’installation.

Si -luser32 échoue, essayez d'installer le package Cygwin w32api .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top