À luz da conclusão do # 12916, é importante permitir que os colaboradores saibam como configurar seus ambientes Windows para Servo.
Arquivos para modificar: qualquer coisa com documentação (ou seja, README.md)
cc @larsbergstrom
Obrigado! Estou tentando fazer isso agora e aqui está o que tenho para algumas etapas iniciais. Só tentei em uma máquina virtual não limpa até agora, no entanto ...
pip install virtualenv
Se isso não funcionar, pode ser necessário reinicializar para que as configurações alteradas de PATH tenham efeito.
git clone https://github.com/servo/servo
cd servo
mach.bat build -d
Estou tentando fazer isso agora, mas não consigo compilar 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
_Editar: _ Esqueci de mencionar que estou fazendo um build de lançamento ( mach.bat build -r
), caso isso importe.
_Editar 2: _ Mesmo resultado com mach.bat build -d
Observe que não é suficiente simplesmente ter python.exe
em minha PATH
, eu também tive que me certificar de que a pasta scripts
estava em minha PATH
para que eu pudesse execute pip para instalar o virtualenv e para mach para ver o virtualenv.
Também estou desapontado por não haver mach.ps
.
Selecionar a opção "Adicionar ao PATH" no instalador do Python adicionou o diretório raiz da instalação do Python e o diretório scripts
. Eu só precisava fazer logoff e logon no Windows novamente para que essas alterações tenham efeito.
Finished debug [unoptimized + debuginfo] target(s) in 2395.9 secs
Eu acho que funcionou, sorta. Tentando realmente executar o resultado ...
Servo exited with return value -1073741515
que significa STATUS_DLL_NOT_FOUND
. Acredito que a dll que está faltando é freetype.dll
. Hmmm, pode ter sido devido ao meu .cargo/config
que especifica uma substituição de script de construção para freetype para que funcione normalmente e pode estar em conflito com o freetype do servo.
Ok, depois de comentar meu .cargo/config
, o servo agora realmente roda, e então é totalmente inútil. Carregar qualquer página obtém o título, mas a página em si está totalmente em branco.
Além disso, ele fica comendo 2 núcleos da CPU sem fazer absolutamente nada.
Se eu fechar o servo, o processo continua a ser executado e começa a consumir _todos_ os núcleos da minha CPU.
@ retep998 Você precisa especificar um URL.
@ Coder206 Eu fiz cmd /c mach.bat run -d http://www.purple.com
. Isso não é suficiente?
@ retep998 Isso deve
@ retep998 Suspeito que isso seja devido às configurações de fonte fictícias no gfx.
OS Name: Microsoft Windows 10 Pro
OS Version: 10.0.10586 N/A Build 10586
AMD Radeon R9 380 com drivers atualizados com suporte total a OpenGL 4.5.
@ retep998 Obrigado, este parece ser um problema geral do Windows ou talvez apenas do Windows 10.
Olhando para makefile.cargo:98
em mosjs-sys
encontrei a linha
$(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.)
que infelizmente nunca é mostrado durante a construção, porque termina em stdout ao invés de stderr, então não será encaminhado por carga.
A configuração NATIVE_WIN32_PYTHON
corrigiu o problema: smiley:
Agora também estou no ponto em que a execução do servo mostra uma janela branca vazia com o título correto, mas nada mais. Estou executando o Windows 10 Home.
Obrigado a todos! Parece que as instruções estão corretas (embora precise de uma correção para o problema de @Boddlnagg , potencialmente) o suficiente para colocar no site.
Dito isso, como @ retep998 e @ Coder206 notaram e posso confirmar, a compilação do MSVC atualmente não completa o carregamento e está em branco. Teremos que verificar isso :-)
@larsbergstrom Acho que tive problemas com espaço de armazenamento na minha VM. Qual é a sua opinião (ou a de alguém) sobre a adição de um espaço em disco recomendado?
Com relação ao espaço em disco ... para uma compilação de desenvolvimento simples, sem testes e sem compilação de lançamento, e sem contar o espaço ocupado no cache de carga ...
Então, eu diria pelo menos 10 GB de espaço livre.
@ retep998 Obrigado por fazer isso. Acho que é por isso que tive problemas de compilação (ou seja, a compilação do "script" falhou).
Sim, acho que um "aviso de pouco espaço em disco" (como um problema separado) pode valer a pena. Agora, quando ficamos sem espaço, a construção do script falha de uma forma que é opaca e não trivial para recuperação - normalmente você precisa fazer uma construção limpa.
@larsbergstrom Sucesso em máquina limpa com Windows 10
Você não precisa do Visual Studio.
Você pode obter o Visual C ++ autônomo aqui:
http://landinghub.visualstudio.com/visual-cpp-build-tools
Usando a opção de instalação padrão
@Jayflux Eu gosto muito mais disso, economiza muito espaço
Construir falhando para mim
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
Ao usar o garfo do Vlad eu entendo isso
https://pastebin.mozilla.org/8909575
Testando em 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
Você pode fazer set PATH
e colar os resultados aqui? Estou preocupado que haja outra python, mais maligna, que está primeiro em sua PATH
. O meu se parece com:
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ão funcionou para mim
As instruções funcionaram para mim também.
@ Coder206 Existe um problema aberto para o problema de ver uma tela branca em vez do conteúdo do site? Estou tendo o mesmo problema no Windows 10 Educacional (versão 10.0.10586) com um Intel HD Graphics 4000.
@aochagavia Não, não há problema para isso
Devo criar um novo?
Eu acho que seria uma boa ideia. Obrigado por fazer isso @aochagavia!
em mozjs makefile.cargo, há uma linha: SRC_DIR = $(shell pwd)
Gostaria de saber se para você, pwd está dando c: ......, e para mim, está dando c: / ....
Para mim, %MOZTOOLS_PATH%\pwd
dá /c/proj/r
; mas isso é com um MOZTOOLS_PATH local. Você deve ver o que mach faz para configurar $ PATH / $ MOZTOOLS_PATH e o pwd que ele encontra.
@vlad, há alguma etapa para descobrir o que o pwd está me fornecendo?
Esses comandos não são executados no console
Preciso definir a variável de env de caminhos moztools?
@vvuk aqui estão os resultados (minha máquina host, não 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>
Também...
Não sei se isso ajuda, mas percebi que você adicionou um caminho para python aqui:
https://github.com/servo/mozjs/commit/7ba7cfa262dd6864d581855bad47c28d4ad97970#diff -9080a05d9a2f1078a5790475b50fdb37L96
No entanto, minha instalação do python é:
C:\Python27
com P maiúsculo
Olhando para makefile. carga: 98 em mosjs-sys encontrei a linha
$ (mensagem Você deve ter o Win32 python nativo instalado em C: / python27 ou definir NATIVE_WIN32_PYTHON para apontar para o python.exe apropriado.)
que infelizmente nunca é mostrado durante a construção, porque termina em stdout ao invés de stderr, então não será encaminhado por carga.Configurar NATIVE_WIN32_PYTHON resolveu o problema: smiley:
Agora também estou no ponto em que a execução do servo mostra uma janela branca vazia com o título correto, mas nada mais. Estou executando o Windows 10 Home.
@Boddlnagg Eu fiz a mesma coisa, mas ainda é ruim para mim: soluço:: soluço:
Parece que está codificado em c: \ python27, o que irá falhar para alguns, pois é um P maiúsculo na instalação (ou pelo menos para mim era)
@Jayflux Você o configurou para o caminho que contém python.exe
ou para apontar para o próprio python.exe
? Deve ser o último.
E eu não sei por que o P maiúsculo deve importar aqui, já que (a) esse é o padrão e (b) os nomes de arquivo devem ser insensíveis a maiúsculas no Windows ...
@Boddlnagg eu apontei diretamente para o próprio python.exe e ainda recebo o mesmo erro
Ok, não sabia sobre a insensibilidade a maiúsculas e minúsculas, é bom saber
Portanto, se https://github.com/servo/servo/issues/13272 for algo a seguir ... As ferramentas de compilação do Visual C ++ estão dando resultados diferentes para a compilação completa do Visual Studio
Vou tentar fazer isso novamente, desinstalando as ferramentas de compilação do Visual C ++ e, em vez disso, usando a instalação completa do Visual Studio, para ver se isso tem algo a ver com isso
@larsbergstrom @vvuk
Acontece que o problema era eu usando http://landinghub.visualstudio.com/visual-cpp-build-tools em vez de instalar o Visual Studio.
Agora fico com a tela branca como todo mundo
Comentários muito úteis
Obrigado! Estou tentando fazer isso agora e aqui está o que tenho para algumas etapas iniciais. Só tentei em uma máquina virtual não limpa até agora, no entanto ...
Pré-configuração do Windows MSVC
Permita que ele adicione git.exe ao PATH (as configurações padrão do instalador são adequadas)
Você DEVE adicionar "Visual C ++" à lista de componentes instalados. Não está ativado por padrão.
O instalador MSI do Windows x86-64 está bom.
Você deve alterar a instalação para instalar o recurso "Adicionar python.exe ao caminho".
Em um Windows Shell normal (cmd.exe ou "Prompt de Comando" no menu Iniciar), faça:
Se isso não funcionar, pode ser necessário reinicializar para que as configurações alteradas de PATH tenham efeito.
Clone servo
Construir servo