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

Can't find openxr_loader.dll #24181

Closed
paulrouget opened this issue Sep 11, 2019 · 12 comments · Fixed by #24226
Closed

Can't find openxr_loader.dll #24181

paulrouget opened this issue Sep 11, 2019 · 12 comments · Fixed by #24226

Comments

@paulrouget
Copy link
Contributor

Getting this error:

RUST: WARN - webxr_api::registry - XR device error BackendSpecific("\"The specified module could not be found. (os error 126)\"")

This is the part that fails: https://github.com/Ralith/openxrs/blob/71cea14e8b17eba366c579f28b11d8f135f2a398/openxr/src/entry.rs#L64

Regression started with #24140

For now, only tested on the emulator.

/cc @Manishearth

@jdm
Copy link
Member

jdm commented Sep 11, 2019

I cannot reproduce this in my local environment. I successfully entered immersive mode after installing the OpenXR package from the Windows Store in a debug build in the emulator.

@jdm jdm added the P-hololens label Sep 11, 2019
@paulrouget
Copy link
Contributor Author

@jdm can I ask you to clobber first?

@Manishearth
Copy link
Member

I've been able to run xr content after a full clobber on the device.

@paulrouget
Copy link
Contributor Author

No problem with the device.

@Manishearth
Copy link
Member

We now use the nuget package too.

@paulrouget
Copy link
Contributor Author

No problem with the device.

I was wrong. I tested the 2D view only.

@paulrouget paulrouget reopened this Sep 16, 2019
@paulrouget
Copy link
Contributor Author

Reverting the nuget commit brings me further (then crash here: servo/webxr#54).

There is something that I must be missing.

Any idea would help.

@paulrouget
Copy link
Contributor Author

Inspecting the appx package, I see that the openxr_loader.dll is not present. While the dll of the other nuget packages are.

My bet is that the nuget package just doesn't include the DLLs. They are present in the nuget package, but they are not included in the final package.

I'm just very confused why it works for both of you.

Can you rm -rf support/hololens and git checkout support/hololens? There are plenty of build artifact in there that might mess up with a clean build.

@paulrouget
Copy link
Contributor Author

paulrouget commented Sep 16, 2019

Yeah, I'm pretty sure this is what's going on:

in support/hololens/packages/OpenXR.Loader.1.0.2/build/native/OpenXR.Loader.targets, if I change:

        <Content
            Include="$(OpenXRLoaderBinaryRoot)\bin\openxr_loader.dll"
            Link="%(Filename)%(Extension)"
            CopyToOutputDirectory="PreserveNewest" />

with:

        <PackagingOutputs Include="$(OpenXRLoaderBinaryRoot)\bin\openxr_loader.dll">
            <OutputGroup>OpenXRLoaderBinaries</OutputGroup>
            <ProjectName>$(ProjectName)</ProjectName>
            <TargetPath>%(Filename)%(Extension)</TargetPath>
        </PackagingOutputs>

It works.

@jdm
Copy link
Member

jdm commented Sep 16, 2019

Could you raise this with our friends in the Teams channel?

@jdm
Copy link
Member

jdm commented Sep 16, 2019

I can now reproduce this issue in a cleaner build than before.

@paulrouget
Copy link
Contributor Author

Could you raise this with our friends in the Teams channel?

I did yesterday. Fixed has been been pushed.

I can now reproduce this issue in a cleaner build than before.

Gonna fix mach clean then.

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

Successfully merging a pull request may close this issue.

3 participants