-
Notifications
You must be signed in to change notification settings - Fork 215
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
are_images_equal and many tests are linked with both libavif and libavif_internal #1816
Comments
The following patch seems to fix the problem. I don't think it is the right fix. The patch is intended to pinpoint the sources of the problem (avif_apps and the avifincrtest_helpers, which depend on avif, are used with aviftest_helpers, which depends on avif_internal).
|
Please see the patch.txt file in patch.zip. I removed the dependency of aviftest_helpers.cc on avif_internal. This allows the tests that only call the public functions to be linked with avif rather than avif_internal. This patch is unlikely to be the right fix. It is intended to show which tests can be linked with avif and which tests must be linked with avif_internal. |
I found that are_images_equal and many tests are linked with both libavif and libavif_internal. This is more noticeable when
BUILD_SHARED_LIBS
is ON (the default), because whenBUILD_SHARED_LIBS
is OFF, libavif_internal is an alias of libavif.Steps to reproduce:
Here are two representative linker command lines on Linux:
Note that we link the executable programs with both libavif.so.16.0.2 and libavif_internal.a.
I saw the same problem when I built libavif on Windows and forgot to set
BUILD_SHARED_LIBS
to OFF.The text was updated successfully, but these errors were encountered: