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

Fix Windows build failure caused by missing dependency. #969

Merged

Conversation

acolwell
Copy link
Collaborator

Thanks for submitting a pull request! Please provide enough information so that others can review your pull request. Additionally, make sure you've done all of these things:

PR Description

What type of PR is this? (Check one of the boxes below)

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Improvement (non-breaking change which does not add functionality nor fixes a bug but improves Natron in some way)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • My change requires a change to the documentation
    • I have updated the documentation accordingly

What does this pull request do?

Msys2's libcurl package was recently updated to enable HTTP/3 support which means it now also depends on libnghttp3. genDllVersions.sh was updated to include this new dependency.

The Windows installer build action was also changed to upload its build artifacts before it tests to make sure the plugins load. This makes it possible to look at the generated artifacts for missing dependencies if the plugin load verification fails.

Have you tested your changes (if applicable)? If so, how?

Yes. The build installer action works again and the plugin load verification step now passes on GMIC plugin again. Before this change the GMIC plugin was causing the plugin load verification step to fail because of the missing dependency.

Msys2's libcurl package was recently updated to enable HTTP/3
support which means it now also depends on libnghttp3.
genDllVersions.sh was updated to include this new dependency.

The Windows installer build action was also changed to upload its
build artifacts before it tests to make sure the plugins load. This
makes it possible to look at the generated artifacts for missing
dependencies if the plugin load verification fails.
Copy link
Member

@devernay devernay left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. I don't even understand why nghttp2 and nghttp3 are required. Are they used by WebKit?

@acolwell
Copy link
Collaborator Author

LGTM. I don't even understand why nghttp2 and nghttp3 are required. Are they used by WebKit?

I'm not sure what they are used for either. The GMIC plugin depends on libcurl, which appears to depend on nghttp2 and nghttp3. I haven't really dug into why libcurl needs these libraries.

@acolwell acolwell merged commit fc50fb2 into NatronGitHub:RB-2.6 May 31, 2024
3 checks passed
@acolwell acolwell deleted the upload_artifacts_before_verify branch May 31, 2024 00:36
acolwell added a commit to acolwell/Natron that referenced this pull request Jul 2, 2024
…#969)

Msys2's libcurl package was recently updated to enable HTTP/3
support which means it now also depends on libnghttp3.
genDllVersions.sh was updated to include this new dependency.

The Windows installer build action was also changed to upload its
build artifacts before it tests to make sure the plugins load. This
makes it possible to look at the generated artifacts for missing
dependencies if the plugin load verification fails.
acolwell added a commit that referenced this pull request Jul 2, 2024
Msys2's libcurl package was recently updated to enable HTTP/3
support which means it now also depends on libnghttp3.
genDllVersions.sh was updated to include this new dependency.

The Windows installer build action was also changed to upload its
build artifacts before it tests to make sure the plugins load. This
makes it possible to look at the generated artifacts for missing
dependencies if the plugin load verification fails.
devernay added a commit that referenced this pull request Jul 23, 2024
* Update README to reflect 2.5 release

* Remove Bountysource from Readme

Bountysource appears to be dead, so it should be removed

* macports update

* Update README.md

* update MacPorts

* Update compiler-common.sh

* Debug build fix

* CMake: Debug build type fix

* Comment out check for debug flag build type. (#972)

* Fix windows pacman repo build. (#968)

Msys2 updated gcc in the last few days which has caused the package
repo build to fail. Here are some minor fixes to make the build work
again.

- Add fmt to openimageio's dependency list since the version included
  with the openimageio source now appears to cause an internal compiler
  error.

- Added an include for math.h to in a libsox test file to make the
  compiler stop generating an error about fabs() not being defined.

- Fix type mismatch and missing declaration errors in ImageMagick.

- Updated mingw-w64-dump_syms gitcommit to point to a version that
  fixes a missing header build error.

* Fix Windows build failure caused by missing dependency. (#969)

Msys2's libcurl package was recently updated to enable HTTP/3
support which means it now also depends on libnghttp3.
genDllVersions.sh was updated to include this new dependency.

The Windows installer build action was also changed to upload its
build artifacts before it tests to make sure the plugins load. This
makes it possible to look at the generated artifacts for missing
dependencies if the plugin load verification fails.

* Fix Windows debug cmake build. (#973)

- Force Shiboken to use detected python libraries instead of
  using its own library detection logic.
- Specify -O compiler option for debug builds like the qmake build.
- Remove unconditional NDEBUG define added by the Shiboken cmake
  helper so that asserts work correctly on debug builds.

* Add logic to capture/restore existing GL context.

This fixes asserts in debug builds where Qt's GL context is set when
a ScopedGLContext is created. This can happen when we have a project
open and the user tries to open another project. When the event
callback is dispatched, the Qt GL context is still set. The fix
justs removes the assert and adds logic to save and restore any
existing GL context that is set.

* MacPorts update

* Fix rotopaint overlay 2.5 (#986)

* RotoPaint: always draw the overlay when the tool is part of the overlay

* tools/MacPorts: remove .rej files

---------

Co-authored-by: Marcel Ruegenberg <gh2@picodesign.de>
Co-authored-by: Frédéric Devernay <devernay@users.noreply.github.com>
Co-authored-by: kafxa <148536772+kafxa@users.noreply.github.com>
Co-authored-by: Aaron Colwell <300262+acolwell@users.noreply.github.com>
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 this pull request may close these issues.

2 participants