-
Notifications
You must be signed in to change notification settings - Fork 36
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
add sdl2_image/2.0.5 and sdl2_mixer/2.0.4 #1317
Conversation
Hm. I do except a few build errors, but apparently it can't find SDL2 packages for any configuration. Do we need to rebuild SDL2? |
I don't understand why we suddenly lack many packages 🤔 |
it could be a consequence of conan-io/conan-center-index@8fa0843 Would it be possible to make a PR per package in the future, because here it's hard to keep track of which CI job failed |
Sure, I just wanted to test once with a real example that it works to update several recipes at once. This will be handy when it comes to mass convention updates |
Still the same error
The PR does not seem to have changed the default dependencies or the dependency versions and both libmikmod and libmpg123 are now rebuild |
I can see missing binaries for SDL2. the Clang5 and GCC7 build of libmikmod failed on https://github.com/bincrafters/community/actions/runs/420980056
yes, it's the option modification which invalidated hashes |
I restarted. Now only GCC 9 and Clang 9 are missing, due to the container image issues sdl2_mixer fails on all Linux configurations |
Maybe because the CI env var is not set ? https://github.com/bincrafters/community/pull/1317/files#diff-0f3725eeb4412e1c0465229cf69fd6e23ccee95e2e0524ddd92695c86a63a779R11 |
I believe I had looked at the logs from the previous commit again and came to the conclusion that it is still the same error. I think you are right. But probably it is better to rewrite the test_package in a way that works for all cases, being it local, Bincrafters' CI and C3I. |
Maybe the missing packages are caused by our regular connection timeouts to Bintray, and we didn't notice this before so strongly because we used outdated packages (which we are now getting deleted again). |
Yes, few minutes ago I manually restarted the SDL2 merge commit build cab627a because the clang 7 build originally failed with a timeout. it should be ok now so I just restarted this PR's builds |
fluidsynth packages are missing too. I just started a new build there too |
So now we only have the MSVC link error of sdl2_image test recipe |
Neither do I. This error is around for a long time and I believe that was even discussed upstream once. Let me look if I can find that again |
We are adding a patch, defining Upstream seems to have fixed that in the meantime, there are several commits regarding memset https://github.com/SDL-mirror/SDL/commits/master/src/stdlib/SDL_string.c I'm not sure yet which parts should be backported in a patch |
https://developercommunity.visualstudio.com/content/problem/711317/unexpected-implicit-memset-in-release-optimized-bu.html
SDL does not want to link against vcruntime by default. The preprocessor flags Two ways to solve this:
Our current way works for SDL itself. But SDL_image links against vcruntime. Hence we have two definitions of |
This reverts commit fd0539c.
in the next versions right now we use custom CMake files
self._cmake.definitions["TIF_DYNAMIC"] = self.options["libtiff"].shared if self.options.tif else False | ||
self._cmake.definitions["JPG_DYNAMIC"] = self.options["libjpeg"].shared if self.options.jpg else False | ||
self._cmake.definitions["PNG_DYNAMIC"] = self.options["libpng"].shared if self.options.png else False | ||
self._cmake.definitions["WEBP_DYNAMIC"] = self.options["libwebp"].shared if self.options.webp else False | ||
self._cmake.definitions["SDL2_DYNAMIC"] = self.options["sdl2"].shared |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's not because libtiff is shared that consumer wants dynamic load. In upstream configure.in
, there is a specific option (true by default) for each dependency for which sdl2_image supports dynamic load (libtiff, libjpeg, libpng and libwebp).
So, you can link to static, to shared, or dynamically load shared.
Moreover, there is no dynamic load of sdl2 in sdl2_image, it's always linked.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the catch. We are currently using a custom CMake file for sdl2_image, only the next version will have official CMake support.
I will rename the SDL2_DYNAMIC
option name as it only seems to make a switch between static and shared linking. Not entirely sure how to proceed with the rest.
Is dynamic loading just working, despite our custom CMake file?
If yes, we don't necessarily need special handling I guess.
If not, it doesn't work right now
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
From what I see in this custom CMake file, nothing is done with these definitions (except SDL2_DYNAMIC
, but it's a different purpose and this CMake option could be avoided), so well let's say that the "dynamic" options in upstream configure.in
is not supported for the moment in this recipe.
Is dynamic loading just working, despite our custom CMake file?
It can't work with this custom CMakeLists, there is an explicit branching with macros for dynamic load handling at runtime:
https://github.com/SDL-mirror/SDL_image/blob/b4f28c1fc9ab2f91ae594fc3e86622c5c13ffbbb/configure.in#L358-L364
https://github.com/SDL-mirror/SDL_image/blob/f4f5caf21d6f18de85baee945348f56697d1813a/IMG_jpg.c#L70-L77
This comment has been minimized.
This comment has been minimized.
Co-authored-by: ericLemanissier <ericLemanissier@users.noreply.github.com>
Damn. I need to update the CI files. But I'm really confused why this error did not happen sooner |
Which files are you talking about? |
I was talking about the GitHub Workflow CI file. The Edit: Or lets just ignore those CI jobs for the moment :D |
While there are still a lot of small and huge things to improve, I would be fine with merging this state finally |
Ported from
https://github.com/bincrafters/conan-sdl2_image
https://github.com/bincrafters/conan-sdl2_mixer