8000 Problem with using openresty nginx luajit · Issue #59 · libvips/lua-vips · GitHub
[go: up one dir, main page]

Skip to content
Problem with using openresty nginx luajit #59
Open
@maxibarano

Description

@maxibarano

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      0