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

Problem with using openresty nginx luajit #59

Open
maxibarano opened this issue Feb 27, 2024 · 0 comments
Open

Problem with using openresty nginx luajit #59

maxibarano opened this issue Feb 27, 2024 · 0 comments

Comments

@maxibarano
Copy link

maxibarano commented Feb 27, 2024

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.

@maxibarano maxibarano changed the title Problem with using openresty nginx luajit in openresty Problem with using openresty nginx luajit Feb 27, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant