À la lumière de l'achèvement de #12916, il est important de faire savoir aux contributeurs comment configurer leurs environnements Windows pour Servo.
Fichiers à modifier : tout ce qui contient de la documentation (par exemple, README.md)
cc @larsbergstrom
Merci! J'essaie cela en ce moment, et voici ce que j'ai pour quelques étapes initiales. Je ne l'ai essayé que sur une machine virtuelle non propre jusqu'à présent, cependant...
pip install virtualenv
Si cela ne fonctionne pas, vous devrez peut-être redémarrer pour que les paramètres PATH modifiés prennent effet.
git clone https://github.com/servo/servo
cd servo
mach.bat build -d
J'essaye ça en ce moment, mais ça ne parvient pas à compiler mozjs_sys
:
error: failed to run custom build command for `mozjs_sys v0.0.0 (https://github.com/servo/mozjs#7cd66925)`
process didn't exit successfully: `D:\Code\servo\target\release\build\mozjs_sys-661d4efe7c7ca939\build-script-build` (ex
it code: 101)
--- stderr
makefile.cargo:98: *** recipe commences before first target. Stop.
thread 'main' panicked at 'assertion failed: result.success()', D:\Code\servo\.cargo\git\checkouts\mozjs-fa11ffc7d4f1cc2
d\master\build.rs:43
stack backtrace:
0: 0x7ff7538547ea - std::rand::thread_rng::hf605c918a7eb7363
1: 0x7ff753852f82 - std::rt::lang_start::haaae1186de9de8cb
2: 0x7ff75385392d - std::panicking::rust_panic_with_hook::hb1322e5f2588b4db
3: 0x7ff753841be3 - __ImageBase
4: 0x7ff7538439c0 - __ImageBase
5: 0x7ff7538572e1 - _rust_maybe_catch_panic
6: 0x7ff7538529ba - std::rt::lang_start::haaae1186de9de8cb
7: 0x7ff75385bfa8 - __scrt_common_main_seh
at f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:253
8: 0x7ffff0cf8363 - BaseThreadInitThunk
_Edit :_ J'ai oublié de mentionner que je suis en train de faire une version de version ( mach.bat build -r
), au cas où cela compte.
_Edit 2:_ Même résultat avec mach.bat build -d
Notez qu'il ne suffit pas d'avoir simplement python.exe
dans mon PATH
, je devais aussi m'assurer que le dossier scripts
était dans mon PATH
pour que je puisse exécutez pip pour installer virtualenv et pour mach voir virtualenv.
Aussi, je suis déçu qu'il n'y ait pas de mach.ps
.
La sélection de l'option "Ajouter au CHEMIN" dans le programme d'installation de Python a ajouté à la fois le répertoire racine de l'installation de Python et le répertoire scripts
. J'avais juste besoin de me déconnecter et de me reconnecter à Windows pour que ces modifications prennent effet.
Finished debug [unoptimized + debuginfo] target(s) in 2395.9 secs
Je suppose que cela a fonctionné, en quelque sorte. Tenter d'exécuter réellement le résultat...
Servo exited with return value -1073741515
ce qui signifie STATUS_DLL_NOT_FOUND
. Je crois que la dll manquante est freetype.dll
. Hmmm, cela pourrait être dû à mon .cargo/config
qui spécifie un remplacement de script de construction pour freetype afin que cela fonctionne normalement, et cela pourrait être en conflit avec le freetype de servo.
D'accord, après avoir commenté mon .cargo/config
, le servo fonctionne maintenant, puis est totalement inutile. Le chargement de n'importe quelle page obtient le titre, mais la page elle-même est totalement vierge.
De plus, il mange jusqu'à 2 cœurs de processeur sans rien faire.
Si je ferme le servo, le processus continue de s'exécuter et commence à consommer _tous_ mes cœurs de processeur.
@retep998 Vous devez spécifier une URL.
@Coder206 J'ai fait cmd /c mach.bat run -d http://www.purple.com
. N'est-ce pas suffisant ?
@ retep998 Cela devrait le faire. Je suis corrigé, le mien sort comme le vôtre. Gagner 10 anniversaire ?
@ retep998 Je soupçonne que c'est à cause des paramètres de police factices dans gfx.
OS Name: Microsoft Windows 10 Pro
OS Version: 10.0.10586 N/A Build 10586
AMD Radeon R9 380 avec pilotes à jour avec prise en charge complète d'OpenGL 4.5.
@ retep998 Merci, cela semble être un problème général de Windows ou peut-être simplement de Windows 10.
En regardant makefile.cargo:98
dans mosjs-sys
j'ai trouvé la ligne
$(message You must either have the Native Win32 python installed in C:/python27, or set NATIVE_WIN32_PYTHON to point to the appropriate python.exe.)
qui n'est malheureusement jamais affiché lors de la construction, car il se retrouve dans stdout au lieu de stderr, il ne sera donc pas acheminé par fret.
Le réglage de NATIVE_WIN32_PYTHON
alors résolu le problème :smiley:
Maintenant, je suis également au point où l'exécution de servo affiche une fenêtre blanche vide avec le titre correct, mais rien d'autre. J'utilise Windows 10 Famille.
Merci à tous! Il semble que les instructions soient correctes (bien qu'elles aient besoin d'un correctif pour le problème de @Boddlnagg , potentiellement) suffisamment pour être mises sur le site Web.
Cela dit, comme @ retep998 et @ Coder206 l' ont remarqué et je peux le confirmer, la version MSVC ne termine actuellement pas le chargement et est vide. Il va falloir se renseigner :-)
@larsbergstrom Je pense que j'ai eu des problèmes avec l'espace de stockage sur ma machine virtuelle. Que pensez-vous (ou que pensez-vous) de l'ajout d'un espace disque recommandé ?
En ce qui concerne l'espace disque... pour un build de développement simple, sans tests, ni build de release, et sans compter l'espace occupé dans le cache cargo...
Je dirais donc au moins 10 Go d'espace libre.
@ retep998 Merci d'avoir fait cela. Je pense que c'est pourquoi j'ai eu des problèmes de compilation (c'est-à-dire que la compilation du "script" a échoué).
Oui, je pense qu'un "avertissement d'espace disque faible" (en tant que problème distinct) pourrait valoir la peine. À l'heure actuelle, lorsque nous manquons d'espace, la construction du script échoue d'une manière à la fois opaque et non triviale à récupérer - vous devez généralement effectuer une construction propre.
@larsbergstrom Succès sur une machine Windows 10 propre
Vous n'avez pas besoin de Visual Studio.
Vous pouvez obtenir Visual C++ de manière autonome à partir d'ici :
http://landinghub.visualstudio.com/visual-cpp-build-tools
Utilisation de l'option d'installation par défaut
@Jayflux J'aime beaucoup mieux ça, ça fait gagner beaucoup d'espace
Échec de la construction pour moi
https://pastebin.mozilla.org/8909561
OS Name Microsoft Windows 10 Pro
Version 10.0.10586 Build 10586
<vlad> Jayflux: you want https://github.com/vvuk/mozjs/commit/f9b707cbeb6ad653b8afb8e457b0b2d609ec66ef
Lorsque j'utilise la fourchette de Vlad, j'obtiens ceci
https://pastebin.mozilla.org/8909575
Test sur cmd
Compiling miniz-sys v0.1.7
Compiling unreachable v0.1.1
Compiling ordered-float v0.2.3
Compiling quickersort v2.1.0
Compiling openssl v0.7.14
Build failed, waiting for other jobs to finish...
error: failed to run custom build command for `mozjs_sys v0.0.0 (https://github.com/servo/mozjs#87c47526)`
process didn't exit successfully: `C:\Users\Jason\workspace\servo\target\debug\build\mozjs_sys-661d4efe7c7ca939\build-script-build` (exit code: 101)
--- stdout
[[ /c/Users/Jason/workspace/servo/.cargo/git/checkouts/mozjs-fa11ffc7d4f1cc2d/master/mozjs/js/src/configure -ot /c/Users/Jason/workspace/servo/.cargo/git/checkouts/mozjs-fa11ffc7d4f1cc2d/master/mozjs/js/src/configure.in ]] && touch /c/Users/Jason/workspace/servo/.cargo/git/checkouts/mozjs-fa11ffc7d4f1cc2d/master/mozjs/js/src/configure || true
[[ /c/Users/Jason/workspace/servo/.cargo/git/checkouts/mozjs-fa11ffc7d4f1cc2d/master/mozjs/js/src/old-configure -ot /c/Users/Jason/workspace/servo/.cargo/git/checkouts/mozjs-fa11ffc7d4f1cc2d/master/mozjs/js/src/old-configure.in ]] && touch /c/Users/Jason/workspace/servo/.cargo/git/checkouts/mozjs-fa11ffc7d4f1cc2d/master/mozjs/js/src/old-configure || true
! [[ /c/Users/Jason/workspace/servo/.cargo/git/checkouts/mozjs-fa11ffc7d4f1cc2d/master/mozjs/js/src/configure.in -ot /c/Users/Jason/workspace/servo/.cargo/git/checkouts/mozjs-fa11ffc7d4f1cc2d/master/mozjs/js/src/configure ]] && touch /c/Users/Jason/workspace/servo/.cargo/git/checkouts/mozjs-fa11ffc7d4f1cc2d/master/mozjs/js/src/configure || true
! [[ /c/Users/Jason/workspace/servo/.cargo/git/checkouts/mozjs-fa11ffc7d4f1cc2d/master/mozjs/js/src/old-configure.in -ot /c/Users/Jason/workspace/servo/.cargo/git/checkouts/mozjs-fa11ffc7d4f1cc2d/master/mozjs/js/src/old-configure ]] && touch /c/Users/Jason/workspace/servo/.cargo/git/checkouts/mozjs-fa11ffc7d4f1cc2d/master/mozjs/js/src/old-configure || true
if [[ /c/Users/Jason/workspace/servo/.cargo/git/checkouts/mozjs-fa11ffc7d4f1cc2d/master/mozjs/js/src/configure -nt C:\Users\Jason\workspace\servo\target\debug\build\mozjs_sys-661d4efe7c7ca939\out/config.status ]] ; then \
cd C:\Users\Jason\workspace\servo\target\debug\build\mozjs_sys-661d4efe7c7ca939\out && \
PYTHON="python" MOZ_TOOLS="" \
CC="gcc" CPP="gcc -E" CXX="g++" AR="ar" \
/c/Users/Jason/workspace/servo/.cargo/git/checkouts/mozjs-fa11ffc7d4f1cc2d/master/mozjs/js/src/configure --disable-jemalloc --disable-js-shell --disable-tests --without-intl-api --build-backends=RecursiveMake --disable-shared-js || (cat config.log && exit 1) ; \
fi
makefile.cargo:120: recipe for target 'maybe-configure' failed
--- stderr
C:/Users/Jason/AppData/Local/Temp/make7000-5.sh: line 2: cd: C:UsersJasonworkspaceservotargetdebugbuildmozjs_sys-661d4efe7c7ca939out: No such file or directory
cat: config.log: No such file or directory
mozmake: *** [maybe-configure] Error 1
thread 'main' panicked at 'assertion failed: result.success()', C:\Users\Jason\workspace\servo\.cargo\git\checkouts\mozjs-fa11ffc7d4f1cc2d\master\build.rs:43
note: Run with `RUST_BACKTRACE=1` for a backtrace.
Build FAILED in 0:05:56
Pouvez-vous faire set PATH
et coller les résultats ici ? Je crains qu'il y ait un autre python, plus diabolique, qui soit le premier dans votre PATH
. Le mien ressemble à :
C:\Users\larsberg>set PATH
Path=C:\Python27\;C:\Python27\Scripts;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\system32\config\systemprofile\.dnx\bin;C:\Program Files\Microsoft DNX\Dnvm\;C:\Program Files (x86)\Windows Kits\8.1\Windows Performance Toolkit\;C:\Program Files\Microsoft SQL Server\130\Tools\Binn\;C:\Program Files\Git\cmd;C:\Program Files (x86)\WiX Toolset v3.10\bin
C:\Users\Jason\workspace\servo>set PATH
Path=C:\Program Files (x86)\MSBuild\14.0\bin\amd64;C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\amd64;C:\Windows\Microsoft.NET\Framework64\v4.0.30319;C:\Windows\Microsoft.NET\Framework64\;C:\Program Files (x86)\Windows Kits\10\bin\x64;C:\Program Files (x86)\Windows Kits\10\bin\x86;C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.1 Tools\x64\;C:\Python27\;C:\Python27\Scripts;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Windows Kits\10\Windows Performance Toolkit\;C:\Program Files\nodejs\;C:\ProgramData\chocolatey\bin;C:\Program Files\Oracle\VirtualBox;C:\Program Files\Sublime Text 3;C:\Program Files (x86)\Skype\Phone\;C:\HashiCorp\Vagrant\bin;C:\Program Files\Git\cmd;C:\Users\Jason\AppData\Roaming\npm;C:\Program Files (x86)\Nmap
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
NATIVE_WIN32_PYTHON
n'a pas fonctionné pour moi
Les instructions ont fonctionné pour moi aussi.
@Coder206 Existe-t-il un problème ouvert pour le problème de voir un écran blanc au lieu du contenu du site Web? Je rencontre le même problème sur Windows 10 Education (Version 10.0.10586) avec un Intel HD Graphics 4000.
@aochagavia Non, il n'y a pas de problème pour cela
Dois-je en créer un nouveau ?
Je pense que ce serait une bonne idée. Merci d'avoir fait ça @aochagavia !
dans mozjs makefile.cargo, il y a une ligne : SRC_DIR = $(shell pwd)
Je me demande si pour vous, pwd donne c:......, et pour moi, c'est c:/....
Pour moi %MOZTOOLS_PATH%\pwd
donne /c/proj/r
; mais c'est avec un MOZTOOLS_PATH local. Vous devriez voir tout ce que mach fait pour configurer $PATH/$MOZTOOLS_PATH et quel pwd il trouve.
@vlad existe-t-il des étapes pour déterminer ce que pwd me donne ?
Ces commandes ne s'exécutent pas dans la console
Dois-je définir la variable env des chemins moztools?
@vvuk voici les résultats (ma machine hôte, pas la VM)
cmder :
C:\Users\Jason\workspace\servo (master)
λ .servo\msvc-dependencies\moztools\bin\pwd.exe
/c/Users/Jason/workspace/servo
CMD
C:\Users\Jason\workspace\servo>.servo\msvc-dependencies\moztools\bin\pwd.exe
/c/Users/Jason/workspace/servo
C:\Users\Jason\workspace\servo>
Aussi...
Je ne sais pas si cela aide, mais j'ai remarqué que vous avez ajouté un chemin vers python ici :
https://github.com/servo/mozjs/commit/7ba7cfa262dd6864d581855bad47c28d4ad97970#diff -9080a05d9a2f1078a5790475b50fdb37L96
Cependant, mon installation de python est:
C:\Python27
avec un P majuscule
En regardant makefile. cargo:98 dans mosjs-sys j'ai trouvé la ligne
$(message Vous devez soit avoir installé le python natif Win32 dans C:/python27, soit définir NATIVE_WIN32_PYTHON pour pointer vers le python.exe approprié.)
qui n'est malheureusement jamais affiché lors de la construction, car il se retrouve dans stdout au lieu de stderr, il ne sera donc pas acheminé par fret.La définition de NATIVE_WIN32_PYTHON a alors résolu le problème :smiley:
Maintenant, je suis également au point où l'exécution de servo affiche une fenêtre blanche vide avec le titre correct, mais rien d'autre. J'utilise Windows 10 Famille.
@Boddlnagg J'ai fait la même chose mais ça échoue toujours pour moi :sob: :sob:
On dirait qu'il est codé en dur sur c:\python27 qui échouera pour certains, car c'est un P majuscule à l'installation (ou du moins pour moi c'était le cas)
@Jayflux L' avez-vous défini sur le chemin contenant python.exe
ou en fait pour pointer sur python.exe
lui-même ? Ce doit être ce dernier.
Et je ne sais pas pourquoi le P majuscule devrait avoir de l'importance ici, puisque (a) c'est la valeur par défaut et (b) les noms de fichiers devraient être insensibles à la casse sous Windows ...
@Boddlnagg j'ai pointé directement vers le python.exe lui-même et j'obtiens toujours la même erreur
Ok, je ne savais pas pour l'insensibilité à la casse, c'est bon à savoir
Donc, si https://github.com/servo/servo/issues/13272 est quelque chose à faire .. Les outils de construction Visual C++ donnent des résultats différents à la construction complète de Visual Studio
Je vais essayer de le faire à nouveau, en désinstallant les outils de construction Visual C++ et en utilisant à la place l'installation complète de Visual Studio, pour voir si cela a quelque chose à voir avec cela
@larsbergstrom @vvuk
Il s'avère que le problème était que j'utilisais http://landinghub.visualstudio.com/visual-cpp-build-tools au lieu d'installer Visual Studio.
J'ai maintenant l'écran blanc comme tout le monde
Commentaire le plus utile
Merci! J'essaie cela en ce moment, et voici ce que j'ai pour quelques étapes initiales. Je ne l'ai essayé que sur une machine virtuelle non propre jusqu'à présent, cependant...
Pré-installation de Windows MSVC
L'autoriser à ajouter git.exe au PATH (les paramètres par défaut du programme d'installation conviennent)
Vous DEVEZ ajouter "Visual C++" à la liste des composants installés. Il n'est pas activé par défaut.
Le programme d'installation de Windows x86-64 MSI est correct.
Vous devez modifier l'installation pour installer la fonctionnalité "Ajouter python.exe au chemin".
Dans un shell Windows normal (cmd.exe ou "Invite de commandes" dans le menu Démarrer), procédez comme suit :
Si cela ne fonctionne pas, vous devrez peut-être redémarrer pour que les paramètres PATH modifiés prennent effet.
Cloner le servo
Construire un servo