Servo: إضافة وثائق MSVC

تم إنشاؤها على ٨ سبتمبر ٢٠١٦  ·  37تعليقات  ·  مصدر: servo/servo

في ضوء اكتمال # 12916 ، من المهم السماح للمساهمين بمعرفة كيفية إعداد بيئات Windows الخاصة بهم لـ Servo.

الملفات المراد تعديلها: أي شيء به وثائق (مثل README.md)

cc larsbergstrom

A-documentation C-assigned P-windows

التعليق الأكثر فائدة

شكرا! أحاول ذلك الآن ، وإليك ما لدي لبعض الخطوات الأولية. لقد جربته فقط على جهاز ظاهري واحد غير نظيف حتى الآن ، على الرغم من ...

الإعداد المسبق لـ Windows MSVC

  • قم بتثبيت Git لنظام التشغيل Windows (https://git-scm.com/download/win)
    اسمح لها بإضافة git.exe إلى المسار (الإعدادات الافتراضية للمثبت جيدة)
  • قم بتثبيت Visual Studio 2015 Community Edition (https://www.visualstudio.com/)
    يجب عليك إضافة "Visual C ++" إلى قائمة المكونات المثبتة. لا يتم تشغيله بشكل افتراضي.
  • قم بتثبيت Python لنظام التشغيل Windows (https://www.python.org/downloads/release/python-2711/)
    مثبت Windows x86-64 MSI جيد.
    يجب عليك تغيير التثبيت لتثبيت ميزة "إضافة python.exe إلى المسار".
  • قم بتثبيت Virtualenv
    في Windows Shell العادي (cmd.exe أو "موجه الأوامر" من قائمة البدء) ، قم بما يلي:
pip install virtualenv

إذا لم يفلح ذلك ، فقد تحتاج إلى إعادة التشغيل حتى تصبح إعدادات PATH المتغيرة سارية المفعول.

أجهزة استنساخ

  • افتح غلاف Windows عادي (cmd.exe ، أو "موجه الأوامر" من قائمة ابدأ)
  • اصنع نسخة من المؤازرة:
git clone https://github.com/servo/servo

بناء المؤازرة

cd servo
mach.bat build -d

ال 37 كومينتر

شكرا! أحاول ذلك الآن ، وإليك ما لدي لبعض الخطوات الأولية. لقد جربته فقط على جهاز ظاهري واحد غير نظيف حتى الآن ، على الرغم من ...

الإعداد المسبق لـ Windows MSVC

  • قم بتثبيت Git لنظام التشغيل Windows (https://git-scm.com/download/win)
    اسمح لها بإضافة git.exe إلى المسار (الإعدادات الافتراضية للمثبت جيدة)
  • قم بتثبيت Visual Studio 2015 Community Edition (https://www.visualstudio.com/)
    يجب عليك إضافة "Visual C ++" إلى قائمة المكونات المثبتة. لا يتم تشغيله بشكل افتراضي.
  • قم بتثبيت Python لنظام التشغيل Windows (https://www.python.org/downloads/release/python-2711/)
    مثبت Windows x86-64 MSI جيد.
    يجب عليك تغيير التثبيت لتثبيت ميزة "إضافة python.exe إلى المسار".
  • قم بتثبيت Virtualenv
    في Windows Shell العادي (cmd.exe أو "موجه الأوامر" من قائمة البدء) ، قم بما يلي:
pip install virtualenv

إذا لم يفلح ذلك ، فقد تحتاج إلى إعادة التشغيل حتى تصبح إعدادات PATH المتغيرة سارية المفعول.

أجهزة استنساخ

  • افتح غلاف Windows عادي (cmd.exe ، أو "موجه الأوامر" من قائمة ابدأ)
  • اصنع نسخة من المؤازرة:
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 ) ، في حال كان ذلك مهمًا.
_Edit 2: _ نفس النتيجة بـ mach.bat build -d

لاحظ أنه لا يكفي أن يكون لديك python.exe في PATH ، فقد كان علي أيضًا التأكد من أن المجلد scripts موجود في PATH لذا يمكنني ذلك قم بتشغيل pip لتثبيت virtualenv ولكي ترى ماش virtualenv.

كما أنني أشعر بخيبة أمل لأنه لا يوجد mach.ps .

أدى تحديد الخيار "Add to PATH" في مثبت 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 ، تعمل المؤازرة الآن بالفعل ، ومن ثم تصبح عديمة الفائدة تمامًا. تحميل أي صفحة يحصل على العنوان ، لكن الصفحة نفسها فارغة تمامًا.

علاوة على ذلك ، فهو يستهلك نواة وحدة المعالجة المركزية (CPU) بينما لا يفعل شيئًا على الإطلاق.

إذا أغلقت المؤازرة ، فستستمر العملية في العمل وتبدأ في تناول جميع نوى وحدة المعالجة المركزية الخاصة بي.

@ 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 ، لذلك لن يتم إرسالها عن طريق الشحن.

تعيين NATIVE_WIN32_PYTHON ثم حل المشكلة بالفعل: مبتسم:
الآن أنا أيضًا في النقطة التي يظهر فيها تشغيل المؤازرة نافذة بيضاء فارغة مع العنوان الصحيح ، ولكن لا شيء آخر. أنا أقوم بتشغيل Windows 10 Home.

شكرا لكم جميعا! يبدو أن التعليمات صحيحة (على الرغم من الحاجة إلى إصلاح لمشكلةBoddlnagg ، من المحتمل) بما يكفي لوضعها على موقع الويب.

ومع ذلك ، كما لاحظ @ retep998 و @ Coder206 ويمكنني أن أؤكد ، لا يكتمل بناء MSVC حاليًا التحميل وهو فارغ. سيتعين علينا النظر في ذلك :-)

larsbergstrom أعتقد أن لدي مشاكل مع مساحة التخزين على جهاز VM الخاص بي. ما هي أفكارك (أو أي شخص آخر) حول إضافة مساحة القرص الموصى بها؟

فيما يتعلق بمساحة القرص ... لبناء مطور بسيط ، بدون اختبارات ، وبدون بنية تحرير ، وعدم احتساب المساحة التي تم شغلها في ذاكرة التخزين المؤقت للبضائع ...

لذا أود أن أقول أن مساحة خالية تبلغ 10 غيغابايت على الأقل.

@ retep998 شكرا لفعل هذا. أعتقد أن هذا هو سبب وجود مشكلات في التجميع (أي فشل تجميع "البرنامج النصي").

نعم ، أعتقد أن "تحذير انخفاض مساحة القرص" (كمسألة منفصلة) قد يكون مفيدًا. في الوقت الحالي ، عندما تنفد المساحة لدينا ، يفشل إنشاء البرنامج النصي بطريقة مبهمة وغير تافهة للتعافي منها - يتعين عليك عادةً إنشاء بنية نظيفة.

larsbergstrom Success على جهاز نظيف يعمل بنظام 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

اختبار على كمد

  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 محلي. يجب أن ترى ما يفعله ماش لإعداد $ PATH / $ MOZTOOLS_PATH وما هو pwd الذي يعثر عليه.

vlad ، هل هناك أي خطوات لمعرفة ما يقدمه لي pwd؟
هذه الأوامر لا تعمل في وحدة التحكم

هل أحتاج إلى ضبط متغير env مسارات moztools؟

vvuk ها هي النتائج (جهاز مضيفي ، وليس جهاز VM)
كمدير:

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 python مثبتًا في C: / python27 ، أو تعيين NATIVE_WIN32_PYTHON للإشارة إلى python.exe المناسب.)
والتي للأسف لا تظهر أبدًا عند البناء ، لأنها تنتهي في stdout بدلاً من stderr ، لذلك لن يتم إرسالها عن طريق الشحن.

بعد ذلك ، أصلح إعداد NATIVE_WIN32_PYTHON المشكلة: مبتسم:
الآن أنا أيضًا في النقطة التي يظهر فيها تشغيل المؤازرة نافذة بيضاء فارغة مع العنوان الصحيح ، ولكن لا شيء آخر. أنا أقوم بتشغيل Windows 10 Home.

Boddlnagg لقد فعلت نفس الشيء ولكن ما زال خطأ بالنسبة لي: sob:: sob:
يبدو أنه تم ترميزه الثابت إلى c: \ python27 والذي سيفشل بالنسبة للبعض ، نظرًا لأنه حرف P كبير عند التثبيت (أو على الأقل بالنسبة لي كان كذلك)

Jayflux هل قمت بتعيينه على المسار الذي يحتوي على python.exe أو في الواقع للإشارة إلى python.exe نفسه؟ يجب أن يكون الأخير.
ولا أعرف سبب أهمية الأحرف الكبيرة P هنا ، نظرًا لأن (أ) هذا هو الإعداد الافتراضي و (ب) يجب أن تكون أسماء الملفات غير حساسة لحالة الأحرف على Windows ...

Boddlnagg لقد أشرت مباشرة إلى python.exe نفسه وما زلت أحصل على نفس الخطأ
حسنًا ، لم أكن أعلم بحساسية الحالة ، من الجيد معرفة ذلك

لذلك ، إذا كان https://github.com/servo/servo/issues/13272 أي شيء يجب القيام به .. تقدم أدوات إنشاء Visual C ++ نتائج مختلفة لبناء Visual Studio الكامل

سأحاول القيام بذلك مرة أخرى ، وإلغاء تثبيت أدوات إنشاء Visual C ++ وبدلاً من ذلك استخدام التثبيت الكامل لبرنامج Visual Studio ، لمعرفة ما إذا كان ذلك له علاقة به

تضمين التغريدة
تبين أن المشكلة كانت باستخدام http://landinghub.visualstudio.com/visual-cpp-build-tools بدلاً من تثبيت Visual Studio.

أحصل الآن على الشاشة البيضاء مثل أي شخص آخر

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات

القضايا ذات الصلة

mrobinson picture mrobinson  ·  3تعليقات

CYBAI picture CYBAI  ·  3تعليقات

pyfisch picture pyfisch  ·  4تعليقات

gterzian picture gterzian  ·  4تعليقات

jdm picture jdm  ·  3تعليقات