J'ai mis à jour mon fichier cygwin à l'aide de setup-x86_64.exe tool (version 2.873) sous Windows 7 . J'avais besoin d'installer des packages supplémentaires (principalement Zip/unzip, etc.).
Depuis lors, je reçois les erreurs suivantes lorsque j'essaie d'exécuter le terminal Cygwin (le raccourci pointe vers C:\cygwin64\bin\mintty.exe -i /Cygwin-Terminal.ico -):
Error: could not fork child process: Resource temporarily unavailable.
DLL rebasing may be required. See 'rebaseall / rebase --help'.
J'ai cherché en ligne comment exécuter la commande rebaseall qu'ils conseillent dans le message. La recommandation était essentiellement de démarrer cygwin/bin/dash.exe et d'exécuter:bin/rebaseall
Je l'ai fait plusieurs fois, j'ai également utilisé le commentaire -v et aucune erreur ne s'est produite. Je ne peux toujours pas démarrer cygwin.
J'ai aussi essayé d'exécuter cygwin-x/XWin-server, rien ne se passe.
J'ai regardé les journaux d'installation dans cygwin/var/log/setup.log
Je ne vois aucune erreur.
J'ai essayé d'exécuter le programme d'installation plusieurs fois en réinstallant certains des paquets que j'avais déjà, mais cela n'a pas aidé. Des idées, comment puis-je le faire fonctionner?
Un de mes collègues a des erreurs similaires lors de l'ouverture du terminal à partir de SourceTree (Mingw32) et a également des erreurs lors de la tentative de pull
, rebase
, etc. (tout ce qui n'est pas local). Il a résolu le problème en désinstallant Sourcetree, à l'aide de CCleaner pour nettoyer ses registres (il n'était pas sûr que cela soit nécessaire), puis il a redémarré et installé à nouveau Sourcetree.
Je sais que ce problème est légèrement différent du problème décrit par le PO, mais il pourrait toujours être résolu en procédant à une désinstallation/un nettoyage des registres, et cela pourrait également aider les futurs utilisateurs à trouver cette question avec le problème Sourcetree (comme je l'ai fait) .
Modifier: Un autre collègue avait également le problème, et il a réussi à le résoudre simplement avec un redémarrage sans aucune désinstallation ni utilisation de CCleaner.
Je souffre beaucoup de problèmes similaires récemment. Je n'ai pas pu déterminer la cause, que ce soit à cause d'un correctif récent de Windows 7 ou d'une mise à jour dans le dernier fichier cygwin. Je suis dans un environnement d'entreprise strictement contrôlé avec uniquement des droits élevés limités, de nombreux logiciels anti-malware et des lecteurs cryptés. J'utilise actuellement Cygwin 32 bits.
Les problèmes pour moi ont commencé après l'installation des paquets Git et Git-Svn, qui nécessitaient Perl, ainsi que de la mise à niveau de nombreux autres paquets Cygwin.
Rebaser en utilisant rebase-trigger ou rebaseall ne résout pas le problème pour moi. La réinstallation et la configuration n’ont pas non plus provoqué d’erreurs répétées dans le pahse de post-installation lorsqu’on essayait de créer le rebase lui-même.
Mon premier succès a été d'abaisser la version précédente de Perl, c'est-à-dire. en baisse de 5.22.2.1 à 5.22.1.2. Après quelques semaines, l'erreur est revenue, peut-être après une mise à jour et un redémarrage obligatoires de Windows.
Mon dernier succès a été obtenu en ignorant le script dash/rebaseall et en exécutant directement rebase.exe comme suit: -
$ cd /bin
$ ls -1 *.dll | egrep -v '(cygwin1|cyglsa).*\.dll' >rebasedlls.txt
cygpath -wa /bin
). C:\apps\cygwin\bin> rebase.exe --info cygwin1.dll
/usr/bin/cygwin1.dll base 0x61000000 size 0x00500000
C:\apps\cygwin\bin> rebase -b 0x62000000 -4 -n -v -t -T rebasedlls.txt
Jusqu'ici, tout va bien, mon Cygwin est de nouveau en état de fonctionner.
Voici le correctif.
Ajoutez également ces autres fichiers binaires du même dossier: expr.exe, uname.exe, grep.exe, rm.exe.
Bonne chance,
Gabriel
Ce même message d'erreur exact a plusieurs causes, pas toutes liées à setup-x86_64.exe, bien que je l'aie vu dans ce contexte également. Mais si rebaseall n'a pas résolu votre problème, voici une suggestion qui pourrait fonctionner.
Dans le cas que j’ai vu ce matin, il s’est avéré que deux ou trois processus avaient continué à s’exécuter après ma sortie de l’émulateur de terminal menthe. Mon intuition est que ces processus zombies empêchent le recyclage de la console. Dans mon cas, les deux processus ont été déterminés expérimentalement, en examinant une liste de processus en cours pour les processus parasites qui ne sont plus nécessaires. J'ai trouvé les deux processus qui me bloquaient en consultant la liste des tâches en cours d'exécution.
C:\WINDOWS\system32>tasklist | grep Console
CobraWinLDTP.exe 31844 Console 1 43,600 K
geckodriver.exe 52640 Console 1 32,164 K
C:\WINDOWS\system32>taskkill /F /PID 31844
SUCCESS: The process with PID 31844 has been terminated.
C:\WINDOWS\system32>taskkill /F /PID 52640
SUCCESS: The process with PID 52640 has been terminated.
J'ai vu sur d'autres questions de stackoverflow que git est souvent le processus zombie qui cause ce symptôme (pour certains utilisateurs). Malheureusement, tout processus résiduel qui survit après la fermeture de votre session de console peut être à l'origine de ce problème. Vous devez donc expérimenter.
J'ai redémarré 3 fois, et ensuite c'était bien. wtf Windows 7
désinstallez-le, .__ et installez le logiciel 32 bits.
Il existe un utilitaire de rebase qui déclenche la rebase comme phase post-installation.
De tiret ou bash:
/usr/bin/rebase-trigger full
fermez tous les processus et réexécutez setup-x86_64.exe.