Servo: Menambahkan Dokumentasi untuk MSVC

Dibuat pada 8 Sep 2016  ·  37Komentar  ·  Sumber: servo/servo

Mengingat penyelesaian #12916, penting untuk memberi tahu kontributor cara mengatur lingkungan Windows mereka untuk Servo.

File untuk dimodifikasi: Apa pun dengan dokumentasi (yaitu, README.md)

cc @larsbergstrom

A-documentation C-assigned P-windows

Komentar yang paling membantu

Terima kasih! Saya sedang mencoba ini sekarang, dan inilah yang saya dapatkan untuk beberapa langkah awal. Saya hanya mencobanya pada satu Mesin Virtual yang tidak bersih sejauh ini ...

Pra-penyiapan Windows MSVC

  • Instal Git untuk Windows (https://git-scm.com/download/win)
    Izinkan untuk menambahkan git.exe ke PATH (pengaturan default untuk penginstal baik-baik saja)
  • Instal Edisi Komunitas Visual Studio 2015 (https://www.visualstudio.com/)
    Anda HARUS menambahkan "Visual C++" ke daftar komponen yang diinstal. Ini tidak aktif secara default.
  • Instal Python untuk Windows (https://www.python.org/downloads/release/python-2711/)
    Penginstal windows x86-64 MSI baik-baik saja.
    Anda harus mengubah instalasi untuk menginstal fitur "Tambahkan python.exe ke Path".
  • Instal virtualenv
    Di Windows Shell normal (cmd.exe atau "Command Prompt" dari menu mulai), lakukan:
pip install virtualenv

Jika ini tidak berhasil, Anda mungkin perlu mem-boot ulang agar pengaturan PATH yang diubah diterapkan.

Servo klon

  • Buka shell Windows normal (cmd.exe, atau "Command Prompt" dari menu mulai)
  • Buat tiruan dari Servo:
git clone https://github.com/servo/servo

Bangun servo

cd servo
mach.bat build -d

Semua 37 komentar

Terima kasih! Saya sedang mencoba ini sekarang, dan inilah yang saya dapatkan untuk beberapa langkah awal. Saya hanya mencobanya pada satu Mesin Virtual yang tidak bersih sejauh ini ...

Pra-penyiapan Windows MSVC

  • Instal Git untuk Windows (https://git-scm.com/download/win)
    Izinkan untuk menambahkan git.exe ke PATH (pengaturan default untuk penginstal baik-baik saja)
  • Instal Edisi Komunitas Visual Studio 2015 (https://www.visualstudio.com/)
    Anda HARUS menambahkan "Visual C++" ke daftar komponen yang diinstal. Ini tidak aktif secara default.
  • Instal Python untuk Windows (https://www.python.org/downloads/release/python-2711/)
    Penginstal windows x86-64 MSI baik-baik saja.
    Anda harus mengubah instalasi untuk menginstal fitur "Tambahkan python.exe ke Path".
  • Instal virtualenv
    Di Windows Shell normal (cmd.exe atau "Command Prompt" dari menu mulai), lakukan:
pip install virtualenv

Jika ini tidak berhasil, Anda mungkin perlu mem-boot ulang agar pengaturan PATH yang diubah diterapkan.

Servo klon

  • Buka shell Windows normal (cmd.exe, atau "Command Prompt" dari menu mulai)
  • Buat tiruan dari Servo:
git clone https://github.com/servo/servo

Bangun servo

cd servo
mach.bat build -d

Saya sedang mencoba ini sekarang, tetapi gagal untuk mengkompilasi 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:_ Saya lupa menyebutkan bahwa saya sedang melakukan rilis build ( mach.bat build -r ), jika itu penting.
_Edit 2:_ Hasil yang sama dengan mach.bat build -d

Perhatikan bahwa tidak cukup hanya memiliki python.exe di PATH saya, saya juga harus memastikan folder scripts ada di PATH saya sehingga saya bisa jalankan pip untuk menginstal virtualenv dan untuk mach untuk melihat virtualenv.

Saya juga kecewa karena tidak ada mach.ps .

Memilih opsi "Tambahkan ke PATH" di penginstal Python menambahkan direktori root instalasi Python dan direktori scripts . Saya hanya perlu keluar dan masuk ke Windows lagi agar perubahan ini berlaku.

Finished debug [unoptimized + debuginfo] target(s) in 2395.9 secs

Saya kira itu berhasil, agak. Mencoba untuk benar-benar menjalankan hasilnya...

Servo exited with return value -1073741515 yang artinya STATUS_DLL_NOT_FOUND . Saya percaya dll yang hilang adalah freetype.dll . Hmmm, mungkin sebenarnya karena .cargo/config yang menentukan override skrip build untuk freetype sehingga benar-benar berfungsi normal, dan itu bisa bertentangan dengan freetype servo.

Oke, setelah mengomentari .cargo/config , servo sekarang benar-benar berjalan, dan kemudian sama sekali tidak berguna. Memuat halaman apa pun memang mendapatkan judul, tetapi halaman itu sendiri benar-benar kosong.

Selain itu, ia menghabiskan 2 core CPU tanpa melakukan apa pun.

Jika saya menutup servo, proses terus berjalan dan mulai memakan _semua_ inti CPU saya.

@retep998 Anda perlu menentukan URL.

@Coder206 saya lakukan cmd /c mach.bat run -d http://www.purple.com . Apakah itu tidak cukup?

@ retep998 Itu harus dilakukan. Saya berdiri dikoreksi milik saya menghasilkan seperti milik Anda. Menangkan 10 Hari Jadi?

@retep998 Saya menduga ini karena pengaturan font dummy di gfx.

OS Name:                   Microsoft Windows 10 Pro
OS Version:                10.0.10586 N/A Build 10586

AMD Radeon R9 380 dengan driver terbaru dengan dukungan OpenGL 4.5 penuh.

@ retep998 Terima kasih, ini tampaknya menjadi masalah umum Windows atau mungkin hanya Windows 10.

Dengan melihat makefile.cargo:98 di mosjs-sys Saya menemukan barisnya

$(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.)

yang sayangnya tidak pernah ditampilkan saat membangun, karena berakhir di stdout bukan stderr, sehingga tidak akan diteruskan oleh kargo.

Mengatur NATIVE_WIN32_PYTHON lalu benar-benar memperbaiki masalah :smiley:
Sekarang saya juga berada pada titik di mana menjalankan servo menunjukkan jendela putih kosong dengan judul yang benar, tetapi tidak ada yang lain. Saya menjalankan Windows 10 Home.

Terimakasih semuanya! Sepertinya instruksinya benar (meskipun perlu perbaikan untuk masalah @Boddlnagg , berpotensi) cukup untuk dipasang di situs web.

Karena itu, seperti yang diperhatikan oleh @retep998 dan @Coder206 dan saya dapat mengonfirmasi, build MSVC saat ini tidak menyelesaikan pemuatan dan kosong. Kita harus melihat ke dalamnya :-)

@larsbergstrom Saya pikir saya memiliki masalah dengan ruang penyimpanan di VM saya. Apa pendapat Anda (atau siapa pun) tentang menambahkan ruang disk yang direkomendasikan?

Berkenaan dengan ruang disk... untuk pembangunan dev sederhana, tanpa tes, dan tanpa rilis build, dan tidak menghitung ruang yang digunakan dalam cache kargo...

Jadi saya akan mengatakan pada _least_ 10GB ruang kosong.

@retep998 Terima kasih telah melakukan ini. Saya pikir inilah mengapa saya mengalami masalah kompilasi (yaitu kompilasi "skrip" gagal).

Ya, saya pikir "peringatan ruang disk rendah" (sebagai masalah terpisah) mungkin bermanfaat. Saat ini, ketika kami kehabisan ruang, pembuatan skrip gagal dengan cara yang buram dan tidak sepele untuk dipulihkan - Anda biasanya harus melakukan build bersih.

@larsbergstrom Sukses pada mesin Windows 10 yang bersih

Anda tidak perlu Visual Studio.
Anda bisa mendapatkan Visual C++ sebagai berdiri sendiri dari sini:
http://landinghub.visualstudio.com/visual-cpp-build-tools
Menggunakan opsi instal default

@Jayflux Saya lebih suka itu, menghemat banyak ruang

Membangun gagal untuk saya
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

Saat menggunakan garpu Vlad saya mendapatkan ini
https://pastebin.mozilla.org/8909575

Pengujian pada 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

Bisakah Anda melakukan set PATH dan menempelkan hasilnya di sini? Saya khawatir ada python lain yang lebih jahat yang pertama di PATH . Milik saya terlihat seperti:

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 tidak berhasil untuk saya

Instruksi bekerja untuk saya juga.

@Coder206 Apakah ada masalah terbuka untuk masalah melihat layar putih alih-alih konten situs web? Saya mengalami masalah yang sama pada Windows 10 Educational (Versi 10.0.10586) dengan Intel HD Graphics 4000.

@aochagavia Tidak, tidak ada masalah untuk itu

Haruskah saya membuat yang baru?

Saya akan berpikir itu akan menjadi ide yang bagus. Terima kasih telah melakukan ini @aochagavia!

di mozjs makefile.cargo, ada baris: SRC_DIR = $(shell pwd) Saya ingin tahu apakah untuk Anda, pwd memberi c:......, dan bagi saya, itu memberi c:/....

Bagi saya %MOZTOOLS_PATH%\pwd memberikan /c/proj/r ; tapi itu dengan MOZTOOLS_PATH lokal. Anda akan melihat apa pun yang dilakukan mach untuk mengatur $PATH/$MOZTOOLS_PATH dan pwd apa yang ditemukannya.

@vlad apakah ada langkah-langkah untuk mengetahui apa yang diberikan pwd kepada saya?
Perintah ini tidak berjalan di konsol

Apakah saya perlu mengatur variabel env jalur moztools?

@vvuk inilah hasilnya (mesin Host saya, bukan 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>

Juga...
Tidak tahu apakah ini membantu, tetapi saya perhatikan Anda telah menambahkan jalur ke python di sini:
https://github.com/servo/mozjs/commit/7ba7cfa262dd6864d581855bad47c28d4ad97970#diff -9080a05d9a2f1078a5790475b50fdb37L96

Namun, instalasi python saya adalah:
C:\Python27 dengan huruf besar P

Dengan melihat makefile. cargo:98 di mosjs-sys saya menemukan jalurnya

$(message Anda harus menginstal python Win32 Asli di C:/python27, atau mengatur NATIVE_WIN32_PYTHON untuk menunjuk ke python.exe yang sesuai.)
yang sayangnya tidak pernah ditampilkan saat membangun, karena berakhir di stdout bukan stderr, sehingga tidak akan diteruskan oleh kargo.

Menyetel NATIVE_WIN32_PYTHON kemudian benar-benar memperbaiki masalah: smiley:
Sekarang saya juga berada pada titik di mana menjalankan servo menunjukkan jendela putih kosong dengan judul yang benar, tetapi tidak ada yang lain. Saya menjalankan Windows 10 Home.

@Boddlnagg saya melakukan hal yang sama tetapi masih gagal untuk saya :sob: :sob:
Sepertinya hardcoded ke c:\python27 yang akan gagal untuk beberapa, karena ini adalah huruf besar P pada instalasi (atau setidaknya bagi saya itu)

@Jayflux Apakah Anda mengaturnya ke jalur yang berisi python.exe atau sebenarnya untuk menunjuk ke python.exe itu sendiri? Itu pasti yang terakhir.
Dan saya tidak tahu mengapa huruf besar P harus penting di sini, karena (a) itu adalah default dan (b) nama file harus peka huruf besar-kecil pada Windows ...

@Boddlnagg saya menunjuk langsung ke python.exe itu sendiri dan saya masih mendapatkan kesalahan yang sama
Ok tidak tahu tentang kasus ketidakpekaan, senang tahu

Jadi, jika https://github.com/servo/servo/issues/13272 adalah segalanya.. Visual C++ build tools memberikan hasil yang berbeda untuk build Visual Studio lengkap

Saya akan mencoba melakukan ini lagi, mencopot pemasangan alat pembuatan Visual C++ dan alih-alih menggunakan pemasangan penuh Visual Studio, untuk melihat apakah itu ada hubungannya dengan itu

@larsbergstrom @vvuk
Ternyata masalahnya adalah saya menggunakan http://landinghub.visualstudio.com/visual-cpp-build-tools alih-alih menginstal Visual Studio.

Saya sekarang mendapatkan layar putih seperti orang lain

Apakah halaman ini membantu?
0 / 5 - 0 peringkat

Masalah terkait

gterzian picture gterzian  ·  3Komentar

CYBAI picture CYBAI  ·  3Komentar

gterzian picture gterzian  ·  4Komentar

SimonSapin picture SimonSapin  ·  3Komentar

Manishearth picture Manishearth  ·  4Komentar