В свете завершения # 12916 важно, чтобы участники знали, как настроить свои среды Windows для Servo.
Файлы для изменения: все, что есть документация (например, README.md)
cc @larsbergstrom
Спасибо! Я пробую это прямо сейчас, и вот что у меня есть для некоторых начальных шагов. Я пока пробовал только на одной нечистой виртуальной машине ...
pip install virtualenv
Если это не сработает, вам может потребоваться перезагрузка, чтобы измененные настройки PATH вступили в силу.
git clone https://github.com/servo/servo
cd servo
mach.bat build -d
Я пытаюсь это сделать прямо сейчас, но не удается скомпилировать 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: _ Я забыл упомянуть, что я делаю сборку релиза ( mach.bat build -r
), если это имеет значение.
_Редактировать 2: _ Тот же результат с mach.bat build -d
Обратите внимание, что недостаточно просто иметь python.exe
в моем PATH
, мне также нужно было убедиться, что папка scripts
была в моем PATH
чтобы я мог запустите pip, чтобы установить virtualenv, а для mach - увидеть virtualenv.
Также я разочарован тем, что нет mach.ps
.
Выбор опции «Добавить в ПУТЬ» в установщике Python добавил как корневой каталог установки Python, так и каталог scripts
. Мне просто нужно было выйти и снова войти в Windows, чтобы эти изменения вступили в силу.
Finished debug [unoptimized + debuginfo] target(s) in 2395.9 secs
Я думаю, это сработало, вроде как. Попытка фактически запустить результат ...
Servo exited with return value -1073741515
что означает STATUS_DLL_NOT_FOUND
. Я считаю, что отсутствующая dll - это freetype.dll
. Хммм, возможно, на самом деле это было из-за моего .cargo/config
который указывает переопределение сценария сборки для freetype, чтобы он действительно работал нормально, и это может конфликтовать с freetype сервопривода.
Хорошо, после того, как я закомментировал мой .cargo/config
, сервопривод теперь действительно работает, а затем совершенно бесполезен. Загрузка любой страницы получает заголовок, но сама страница полностью пуста.
Кроме того, он пожирает 2 ядра процессора, при этом ничего не делая.
Если я закрою сервопривод, процесс продолжится и начнет поглощать _все_ ядра моего процессора.
@ retep998 Вам нужно указать URL.
@ Coder206 Я сделал cmd /c mach.bat run -d http://www.purple.com
. Этого мало?
@ retep998 Это должно
@ retep998 Я подозреваю, что это из-за настроек фиктивных шрифтов в gfx.
OS Name: Microsoft Windows 10 Pro
OS Version: 10.0.10586 N/A Build 10586
AMD Radeon R9 380 с новейшими драйверами с полной поддержкой OpenGL 4.5.
@ retep998 Спасибо, похоже, это общая проблема Windows или, возможно, просто Windows 10.
Посмотрев на makefile.cargo:98
в mosjs-sys
я нашел строку
$(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.)
который, к сожалению, никогда не отображается при сборке, потому что он попадает в stdout вместо stderr, поэтому он не будет перенаправлен Cargo.
Установка NATIVE_WIN32_PYTHON
фактически решила проблему: smiley:
Теперь я также нахожусь в точке, где запущенный сервопривод показывает пустое белое окно с правильным заголовком, но ничего больше. Я использую Windows 10 Домашняя.
Спасибо всем! Похоже, что инструкции верны (хотя, возможно, требуется исправление проблемы @Boddlnagg ), достаточное для размещения на веб-сайте.
Тем не менее, как заметили @ retep998 и @ Coder206 и я могу подтвердить, сборка MSVC в настоящее время не загружается полностью и пуста. Мы должны это изучить :-)
@larsbergstrom Я думаю, у меня были проблемы с местом для хранения на моей виртуальной
Что касается дискового пространства ... для простой сборки dev, без тестов и без сборки выпуска, и без учета пространства, занятого в грузовом кеше ...
Так что я бы сказал, что минимум 10 ГБ свободного места.
@ retep998 Спасибо за это. Думаю, именно поэтому у меня возникли проблемы с компиляцией (например, компиляция «скрипта» не удалась).
Да, я думаю, что «предупреждение о нехватке места на диске» (как отдельная проблема) может оказаться полезным. Прямо сейчас, когда у нас заканчивается пространство, сборка скрипта завершается неудачно, что является непрозрачным и нетривиальным для восстановления способом - обычно вам нужно выполнить чистую сборку.
@larsbergstrom Успех на чистой машине с Windows 10
Вам не нужна Visual Studio.
Вы можете получить Visual C ++ как отдельный отсюда:
http://landinghub.visualstudio.com/visual-cpp-build-tools
Использование варианта установки по умолчанию
@Jayflux Мне это нравится намного больше, это экономит много места
Сборка для меня не удалась
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
При использовании вилки Влада я получаю это
https://pastebin.mozilla.org/8909575
Тестирование на 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
Можете ли вы сделать set PATH
и вставить сюда результаты? Меня беспокоит, что есть другой, более злой питон, который первым в вашем PATH
. Мой выглядит так:
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
не помогло мне
Инструкции у меня тоже сработали.
@ Coder206 Есть ли открытая проблема с отображением белого экрана вместо содержимого веб-сайта? У меня такая же проблема с Windows 10 Educational (версия 10.0.10586) с Intel HD Graphics 4000.
@aochagavia Нет, для этого нет проблем
Стоит ли создать новый?
Я думаю, это хорошая идея. Спасибо за это @aochagavia!
в mozjs makefile.cargo есть строка: SRC_DIR = $(shell pwd)
Интересно, если для вас pwd дает c: ......, а для меня он дает c: / ....
Для меня %MOZTOOLS_PATH%\pwd
дает /c/proj/r
; но это с локальным MOZTOOLS_PATH. Вы должны увидеть, что делает mach для установки $ PATH / $ MOZTOOLS_PATH и какой pwd он находит.
@vlad есть ли какие-нибудь шаги, чтобы выяснить, что мне дает pwd?
Эти команды не запускаются в консоли
Нужно ли мне устанавливать переменную env пути moztools?
@vvuk вот результаты (моя хост-машина, а не виртуальная машина)
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>
Также...
Не знаю, помогает ли это, но я заметил, что вы добавили здесь путь к python:
https://github.com/servo/mozjs/commit/7ba7cfa262dd6864d581855bad47c28d4ad97970#diff -9080a05d9a2f1078a5790475b50fdb37L96
Однако моя установка python:
C:\Python27
с заглавной буквой P
Посмотрев на makefile. груз: 98 в mosjs-sys нашел строчку
$ (сообщение Вы должны либо установить собственный питон Win32 в C: / python27, либо установить NATIVE_WIN32_PYTHON так, чтобы он указывал на соответствующий python.exe.)
который, к сожалению, никогда не отображается при сборке, потому что он попадает в stdout вместо stderr, поэтому он не будет перенаправлен Cargo.Установка NATIVE_WIN32_PYTHON фактически решила проблему: смайлик:
Теперь я также нахожусь в точке, где запущенный сервопривод показывает пустое белое окно с правильным заголовком, но ничего больше. Я использую Windows 10 Домашняя.
@Boddlnagg Я сделал то же самое, но это все еще меня подводит: sob:: sob:
Похоже, он жестко запрограммирован на c: \ python27, что для некоторых не удастся, так как это заглавная буква P при установке (или, по крайней мере, для меня это было)
@Jayflux Вы установили его на путь, содержащий python.exe
или на самом деле, чтобы указать на сам python.exe
? Должно быть последнее.
И я не знаю, почему верхний регистр P должен иметь значение здесь, поскольку (a) это значение по умолчанию и (b) имена файлов должны быть нечувствительными к регистру в Windows ...
@Boddlnagg я указал непосредственно на сам python.exe, и я все еще получаю ту же ошибку
Хорошо, не знал о нечувствительности к регистру, полезно знать
Итак, если https://github.com/servo/servo/issues/13272 - это что-то, что нужно сделать .. Инструменты сборки Visual C ++ дают разные результаты по сравнению с полной сборкой Visual Studio
Я собираюсь попробовать сделать это еще раз, удалив инструменты сборки Visual C ++ и вместо этого используя полную установку Visual Studio, чтобы посмотреть, имеет ли это какое-либо отношение к этому.
@larsbergstrom @vvuk
Оказывается, проблема заключалась в том, что я использовал http://landinghub.visualstudio.com/visual-cpp-build-tools вместо установки Visual Studio.
У меня теперь белый экран, как и у всех
Самый полезный комментарий
Спасибо! Я пробую это прямо сейчас, и вот что у меня есть для некоторых начальных шагов. Я пока пробовал только на одной нечистой виртуальной машине ...
Предварительная установка Windows MSVC
Разрешите ему добавить git.exe в PATH (настройки по умолчанию для установщика в порядке)
Вы ДОЛЖНЫ добавить "Visual C ++" в список установленных компонентов. По умолчанию он не включен.
Установщик Windows x86-64 MSI в порядке.
Вы должны изменить установку, чтобы установить функцию «Добавить python.exe в путь».
В обычной оболочке Windows (cmd.exe или «Командная строка» из меню «Пуск») выполните:
Если это не сработает, вам может потребоваться перезагрузка, чтобы измененные настройки PATH вступили в силу.
Клонировать сервопривод
Построить сервопривод