Skip to content
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

libiconv-2.dll is missing from Windows nightly #23348

Closed
jdm opened this issue May 8, 2019 · 18 comments
Closed

libiconv-2.dll is missing from Windows nightly #23348

jdm opened this issue May 8, 2019 · 18 comments

Comments

@jdm
Copy link
Member

@jdm jdm commented May 8, 2019

No description provided.

@jdm
Copy link
Member Author

@jdm jdm commented May 8, 2019

It worked as of 4/1.

@jdm
Copy link
Member Author

@jdm jdm commented May 8, 2019

Broken in the 5/6 nightly.

@jdm
Copy link
Member Author

@jdm jdm commented May 8, 2019

Working in the 5/3 nightly. No nightlies in between.

@jdm
Copy link
Member Author

@jdm jdm commented May 8, 2019

Working: 9f6005b
Not working: 115a4ac

I suspect it's the harfbuzz update. cc @Eijebong

@Eijebong
Copy link
Member

@Eijebong Eijebong commented May 8, 2019

I don't get it. There's no reference to iconv in rust-harfbuzz nor in unicode-script which are the only two crates that were updated

@jdm
Copy link
Member Author

@jdm jdm commented May 8, 2019

Regression range: 9f6005b...115a4ac

@jdm
Copy link
Member Author

@jdm jdm commented May 8, 2019

I don't know what to make of the fact that a local Windows build still works fine.

@jdm jdm added the I-bustage label May 8, 2019
@jdm
Copy link
Member Author

@jdm jdm commented May 8, 2019

More specifically, I packaged a debug build on servo-windows3 and ran it from another directory in a new terminal environment, and it worked fine. I'm trying a release build next.

@jdm
Copy link
Member Author

@jdm jdm commented May 8, 2019

The 5/6 nightly was the first one produced by the taskcluster CI instead of buildbot, which could explain why none of the commits in the regression range look related.

@jdm
Copy link
Member Author

@jdm jdm commented May 9, 2019

A release build on servo-windows3 also runs fine.

@GarethPW
Copy link

@GarethPW GarethPW commented May 19, 2019

Latest build still exhibits this issue.

@CShepartd
Copy link

@CShepartd CShepartd commented May 21, 2019

Still missing libiconv-2.dll (downloaded from https://download.servo.org/nightly/windows-msvc/servo-latest.zip)

@jdm
Copy link
Member Author

@jdm jdm commented May 21, 2019

Until this issue is closed, there is no change expected.

@pinggi
Copy link

@pinggi pinggi commented May 23, 2019

I can confirm the missing libiconv-2.dll file as well.

I got The application was unable to start correctly (0x000007b). Click OK to close the application. everytime I ran servo.exe. I was really disappointed. After several days I tried to install and run it again and got the same error. I decided to investigate it. By depends.exe (dependency walker) I found that 64-bit servo.exe was dependent on 32-bit libiconv-2.dll file. It was so because I had mingw 32-bit in PATH. MinGW contains this file and loader found it there. I downloaded AMD64 version of libiconv-2.dll and copied it to C:\Program Files\Mozilla Research\Servo Tech Demo. Now I can run servo.exe without any problem.

What issues are here:

  1. libiconv-2.dll file is missing
  2. 64-bit servo app shouldn't load 32-bit versions of libraries
  3. it should show an error if the libraries are missing or are corrupted or the architecture is wrong

I don't know if it's an issue of Windows, Rust, or Servo app, but somebody could look at.

@pinggi
Copy link

@pinggi pinggi commented May 23, 2019

Here is the dependency tree I could see when the servo was installed, the libiconv-2.dll file was missing in the servo folder but was found in mingw folder:

image

@Heartade
Copy link

@Heartade Heartade commented May 25, 2019

Dependency Walker shows libiconv-2.dll was found in MinGW folder like @pinggi mentioned, but the program subsequently crashed as follows:

Error: At least one required implicit or forwarded dependency was not found.
Error: At least one module has an unresolved import due to a missing export function in an implicitly dependent module.
Error: Modules with different CPU types were found.
Warning: At least one delay-load dependency module was not found.
Warning: At least one module has an unresolved import due to a missing export function in a delay-load dependent module.

Can confirm Servo now runs fine after I downloaded x64 version of libiconv-2.dll into Servo folder.

@jdm
Copy link
Member Author

@jdm jdm commented May 30, 2019

Aha, https://gstreamer.freedesktop.org/documentation/application-development/appendix/integration.html?gi-language=c#building-gstreamer-under-win32 explains that GStreamer expects some tools to already be installed for building like libiconv. I see that the gstreamer installation on the old windows machine we were using for nightly builds contains libiconv-2.dll; my suspicion is that we ended up with a blended 1.14/1.15/1.16 installation. I'm seeing if #23484 improves matters; I'll try downloading and running the builds once they complete.

bors-servo added a commit that referenced this issue May 31, 2019
Update gstreamer on Windows to 1.16.0.

Fixes #23348.

<!-- 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/23484)
<!-- Reviewable:end -->
bors-servo added a commit that referenced this issue Jun 3, 2019
Update gstreamer on Windows to 1.16.0.

Fixes #23348.

<!-- 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/23484)
<!-- Reviewable:end -->
bors-servo added a commit that referenced this issue Jun 3, 2019
Update gstreamer on Windows to 1.16.0.

Fixes #23348.

<!-- 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/23484)
<!-- Reviewable:end -->
bors-servo added a commit that referenced this issue Jun 3, 2019
Update gstreamer on Windows to 1.16.0.

Fixes #23348.

<!-- 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/23484)
<!-- Reviewable:end -->
@bkdwt
Copy link

@bkdwt bkdwt commented Jun 4, 2019

Same problem here with last nightly on Windows 10.

servo error

Dependency Walker shows libiconv-2.dll was found in MinGW folder like @pinggi mentioned, but the program subsequently crashed as follows:

Error: At least one required implicit or forwarded dependency was not found.
Error: At least one module has an unresolved import due to a missing export function in an implicitly dependent module.
Error: Modules with different CPU types were found.
Warning: At least one delay-load dependency module was not found.
Warning: At least one module has an unresolved import due to a missing export function in a delay-load dependent module.

Can confirm Servo now runs fine after I downloaded x64 version of libiconv-2.dll into Servo folder.

Can you post the dll here? Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

7 participants