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

export-validator does not support Windows #1231

Closed
hannobraun opened this issue Oct 18, 2022 · 0 comments · Fixed by #1342
Closed

export-validator does not support Windows #1231

hannobraun opened this issue Oct 18, 2022 · 0 comments · Fixed by #1342
Labels
help wanted Extra attention is needed topic: build Anything relating to the build system. type: feature New features and improvements to existing features

Comments

@hannobraun
Copy link
Owner

export-validator is an application in this repository that uses the Fornjot app to export all models in the models/ directory to 3MF files, and to validate the correctness of those 3MF files (using lib3mf). This is extremely valuable, as it catches a lot of bugs as part of our extended test suite. Specifically, export-validator is run on every CI build, and can be run locally via just build.

lib3mf is a C++ library, which makes the whole setup a bit problematic. I figured it would be easiest to just use the pre-compiled binaries from their SDK. This works for Linux and macOS, but I failed to get this to work for Windows, meaning export-validator doesn't run on Windows at all. This is a problem in two ways:

  • Windows developers can't use just build or cargo run -p export-validator locally, which limits their ability to test their changes without submitting a pull request and running a CI build.
  • The CI build has reduced test coverage on Windows, which might allow platform-specific bugs to slip through.

For these reasons, it would be great if export-validator supported Windows too. In principle, this would involve the following steps:

  1. Extract the pre-compiled Windows libraries from the lib3mf SDK.
  2. Add those files to the libs/ directory under the correct names, so they can be found when linking.
  3. Adapt export-validator's build.rs so everything works.
  4. Enable export-validator in the Windows CI build, by removing the conditional that prevents it from running.

I tried to do this, but I just couldn't get it to work. I managed to link to the DLL, but I couldn't make it so that the DLL would then be found at load-time (i.e. when export-validator runs). Here is my aborted attempt: #1230

I would really appreciate some help with this. I don't have Windows, don't know a whole lot about it, and testing this only via CI builds is a pain in any case. Labeling as https://github.com/hannobraun/Fornjot/labels/help%20wanted.

@hannobraun hannobraun added type: feature New features and improvements to existing features help wanted Extra attention is needed topic: build Anything relating to the build system. topic: platforms labels Oct 18, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Extra attention is needed topic: build Anything relating to the build system. type: feature New features and improvements to existing features
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant