-
-
Notifications
You must be signed in to change notification settings - Fork 7
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
libvips v8.14.1 #72
libvips v8.14.1 #72
Conversation
Hi! This is the friendly automated conda-forge-linting service. I just wanted to let you know that I linted all conda-recipes in your PR ( |
changing build system often breaks ABI. we should be careful before merging. |
I'm converting to draft since we will have to set an upperbound to all existing packages, and then rebuild them all due to the configure -> meson change |
@conda-forge-admin please rerender |
Hi! This is the friendly automated conda-forge-webservice. I tried to rerender for you, but it looks like there was nothing to do. This message was generated by GitHub actions workflow run https://github.com/conda-forge/libvips-feedstock/actions/runs/4001632599. |
Could you also add libheif to the host section? |
Hi! This is the friendly automated conda-forge-linting service. I was trying to look for recipes to lint for you, but it appears we have a merge conflict. Please ping the 'conda-forge/core' team (using the @ notation in a comment) if you believe this is a bug. |
Hi! This is the friendly automated conda-forge-linting service. I just wanted to let you know that I linted all conda-recipes in your PR ( |
Thanks! Is it possible to merge this? I don't really care about arm or osx builds and don't think they should really block the update. |
please be patient. your work on libheif is greatly appreciated but making the CIs fail is a form of technical dept that I am not willing to take on at this moment. Maybe you can open a PR to ensure that the architectures you do not care about do not require libheif and open an issue about this missing feature for then. Otherwise, please wait while their respective migrations go through. If you really need this package today, you can locally clone this repo and use the But to ensure that this package works with the rest of the ecosystem, we should really make all CIs pass, and build a working version of 8.14.1, even if certain features are missing. |
057acca
to
48b7ab4
Compare
Some flag like:
is appearing
|
Hi! This is the friendly automated conda-forge-linting service. I was trying to look for recipes to lint for you, but it appears we have a merge conflict. Please ping the 'conda-forge/core' team (using the @ notation in a comment) if you believe this is a bug. |
Hi! This is the friendly automated conda-forge-linting service. I just wanted to let you know that I linted all conda-recipes in your PR ( |
@conda-forge/gobject-introspection sorry for the ping, but i'm really struggling with using gobject introspection with meson + cross compilation. If you have time to look at the 3 cross compiled platforms, I think they are all failing from the same symptom. Thank you! |
@conda-forge-admin please restart cis |
@conda-forge/help-osx-arm64 @conda-forge/help-c-cpp this recipe requires g-ir-scanner which calls I had to seriously hacking around meson to get the correct g-ir-scanner to work, but I now get stuck on If you had any ideas on how to improve this, please let me know, it would be greatly appreciated. |
@conda-forge-admin please rerender |
…nda-forge-pinning 2023.04.06.12.28.58
ok the artifacts should be available from azure soon. |
The $ sha256sum *.gir
738af9432694ce02c34df891241168b4420af8f116f56640d82a6bc027aebc2f Vips-8.0-linux-64.gir
738af9432694ce02c34df891241168b4420af8f116f56640d82a6bc027aebc2f Vips-8.0-linux-aarch64.gir
738af9432694ce02c34df891241168b4420af8f116f56640d82a6bc027aebc2f Vips-8.0-linux-ppc64le.gir
8119e6286daecd0e36e76684039c1fa87f99c82437cd2009d7bc1531a42b95bc Vips-8.0-osx-64.gir
8119e6286daecd0e36e76684039c1fa87f99c82437cd2009d7bc1531a42b95bc Vips-8.0-osx-arm64.gir
$ sha256sum *.typelib
8491cb8cf7f7e40594aadeeaca2cc84fa343ac9e9e361e436c8fab3a460628f0 Vips-8.0-linux-64.typelib
8491cb8cf7f7e40594aadeeaca2cc84fa343ac9e9e361e436c8fab3a460628f0 Vips-8.0-linux-aarch64.typelib
8491cb8cf7f7e40594aadeeaca2cc84fa343ac9e9e361e436c8fab3a460628f0 Vips-8.0-linux-ppc64le.typelib
b022f9de5d30af31abcb9c8a5fab680d27436af8c49dcd4025a7d169a5537fcf Vips-8.0-osx-64.typelib
b022f9de5d30af31abcb9c8a5fab680d27436af8c49dcd4025a7d169a5537fcf Vips-8.0-osx-arm64.typelib And the only difference between Linux and macOS in the GIR file is the name of the shared library: --- a/Vips-8.0-osx-64.gir
+++ b/Vips-8.0-linux-64.gir
@@ -10,7 +10,7 @@ and/or use gtk-doc annotations. -->
<c:include name="vips/vips.h"/>
<namespace name="Vips"
version="8.0"
- shared-library="libvips.42.dylib"
+ shared-library="libvips.so.42"
c:identifier-prefixes="Vips"
c:symbol-prefixes="vips">
<alias name="ArgumentTable" c:type="VipsArgumentTable"> So, the gobject-introspection part of this PR looks good to me. |
That's great. I'm going to disable tests on aarch since I think they are failing due to emulation. |
recipe/build.sh
Outdated
if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" != "1" || "${CROSSCOMPILING_EMULATOR}" != "" ]]; then | ||
if [[ "${target_platform}" != "linux-ppc64le" ]]; then | ||
make check || (cat test/test-suite.log && echo "ERROR: make check failed, see above" && exit 1) | ||
ninja -C build test --timeout-multiplier 0 || (cat test/test-suite.log && echo "ERROR: make check failed, see above" && exit 1) |
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.
ninja -C build test --timeout-multiplier 0 || (cat test/test-suite.log && echo "ERROR: make check failed, see above" && exit 1) | |
meson test -C build --timeout-multiplier 0 |
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.
Is the cat test/test-suite.log correct? or should it be cat build/test/test-suite.log
?
Thank you for helping with the meson transition.... definitely new to me.
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.
Is the cat test/test-suite.log correct? or should it be
cat build/test/test-suite.log
?
Ah, indeed, that looks like a remnant of the previous Autotools build.
Test logs are stored in build/meson-logs/testlog.txt
, but it's probably unnecessary to output that whole file on failure. I've updated my suggestion.
Co-authored-by: Kleis Auke Wolthuizen <github@kleisauke.nl>
Co-authored-by: Kleis Auke Wolthuizen <github@kleisauke.nl>
Co-authored-by: Kleis Auke Wolthuizen <github@kleisauke.nl>
@conda-forge-admin please rerender |
…nda-forge-pinning 2023.04.07.12.23.44
if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then | ||
# We need the full gojbect-introspection to be installed in | ||
# the host environment, but we want to use the build executables | ||
# meson will look for this file as a dependency, but we want it to use | ||
# the build tools, not the host ones | ||
# https://github.com/conda-forge/gobject-introspection-feedstock/issues/64 | ||
# g-ir-scanner has a few hardcoded constants that we need to use the | ||
# the build version for during cross compilation | ||
# https://gitlab.gnome.org/GNOME/gobject-introspection/-/blob/main/tools/g-ir-tool-template.in#L58 | ||
# rm -f ${PREFIX}/bin/g-ir-scanner | ||
# ln -s ${BUILD_PREFIX}/bin/g-ir-scanner ${PREFIX}/bin/g-ir-scanner | ||
|
||
# Without removing giscanner from lib, it seems to find from the host on OSX | ||
# rm -rf ${PREFIX}/lib/gobject-introspection/giscanner/ | ||
|
||
# Is there a better way to use ldd for cross compilation?? | ||
if [[ "${target_platform}" == linux-* ]]; then | ||
# https://github.com/conda-forge/ctng-compilers-feedstock/issues/110 | ||
|
||
# Is there a better way to specify a cross compilation ldd | ||
# gobject-introspection knows that this is hard. | ||
# they either suggest passing in an ldd wrapper, or ensuring that | ||
# the path is setup such that the first ldd found is the optimal one | ||
# We choose the second strategy | ||
cp ${CONDA_BUILD_SYSROOT}/usr/bin/ldd ${BUILD_PREFIX}/bin/ldd | ||
|
||
# On ppc64le it is specified as two things, so we have to augment both | ||
sed -i "/^RTLDLIST/s,/lib/,${CONDA_BUILD_SYSROOT}/lib/," ${BUILD_PREFIX}/bin/ldd | ||
sed -i "/^RTLDLIST/s,/lib64/,${CONDA_BUILD_SYSROOT}/lib64/," ${BUILD_PREFIX}/bin/ldd | ||
fi | ||
fi | ||
|
||
# Allow pkg-config to find gobject-introspection from the build tools | ||
# https://gitlab.gnome.org/GNOME/gobject-introspection/-/issues/462 | ||
export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:$BUILD_PREFIX/lib/pkgconfig" |
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.
Perhaps this can be simplified to:
if [[ "${CONDA_BUILD_CROSS_COMPILATION:-}" == "1" ]]; then | |
# We need the full gojbect-introspection to be installed in | |
# the host environment, but we want to use the build executables | |
# meson will look for this file as a dependency, but we want it to use | |
# the build tools, not the host ones | |
# https://github.com/conda-forge/gobject-introspection-feedstock/issues/64 | |
# g-ir-scanner has a few hardcoded constants that we need to use the | |
# the build version for during cross compilation | |
# https://gitlab.gnome.org/GNOME/gobject-introspection/-/blob/main/tools/g-ir-tool-template.in#L58 | |
# rm -f ${PREFIX}/bin/g-ir-scanner | |
# ln -s ${BUILD_PREFIX}/bin/g-ir-scanner ${PREFIX}/bin/g-ir-scanner | |
# Without removing giscanner from lib, it seems to find from the host on OSX | |
# rm -rf ${PREFIX}/lib/gobject-introspection/giscanner/ | |
# Is there a better way to use ldd for cross compilation?? | |
if [[ "${target_platform}" == linux-* ]]; then | |
# https://github.com/conda-forge/ctng-compilers-feedstock/issues/110 | |
# Is there a better way to specify a cross compilation ldd | |
# gobject-introspection knows that this is hard. | |
# they either suggest passing in an ldd wrapper, or ensuring that | |
# the path is setup such that the first ldd found is the optimal one | |
# We choose the second strategy | |
cp ${CONDA_BUILD_SYSROOT}/usr/bin/ldd ${BUILD_PREFIX}/bin/ldd | |
# On ppc64le it is specified as two things, so we have to augment both | |
sed -i "/^RTLDLIST/s,/lib/,${CONDA_BUILD_SYSROOT}/lib/," ${BUILD_PREFIX}/bin/ldd | |
sed -i "/^RTLDLIST/s,/lib64/,${CONDA_BUILD_SYSROOT}/lib64/," ${BUILD_PREFIX}/bin/ldd | |
fi | |
fi | |
# Allow pkg-config to find gobject-introspection from the build tools | |
# https://gitlab.gnome.org/GNOME/gobject-introspection/-/issues/462 | |
export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:$BUILD_PREFIX/lib/pkgconfig" | |
# get meson to find pkg-config when cross compiling | |
export PKG_CONFIG=$BUILD_PREFIX/bin/pkg-config | |
# need to find gobject-introspection-1.0 as a "native" (build) pkg-config dep | |
# meson uses PKG_CONFIG_PATH to search when not cross-compiling and | |
# PKG_CONFIG_PATH_FOR_BUILD when cross-compiling, | |
# so add the build prefix pkgconfig path to the appropriate variables | |
export PKG_CONFIG_PATH_FOR_BUILD=$BUILD_PREFIX/lib/pkgconfig | |
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:$BUILD_PREFIX/lib/pkgconfig |
(untested)
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.
Lets try it. I feel like the fewer comments, often the higher quality for my code.
let me know if you want to debug this more fully. I'm feeling like i've gone through this enough, that I would be OK to simply revert and move forward. |
I noticed that the So, that's probably why it's not a issue there. Perhaps we need to do something similar with this feedstock?:
Otherwise, feel free to re-add that |
Ah, I just noticed that the Pango feedstock fails in a similar way when cross-compiling - conda-forge/pango-feedstock#65. |
Yeah. Lol. That was me troubleshooting things. |
Co-authored-by: Kleis Auke Wolthuizen <github@kleisauke.nl>
Hi! This is the friendly conda-forge automerge bot! I considered the following status checks when analyzing this PR:
Thus the PR was passing and merged! Have a great day! |
Thank you all for your help! |
It is very likely that the current package version for this feedstock is out of date.
Checklist before merging this PR:
license_file
is packagedInformation about this PR:
@conda-forge-admin,
please add bot automerge
in the title and merge the resulting PR. This command will add our bot automerge feature to your feedstock.bot-rerun
label to this PR. The bot will close this PR and schedule another one. If you do not have permissions to add this label, you can use the phrase@conda-forge-admin, please rerun bot
in a PR comment to have theconda-forge-admin
add it for you.Dependency Analysis
Please note that this analysis is highly experimental. The aim here is to make maintenance easier by inspecting the package's dependencies. Importantly this analysis does not support optional dependencies, please double check those before making changes. If you do not want hinting of this kind ever please add
bot: inspection: false
to yourconda-forge.yml
. If you encounter issues with this feature please ping the bot teamconda-forge/bot
.Analysis by source code inspection shows a discrepancy between it and the the package's stated requirements in the meta.yaml.
Packages found by source code inspection but not in the meta.yaml:
This PR was created by the regro-cf-autotick-bot. The regro-cf-autotick-bot is a service to automatically track the dependency graph, migrate packages, and propose package version updates for conda-forge. Feel free to drop us a line if there are any issues! This PR was generated by https://github.com/regro/autotick-bot/actions/runs/3973413516, please use this URL for debugging.