-
-
Notifications
You must be signed in to change notification settings - Fork 3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix Windows nightly build #21545
Fix Windows nightly build #21545
Conversation
Heads up! This PR modifies the following files:
|
This patch tries to include the merge modules provided by GStreamer in Servo's MSI installer. Unfortunately, it is currently failing during
Which is a bit confusing, as I am downloading the merge modules from https://gstreamer.freedesktop.org/data/pkg/windows/1.14.2/gstreamer-1.0-x86_64-1.14.2-merge-modules.zip, which are supposed to be for 64 bits (?). (FWIW I tried with the 32 bits version as well with the same result).
There are also a bunch of warnings like:
The installer is generated anyway and after execution the application folder contains a few new dirs:
Inside The generated <?xml version="1.0" encoding="utf-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Product Id="*"
Name="Servo Tech Demo"
Manufacturer="Mozilla Research"
UpgradeCode="060cd15d-eab1-4614-b438-3988e3efdcf1"
Language="1033"
Codepage="1252"
Version="1.0.0">
<Package Id="*"
Keywords="Installer"
Description="Servo Tech Demo Installer"
Manufacturer="Mozilla Research"
InstallerVersion="200"
Platform="x64"
Languages="1033"
SummaryCodepage="1252"
Compressed="yes"/>
<MajorUpgrade AllowDowngrades="yes"/>
<Media Id="1"
Cabinet="Servo.cab"
EmbedCab="yes"/>
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="ProgramFiles64Folder" Name="PFiles">
<Directory Id="MozResearch" Name="Mozilla Research">
<Directory Id="INSTALLDIR" Name="Servo Tech Demo">
<Component Id="Servo"
Guid="95bcea71-78bb-4ec8-9766-44bc01443840"
Win64="yes">
<File Id="ServoEXE"
Name="servo.exe"
DiskId="1"
Source="C:\Users\harpo\servo\target\release\servo.exe"
KeyPath="yes">
<Shortcut Id="StartMenuServoTechDemo"
Directory="ProgramMenuDir"
Name="Servo Tech Demo"
WorkingDirectory="INSTALLDIR"
Icon="servo.exe"
Advertise="yes"/>
</File>
<File Id="IdlibcryptoMDdll"
Name="libcryptoMD.dll"
Source="C:\Users\harpo\servo\target\release\msi\temp\servo\libcryptoMD.dll"
DiskId="1"/>
<File Id="IdlibsslMDdll"
Name="libsslMD.dll"
Source="C:\Users\harpo\servo\target\release\msi\temp\servo\libsslMD.dll"
DiskId="1"/>
</Component>
<Merge Id="Idbase_crypto_1142_x86_64msm"
Language="1033"
SourceFile="C:\Users\harpo\servo\target\release\msi\temp\servo\msm\base-crypto-1.14.2-x86_64.msm"
DiskId="1"/>
<Merge Id="Idbase_system_10_1142_x86_64msm"
Language="1033"
SourceFile="C:\Users\harpo\servo\target\release\msi\temp\servo\msm\base-system-1.0-1.14.2-x86_64.msm"
DiskId="1"/>
<Merge Id="Idgstreamer_10_capture_1142_x86_64msm"
Language="1033"
SourceFile="C:\Users\harpo\servo\target\release\msi\temp\servo\msm\gstreamer-1.0-capture-1.14.2-x86_64.msm"
DiskId="1"/>
<Merge Id="Idgstreamer_10_codecs_1142_x86_64msm"
Language="1033"
SourceFile="C:\Users\harpo\servo\target\release\msi\temp\servo\msm\gstreamer-1.0-codecs-1.14.2-x86_64.msm"
DiskId="1"/>
<Merge Id="Idgstreamer_10_codecs_gpl_1142_x86_64msm"
Language="1033"
SourceFile="C:\Users\harpo\servo\target\release\msi\temp\servo\msm\gstreamer-1.0-codecs-gpl-1.14.2-x86_64.msm"
DiskId="1"/>
<Merge Id="Idgstreamer_10_codecs_restricted_1142_x86_64msm"
Language="1033"
SourceFile="C:\Users\harpo\servo\target\release\msi\temp\servo\msm\gstreamer-1.0-codecs-restricted-1.14.2-x86_64.msm"
DiskId="1"/>
<Merge Id="Idgstreamer_10_core_1142_x86_64msm"
Language="1033"
SourceFile="C:\Users\harpo\servo\target\release\msi\temp\servo\msm\gstreamer-1.0-core-1.14.2-x86_64.msm"
DiskId="1"/>
<Merge Id="Idgstreamer_10_devtools_1142_x86_64msm"
Language="1033"
SourceFile="C:\Users\harpo\servo\target\release\msi\temp\servo\msm\gstreamer-1.0-devtools-1.14.2-x86_64.msm"
DiskId="1"/>
<Merge Id="Idgstreamer_10_dvd_1142_x86_64msm"
Language="1033"
SourceFile="C:\Users\harpo\servo\target\release\msi\temp\servo\msm\gstreamer-1.0-dvd-1.14.2-x86_64.msm"
DiskId="1"/>
<Merge Id="Idgstreamer_10_editing_1142_x86_64msm"
Language="1033"
SourceFile="C:\Users\harpo\servo\target\release\msi\temp\servo\msm\gstreamer-1.0-editing-1.14.2-x86_64.msm"
DiskId="1"/>
<Merge Id="Idgstreamer_10_effects_1142_x86_64msm"
Language="1033"
SourceFile="C:\Users\harpo\servo\target\release\msi\temp\servo\msm\gstreamer-1.0-effects-1.14.2-x86_64.msm"
DiskId="1"/>
<Merge Id="Idgstreamer_10_encoding_1142_x86_64msm"
Language="1033"
SourceFile="C:\Users\harpo\servo\target\release\msi\temp\servo\msm\gstreamer-1.0-encoding-1.14.2-x86_64.msm"
DiskId="1"/>
<Merge Id="Idgstreamer_10_libav_1142_x86_64msm"
Language="1033"
SourceFile="C:\Users\harpo\servo\target\release\msi\temp\servo\msm\gstreamer-1.0-libav-1.14.2-x86_64.msm"
DiskId="1"/>
<Merge Id="Idgstreamer_10_net_1142_x86_64msm"
Language="1033"
SourceFile="C:\Users\harpo\servo\target\release\msi\temp\servo\msm\gstreamer-1.0-net-1.14.2-x86_64.msm"
DiskId="1"/>
<Merge Id="Idgstreamer_10_net_restricted_1142_x86_64msm"
Language="1033"
SourceFile="C:\Users\harpo\servo\target\release\msi\temp\servo\msm\gstreamer-1.0-net-restricted-1.14.2-x86_64.msm"
DiskId="1"/>
<Merge Id="Idgstreamer_10_playback_1142_x86_64msm"
Language="1033"
SourceFile="C:\Users\harpo\servo\target\release\msi\temp\servo\msm\gstreamer-1.0-playback-1.14.2-x86_64.msm"
DiskId="1"/>
<Merge Id="Idgstreamer_10_system_1142_x86_64msm"
Language="1033"
SourceFile="C:\Users\harpo\servo\target\release\msi\temp\servo\msm\gstreamer-1.0-system-1.14.2-x86_64.msm"
DiskId="1"/>
<Merge Id="Idgstreamer_10_visualizers_1142_x86_64msm"
Language="1033"
SourceFile="C:\Users\harpo\servo\target\release\msi\temp\servo\msm\gstreamer-1.0-visualizers-1.14.2-x86_64.msm"
DiskId="1"/>
<Directory Id="Idresources" Name="resources">
<Component Id="Idresources"
Guid="5700f161-1bef-4089-b7af-a2d8771b3399"
Win64="yes">
<CreateFolder/>
<File Id="Id_resources_ahem.css"
Name="ahem.css"
Source="C:\Users\harpo\servo\target\release\msi\temp\servo\resources\ahem.css"
DiskId="1"/>
<File Id="Id_resources_android_params"
Name="android_params"
Source="C:\Users\harpo\servo\target\release\msi\temp\servo\resources\android_params"
DiskId="1"/>
<File Id="Id_resources_badcert.html"
Name="badcert.html"
Source="C:\Users\harpo\servo\target\release\msi\temp\servo\resources\badcert.html"
DiskId="1"/>
<File Id="Id_resources_badcert.jpg"
Name="badcert.jpg"
Source="C:\Users\harpo\servo\target\release\msi\temp\servo\resources\badcert.jpg"
DiskId="1"/>
<File Id="Id_resources_cert_google_only"
Name="cert-google-only"
Source="C:\Users\harpo\servo\target\release\msi\temp\servo\resources\cert-google-only"
DiskId="1"/>
<File Id="Id_resources_certs"
Name="certs"
Source="C:\Users\harpo\servo\target\release\msi\temp\servo\resources\certs"
DiskId="1"/>
<File Id="Id_resources_Credits.rtf.mako"
Name="Credits.rtf.mako"
Source="C:\Users\harpo\servo\target\release\msi\temp\servo\resources\Credits.rtf.mako"
DiskId="1"/>
<File Id="Id_resources_gatt_blocklist.txt"
Name="gatt_blocklist.txt"
Source="C:\Users\harpo\servo\target\release\msi\temp\servo\resources\gatt_blocklist.txt"
DiskId="1"/>
<File Id="Id_resources_hsts_preload.json"
Name="hsts_preload.json"
Source="C:\Users\harpo\servo\target\release\msi\temp\servo\resources\hsts_preload.json"
DiskId="1"/>
<File Id="Id_resources_iso_8859_8.css"
Name="iso-8859-8.css"
Source="C:\Users\harpo\servo\target\release\msi\temp\servo\resources\iso-8859-8.css"
DiskId="1"/>
<File Id="Id_resources_neterror.html"
Name="neterror.html"
Source="C:\Users\harpo\servo\target\release\msi\temp\servo\resources\neterror.html"
DiskId="1"/>
<File Id="Id_resources_not_found.html"
Name="not-found.html"
Source="C:\Users\harpo\servo\target\release\msi\temp\servo\resources\not-found.html"
DiskId="1"/>
<File Id="Id_resources_prefs.json"
Name="prefs.json"
Source="C:\Users\harpo\servo\target\release\msi\temp\servo\resources\prefs.json"
DiskId="1"/>
<File Id="Id_resources_presentational_hints.css"
Name="presentational-hints.css"
Source="C:\Users\harpo\servo\target\release\msi\temp\servo\resources\presentational-hints.css"
DiskId="1"/>
<File Id="Id_resources_privatekey_for_testing.key"
Name="privatekey_for_testing.key"
Source="C:\Users\harpo\servo\target\release\msi\temp\servo\resources\privatekey_for_testing.key"
DiskId="1"/>
<File Id="Id_resources_public_domains.txt"
Name="public_domains.txt"
Source="C:\Users\harpo\servo\target\release\msi\temp\servo\resources\public_domains.txt"
DiskId="1"/>
<File Id="Id_resources_quirks_mode.css"
Name="quirks-mode.css"
Source="C:\Users\harpo\servo\target\release\msi\temp\servo\resources\quirks-mode.css"
DiskId="1"/>
<File Id="Id_resources_quotes.css"
Name="quotes.css"
Source="C:\Users\harpo\servo\target\release\msi\temp\servo\resources\quotes.css"
DiskId="1"/>
<File Id="Id_resources_rippy.png"
Name="rippy.png"
Source="C:\Users\harpo\servo\target\release\msi\temp\servo\resources\rippy.png"
DiskId="1"/>
<File Id="Id_resources_self_signed_certificate_for_testing.crt"
Name="self_signed_certificate_for_testing.crt"
Source="C:\Users\harpo\servo\target\release\msi\temp\servo\resources\self_signed_certificate_for_testing.crt"
DiskId="1"/>
<File Id="Id_resources_servo.css"
Name="servo.css"
Source="C:\Users\harpo\servo\target\release\msi\temp\servo\resources\servo.css"
DiskId="1"/>
<File Id="Id_resources_servo.icns"
Name="servo.icns"
Source="C:\Users\harpo\servo\target\release\msi\temp\servo\resources\servo.icns"
DiskId="1"/>
<File Id="Id_resources_Servo.ico"
Name="Servo.ico"
Source="C:\Users\harpo\servo\target\release\msi\temp\servo\resources\Servo.ico"
DiskId="1"/>
<File Id="Id_resources_servo.png"
Name="servo.png"
Source="C:\Users\harpo\servo\target\release\msi\temp\servo\resources\servo.png"
DiskId="1"/>
<File Id="Id_resources_servo.svg"
Name="servo.svg"
Source="C:\Users\harpo\servo\target\release\msi\temp\servo\resources\servo.svg"
DiskId="1"/>
<File Id="Id_resources_servo64.png"
Name="servo64.png"
Source="C:\Users\harpo\servo\target\release\msi\temp\servo\resources\servo64.png"
DiskId="1"/>
<File Id="Id_resources_tumbeast.png"
Name="tumbeast.png"
Source="C:\Users\harpo\servo\target\release\msi\temp\servo\resources\tumbeast.png"
DiskId="1"/>
<File Id="Id_resources_user_agent.css"
Name="user-agent.css"
Source="C:\Users\harpo\servo\target\release\msi\temp\servo\resources\user-agent.css"
DiskId="1"/>
</Component>
<Directory Id="Idahem" Name="ahem">
<Component Id="Idahem"
Guid="0bb19733-98aa-408a-8f10-53cfd93a1bb8"
Win64="yes">
<CreateFolder/>
<File Id="Id_resources_ahem_Ahem.ps"
Name="Ahem.ps"
Source="C:\Users\harpo\servo\target\release\msi\temp\servo\resources\ahem\Ahem.ps"
DiskId="1"/>
<File Id="Id_resources_ahem_Ahem.sit"
Name="Ahem.sit"
Source="C:\Users\harpo\servo\target\release\msi\temp\servo\resources\ahem\Ahem.sit"
DiskId="1"/>
<File Id="Id_resources_ahem_AHEM____.TTF"
Name="AHEM____.TTF"
Source="C:\Users\harpo\servo\target\release\msi\temp\servo\resources\ahem\AHEM____.TTF"
DiskId="1"/>
<File Id="Id_resources_ahem_COPIED_FROM"
Name="COPIED-FROM"
Source="C:\Users\harpo\servo\target\release\msi\temp\servo\resources\ahem\COPIED-FROM"
DiskId="1"/>
<File Id="Id_resources_ahem_COPYING"
Name="COPYING"
Source="C:\Users\harpo\servo\target\release\msi\temp\servo\resources\ahem\COPYING"
DiskId="1"/>
<File Id="Id_resources_ahem_README"
Name="README"
Source="C:\Users\harpo\servo\target\release\msi\temp\servo\resources\ahem\README"
DiskId="1"/>
</Component>
</Directory>
<Directory Id="Iduser_agent_js" Name="user-agent-js">
<Component Id="Iduser_agent_js"
Guid="cd66a0d5-a0be-4f55-b4c4-f15d938ff084"
Win64="yes">
<CreateFolder/>
<File Id="Id_resources_user_agent_js_00.example.js"
Name="00.example.js"
Source="C:\Users\harpo\servo\target\release\msi\temp\servo\resources\user-agent-js\00.example.js"
DiskId="1"/>
</Component>
</Directory>
</Directory>
</Directory>
</Directory>
</Directory>
<Directory Id="ProgramMenuFolder" Name="Programs">
<Directory Id="ProgramMenuDir" Name="Servo Tech Demo">
<Component Id="ProgramMenuDir" Guid="e04737ce-16eb-4977-9b4c-ed2db8a5a77d">
<RemoveFolder Id="ProgramMenuDir" On="both"/>
<RegistryValue Root="HKCU"
Key="Software\Mozilla Research\Servo Tech Demo"
Type="string"
Value=""
KeyPath="yes"/>
</Component>
</Directory>
</Directory>
</Directory>
<Feature Id="Complete" Level="1">
<ComponentRef Id="Servo"/>
<ComponentRef Id="Idresources"/>
<ComponentRef Id="Idahem"/>
<ComponentRef Id="Iduser_agent_js"/>
<ComponentRef Id="ProgramMenuDir"/>
<MergeRef Id="Idbase_crypto_1142_x86_64msm"/>
<MergeRef Id="Idbase_system_10_1142_x86_64msm"/>
<MergeRef Id="Idgstreamer_10_capture_1142_x86_64msm"/>
<MergeRef Id="Idgstreamer_10_codecs_1142_x86_64msm"/>
<MergeRef Id="Idgstreamer_10_codecs_gpl_1142_x86_64msm"/>
<MergeRef Id="Idgstreamer_10_codecs_restricted_1142_x86_64msm"/>
<MergeRef Id="Idgstreamer_10_core_1142_x86_64msm"/>
<MergeRef Id="Idgstreamer_10_devtools_1142_x86_64msm"/>
<MergeRef Id="Idgstreamer_10_dvd_1142_x86_64msm"/>
<MergeRef Id="Idgstreamer_10_editing_1142_x86_64msm"/>
<MergeRef Id="Idgstreamer_10_effects_1142_x86_64msm"/>
<MergeRef Id="Idgstreamer_10_encoding_1142_x86_64msm"/>
<MergeRef Id="Idgstreamer_10_libav_1142_x86_64msm"/>
<MergeRef Id="Idgstreamer_10_net_1142_x86_64msm"/>
<MergeRef Id="Idgstreamer_10_net_restricted_1142_x86_64msm"/>
<MergeRef Id="Idgstreamer_10_playback_1142_x86_64msm"/>
<MergeRef Id="Idgstreamer_10_system_1142_x86_64msm"/>
<MergeRef Id="Idgstreamer_10_visualizers_1142_x86_64msm"/>
</Feature>
<Icon Id="servo.exe" SourceFile="C:\Users\harpo\servo\target\release\servo.exe"/>
</Product>
</Wix> @Manishearth @larsbergstrom I could use some help here :) |
I don't know if it matters, but according to GStreamer-rs' readme it uses GStreamer v1.12.3: https://github.com/sdroege/gstreamer-rs#gstreamer-binaries-1 |
Thanks for your comment. I assume that the That said, it may be worth trying with different binaries. |
1b2d8aa
to
100fd89
Compare
I changed the approach here. Instead of using merge modules I chose to do the "Shared GStreamer" option as described in GStreamer docs, where we bundle the GStreamer installer inside Servo's installer. With the current patch, I don't get the missing GStreamer dlls error anymore. I am still seeing the one about the missing |
Hmm. Does the regular servo installer built with gstreamer disabled work
for you? I don't see why gstreamer would need nspr (maybe post-upgrade
mozjs does?)
…On Mon, Sep 3, 2018, 8:43 PM Fernando Jiménez Moreno < ***@***.***> wrote:
I changed the approach here. Instead of using merge modules I chose to do
the "Shared GStreamer" option as described in GStreamer docs
<https://gstreamer.freedesktop.org/documentation/deploying/windows.html>,
where we bundle the GStreamer installer inside Servo's installer.
With the current patch, I don't get the missing GStreamer dlls error
anymore. I am still seeing the one about the missing nspr4.dll though.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#21545 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/ABivSBVUUNl0Tt_8-DhUcrs1I-PMEHtTks5uXUb-gaJpZM4WT1lv>
.
|
I haven't tried disabling GStreamer, but I can confirm that this comes from I tried moving it manually into Servo's installation folder and it fixes the missing dll issue. Unfortunately, that one does not seem to be the last issue. Now Servo is opening and immediately closing without loading anything or providing any ouput or error message :_( |
Looks like the spidermonkey upgrade (or some other change) _also_ broke the
installer :)
(We should probably periodically test these things on fresh VMs)
…On Mon, Sep 3, 2018, 9:12 PM Fernando Jiménez Moreno < ***@***.***> wrote:
I haven't tried disabling GStreamer, but I can confirm that this comes
from mozjs. We generate this dll while building mozjs_sys, so we can get
it from there.
I tried moving it manually into Servo's installation folder and it fixes
the missing dll issue. Unfortunately, that one does not seem to be the last
issue. Now Servo is opening and immediately closing without loading
anything or providing any ouput or error message :_(
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#21545 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/ABivSIFbJTlRRfop2-DL54fdTEhzpyqYks5uXU3SgaJpZM4WT1lv>
.
|
I confirmed again that the missing I am trying to get additional information about the crash, but unfortunately I'm currently unable to create dev builds on Windows #21604 |
r=me cc @larsbergstrom is this method of packaging consistent with the license? We are shipping the gstreamer MSI in the bundle, but it's still dynamically linked |
@Manishearth Yes. Our only restrictions with LGPL code and packaging are around not linking it statically into the code. That said, we may have some license disclosure rules that we should look into as a follow-up issue. i.e., we may need to plunk a LICENSES file into the toplevel of our installation. |
Looks ready to land then (unless you want to plop in the LICENSE file now) Needs tidy fixes:
|
The CC @jdm |
100fd89
to
8416061
Compare
a56dc48 fixes the missing |
r? @Manishearth for the additional commit fixing the If you are ok with this last change, I think we are good here and we can merge it as is. We can add the LICENSES and EULA later. |
@bors r+ |
Travis has a "can't find crate fontsan" error, which seems weird? |
@bors r- Let's retrigger travis first. r=me if travis is passing |
Does not seem to be related. It's been happening for the last few builds https://travis-ci.org/servo/servo/builds (You probably want to use @bors-servo here :P ) |
I filed #21677 for that |
@bors r+ |
@bors-servo r+ |
📋 Looks like this PR is still in progress, ignoring approval |
@bors-servo r=Manishearth |
📌 Commit 8416061 has been approved by |
Fix Windows nightly build <!-- Reviewable:start --> This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/21545) <!-- Reviewable:end -->
💔 Test failed - windows-msvc-dev |
@bors-servo r=Manishearth |
📌 Commit 3c5c01a has been approved by |
Fix Windows nightly build <!-- Reviewable:start --> This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/21545) <!-- Reviewable:end -->
💔 Test failed - linux-rel-wpt |
@bors-servo retry |
⚡ Previous build results for android, android-x86, arm32, arm64, linux-dev, linux-rel-css, mac-dev-unit, mac-rel-css2, mac-rel-wpt2, mac-rel-wpt3, mac-rel-wpt4, windows-msvc-dev are reusable. Rebuilding only linux-rel-wpt, mac-rel-css1, mac-rel-wpt1... |
☀️ Test successful - android, android-x86, arm32, arm64, linux-dev, linux-rel-css, linux-rel-wpt, mac-dev-unit, mac-rel-css1, mac-rel-css2, mac-rel-wpt1, mac-rel-wpt2, mac-rel-wpt3, mac-rel-wpt4, windows-msvc-dev |
This change is