Description
Hello, I'm trying to run hello world example in nginx configuration
location = /lua {
content_by_lua '
local vips = require "vips"
local image1 = vips.Image.text("Hello <i>World!</i>", { dpi = 300 })
print("writing to x.png ...")
image1:write_to_file("x.png")
';
}
My Dockerfile
FROM openresty/openresty:alpine
RUN adduser -D -H -s /sbin/nologin nginx
RUN apk add --no-cache wget luarocks gd-dev vips-dev vips-tools make pango-dev
RUN curl -fSL https://luarocks.github.io/luarocks/releases/luarocks-3.9.2.tar.gz -o luarocks-3.9.2.tar.gz \
&& tar xzf luarocks-3.9.2.tar.gz \
&& cd luarocks-3.9.2 \
&& ./configure \
--prefix=/usr/local/openresty/luajit \
--with-lua=/usr/local/openresty/luajit \
--lua-suffix=jit-2.1.0-beta3 \
--with-lua-include=/usr/local/openresty/luajit/include/luajit-2.1 \
&& make build \
&& make install \
&& rm -rf luarocks-3.9.2 luarocks-3.9.2.tar.gz
RUN luarocks install lua-vips
COPY ./docker/nginx/nginx.conf /usr/local/openresty/nginx/conf/nginx.conf
COPY ./docker/nginx/conf.d/ /usr/local/openresty/nginx/conf/conf.d
COPY ./docker/nginx/test-upload.jpeg /
When I run the code it gives an error:
2024/02/27 06:52:12 [error] 9#9: *4 lua entry thread aborted: runtime error: ...local/openresty/luajit/share/lua/5.1/vips/voperation.lua:230: unable to call text
stack traceback:
coroutine 0:
[C]: in function 'error'
...local/openresty/luajit/share/lua/5.1/vips/voperation.lua:230: in function 'text'
content_by_lua(nginx.conf:176):7: in main chunk, client: 172.21.0.1, server: , request: "GET /lua HTTP/1.1", host: "localhost:56442"
When i try to use jpeg file i'll get another error:
/ # luajit
LuaJIT 2.1.ROLLING -- Copyright (C) 2005-2023 Mike Pall. https://luajit.org/
JIT: ON fold cse dce fwd dse narrow loop abc sink fuse
> vips = require 'vips'
> base = vips.Image.new_from_file("test-upload.jpeg")
...local/openresty/luajit/share/lua/5.1/vips/voperation.lua:230: unable to call VipsForeignLoadJpegFile
stack traceback:
[C]: in function 'error'
...local/openresty/luajit/share/lua/5.1/vips/voperation.lua:230: in function 'new_from_file'
stdin:1: in main chunk
[C]: at 0xaaaae7978c04
Vips config
/ # vips --vips-config
enable debug: false
enable deprecated: true
enable modules: true
enable cplusplus: true
enable RAD load/save: true
enable Analyze7 load/save: true
enable PPM load/save: true
enable GIF load: true
use fftw for FFTs: true
SIMD support with highway: true
accelerate loops with ORC: false
ICC profile support with lcms: true
zlib: true
text rendering with pangocairo: true
font file support with fontconfig: true
EXIF metadata support with libexif: true
JPEG load/save with libjpeg: true
JXL load/save with libjxl: true (dynamic module: true)
JPEG2000 load/save with OpenJPEG: true
PNG load/save with libspng: true
PNG load/save with libpng: false
selected quantisation package: imagequant
TIFF load/save with libtiff: true
image pyramid save with libarchive: false
HEIC/AVIF load/save with libheif: true (dynamic module: true)
WebP load/save with libwebp: true
PDF load with PDFium: false
PDF load with poppler-glib: true (dynamic module: true)
SVG load with librsvg: true
EXR load with OpenEXR: true
OpenSlide load: false (dynamic module: false)
Matlab load with libmatio: false
NIfTI load/save with niftiio: false
FITS load/save with cfitsio: true
GIF save with cgif: true
selected Magick package: MagickCore (dynamic module: true)
Magick API version: magick7
Magick load: true
Magick save: true
Vips version
/ # vips -v
vips-8.15.0
I'll run it in docker on macbook m1.
Maybe I forgot to configure something?
The problem looks similar to the one described here #49
Any help would be appreciated, thanks.