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

Comments

Projects
None yet
7 participants
@jdm
Copy link
Member

commented May 8, 2019

No description provided.

@jdm

This comment has been minimized.

Copy link
Member Author

commented May 8, 2019

It worked as of 4/1.

@jdm

This comment has been minimized.

Copy link
Member Author

commented May 8, 2019

Broken in the 5/6 nightly.

@jdm

This comment has been minimized.

Copy link
Member Author

commented May 8, 2019

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

@jdm

This comment has been minimized.

Copy link
Member Author

commented May 8, 2019

Working: 9f6005b
Not working: 115a4ac

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

@Eijebong

This comment has been minimized.

Copy link
Member

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

This comment has been minimized.

Copy link
Member Author

commented May 8, 2019

Regression range: 9f6005b...115a4ac

@jdm

This comment has been minimized.

Copy link
Member Author

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

This comment has been minimized.

Copy link
Member Author

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

This comment has been minimized.

Copy link
Member Author

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

This comment has been minimized.

Copy link
Member Author

commented May 9, 2019

A release build on servo-windows3 also runs fine.

@GarethPW

This comment has been minimized.

Copy link

commented May 19, 2019

Latest build still exhibits this issue.

@CShepartd

This comment has been minimized.

Copy link

commented May 21, 2019

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

@jdm

This comment has been minimized.

Copy link
Member Author

commented May 21, 2019

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

@pinggi

This comment has been minimized.

Copy link

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

This comment has been minimized.

Copy link

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

This comment has been minimized.

Copy link

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

This comment has been minimized.

Copy link
Member Author

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

Auto merge of #23484 - servo:jdm-patch-53, r=ferjm
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

Auto merge of #23484 - servo:jdm-patch-53, r=<try>
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

Auto merge of #23484 - servo:jdm-patch-53, r=Manishearth
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

Auto merge of #23484 - servo:jdm-patch-53, r=Manishearth
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

This comment has been minimized.

Copy link

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
You can’t perform that action at this time.