Lors de l'exécution python
dans cygwin, j'obtiens l'erreur suivante:
0 [main] python 6140 C:\cygwin\bin\python.exe: *** fatal error - unable to remap \\?\C:\cygwin\lib\python2.6\lib-dynload\time.dll to same address as parent: 0x2B0000 != 0x360000
Stack trace:
Frame Function Args
00288E68 6102749B (00288E68, 00000000, 00000000, 00000000)
00289158 6102749B (61177B80, 00008000, 00000000, 61179977)
0028A188 61004AFB (611A136C, 6124112C, 002B0000, 00360000)
End of stack trace
0 [main] python 9048 fork: child 6140 - died waiting for dll loading, errno 11
abort: Resource temporarily unavailable
Qu'est-ce que cela signifie et que dois-je faire pour y remédier?
Cela signifie qu'un programme tiers tel qu'un antivirus ou la fonctionnalité de randomisation des adresses DLL introduite dans Vista a interféré avec votre processus de telle manière qu'il n'a pas pu être bifurqué avec succès.
L'
rebaseall
utilitaire peut être utilisé pour épingler les DLL de manière à éviter le problème. Il est installé par défaut. Voirrebaseall --help
comment l'utiliser et/usr/share/doc/Cygwin/rebase-3.0.1.README
pour plus de détails. Si cela n'aide pas,peflagsall
c'est un autre qui mérite d'être essayé.la source
J'ai eu le même problème après avoir compilé "numpy". La DLL affectée était mtrand.dll. Simple
n'a pas fonctionné.
Ce qui a aidé était le suivant: Vérifiez si la DLL affectée (dans ce cas time.dll) est réellement "rebasée":
Sinon, créez une liste qui contient le chemin complet de la DLL affectée. Par exemple:
Le fichier peut également contenir plus de DLL, une par ligne. Ensuite, appelez
sans autre programme cygwin en cours d'exécution, comme décrit ci-dessus. Le time.dll doit maintenant être rebasé (en plus du rebaseall "normal").
(Étrange: en 10 ans d'utilisation de cygwin avec nt, windows2000, xp, je n'ai dû "rebaser" qu'une seule fois. En un jour avec (64 bits) windows-7, c'était déjà nécessaire.)
la source
Il y a une réponse au problème.
Source: https://github.com/joyent/node/wiki/Building-node.js-on-Cygwin-(Windows)
Impossible de remapper vers la même adresse que le parent
Ce n'est pas non plus un problème avec node.js. Installez base → rebase en utilisant setup.exe d'abord, puis fermez toutes les instances Cygwin. Démarrez dash ou ash (situé dans le répertoire bin sous l'installation de Cygwin) et exécutez:
Il devrait se terminer sans erreur. Si à la place, ce qui précède entraîne une erreur comme:
Ouvrez un shell Cygwin et exécutez:
Fermez votre fenêtre shell et répétez les étapes ci-dessus. Une fois que vous avez terminé, redémarrez votre PC. N'oubliez pas de fermer tous les shells Cygwin ouverts avant d'utiliser rebaseall.
la source