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

Heroku-24 support #11

Open
brian-kephart opened this issue Jul 9, 2024 · 3 comments
Open

Heroku-24 support #11

brian-kephart opened this issue Jul 9, 2024 · 3 comments
Assignees
Labels
bug Something isn't working

Comments

@brian-kephart
Copy link

This buildpack does not work on the new heroku-24 stack. I did note that the new stack seems to have reasonable versions of the supporting libraries preinstalled (see here). However, my attempts to recompile imagemagick in my fork of this buildpack all failed to produce a working version, whether using the current versions in this buildpack, upgraded ones, or the versions preinstalled on the new stack.

@QingGuo123
Copy link

Hey Brian, have you already found a way to complie imagemagick on heroku-24 stack?

@brian-kephart
Copy link
Author

I got it to compile, but I still saw errors when trying to process HEIC and AVIF files in a real app.

Libheif changed the build system in 1.16.0. Newer versions also contain a libaom install script, so that can be managed in the libheif installation instead of separately. These instructions will compile newer libheif with aom, but for reasons I haven't figured out the resulting buildpack still doesn't work.

RUN curl -sSL --retry 3 https://github.com/strukturag/libheif/releases/download/v$COMPILE_VERSION_LIBHEIF/libheif-$COMPILE_VERSION_LIBHEIF.tar.gz | tar zx
WORKDIR /libheif-$COMPILE_VERSION_LIBHEIF/third-party
RUN chmod +x aom.cmd
RUN ./aom.cmd
# https://github.com/strukturag/libheif/blob/e8b33b2359d6fa5100e3890af089f954a2cb59ae/third-party/aom.cmd#L24-L25
RUN export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:$(pwd)/aom/dist/lib/pkgconfig
WORKDIR /libheif-$COMPILE_VERSION_LIBHEIF/build
RUN cmake --preset=release-noplugins ..
RUN make -j$(nproc)
RUN make install
RUN ldconfig /usr/local/lib
WORKDIR /

Let me know if you have any other questions about things I tried.

You can also review my Dockerfile. Most of it is commented out because the last thing I tried was recompiling imagemagick without compiling the supporting libraries, hoping it would use the ones included in the stack, but uncommenting the lines will produce a version of the buildpack that compiles.

@navidemad
Copy link
Collaborator

Thanks for the issue, i will looking into your issue and try on a dummy application on stack 24.

@navidemad navidemad added the bug Something isn't working label Jul 17, 2024
@navidemad navidemad self-assigned this Jul 17, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants