I was trying to make a python function for renderering a pdf with weasyprint. Because appwrite uses alpine images I added following lines to the build settings:
apk add --no-cache weasyprint
pip install --no-cache-dir --upgrade pip && \
pip install --no-cache-dir -r requirements.txt
In a local docker env everything works well, but appwrite does not find the library when trying to execute the function: OSError: cannot load library 'libgobject-2.0-0': Error loading shared library libgobject-2.0-0: No such file or directory. Additionally, ctypes.util.find_library() did not manage to locate a library called 'libgobject-2.0-0'
Additionally, I wanted to ask if this: return context.res.binary(io.BytesIO(rendered_pdf), 200, { "Content-Type": "application/pdf" }) would be the right return type of the main function? Because I didn't find any docs of the .binary function. Thanks 😄
I think this because the directory that apk add installs to is not the directory that is cloned into the vm that spins up for the function.
I had a similar issue with trying to install chrome, but I don't remember exacty what directory is the right one. Sorry /:
So you installed chrome in a different dir?
Somebody got an idea of what to do??
Yea... if I remember correctly there is a directory that gets copied to the vm that spins up for the function, but I don't remember the directory and I don't have access to my self hosted instance rn to check.
Though that was a long time ago and functions have been through various revisions since then
Someone else might have better insight, but here was the issue I was having while trying to frontload chromium.
https://discord.com/channels/564160730845151244/1152721465356066897/1157120187384991874
I ended up having to install it each time the function cold starts. They could be non-related at all, but that's the issue I was getting when trying to install something using the apline package manager.
Recommended threads
- RowList: The value of total is coming as...
RowList: The value of total is coming as a String, so it throws an error because it’s not parsed into an int. Error: TypeError: \"37\": type 'String' is not a ...
- 408 Timeout / Curl Error 7 in Executor w...
Hey everyone, I am losing my mind over a routing loop/timeout issue on a fresh self-hosted setup. I have a single Linux VPS (IP: 45.141.37.105) and one domain (...
- functions returning error 401 in local
I updated to 1.9.0, and the functions that used to work fine in 1.8.1 are now giving me a 401 error. I can't seem to find a solution. If anyone is running versi...