-
Notifications
You must be signed in to change notification settings - Fork 26
Could not initialize class org.duckdb.DuckDBNative #1
Comments
Hello, thanks for feedback, i am working on issue from time to time :) |
Yes, the problem in the Alpine image of Metabase. The DuckDB embeds the icu lib. ICU requeres the glibc pthread lib (not the musl pthread lib installed in the Alpine by default). I tried to install different versions of the glibc library to the Metabase Alpine image but there is some issues with anyway. Until 2.32-r0 version of the glibc, there is the std::system_error in the icu std::call_once call. I this this is the same error as in microsoft/ClearScript#331. Starting from 2.33-r0 version of glibc there is "Error relocating /lib/ld-linux-x86-64.so.2: unsupported relocation type 37" error. So, instead of digging into all of this issues i just created a Ubuntu based image of Metabase and added DuckDB plugin. Please see Docker section of README.md |
@AlexR2D2 is the script still working for you? For me it is stuck. Or.. how long should it take? I've been waiting for 2 hours and it seems stalled on the below line And I really appreciate that the build script was created in the first place. I'm on a Mac M1 if that matters. But am using the
|
@peralmq yet it still works in my mac. It takes around 20 minutes to build from scratch (2,5 GHz Quad-Core Intel Core i7, 16 GB 1600 MHz DDR3). But there were a couple of times it hanging too. I pushed my image to docker hub, so you can try the follow:
metabase_duckdb_driver $ mkdir target
metabase_duckdb_driver $ wget -P target https://github.com/AlexR2D2/metabase_duckdb_driver/releases/download/0.1.6/duckdb.metabase-driver.jar
metabase_duckdb_driver $ docker build -t metabase_duckdb -f docker/Dockerfile . |
Thanks so much for publishing it to DockerHub, it works! 🙏 I skipped the separate downloading of the plugin and just did it all in the Dockerfile
OK, I tried and retried to build it on this M1 Pro and it always stalled on the same place.. must be something with the CPU architecture, I find it to be a source of difficulty still when building docker images. |
Hi, any news about this? Is there a workaround to fix it?
and after this, I cannot understand what happen. UPDATE |
Hi, did you try the native DuckDB binary in Alpine? |
Hi @AlexR2D2 Thank you for reaching out. I haven't tried the native DuckDB binary in Alpine yet. Could you provide me with more details on how to proceed? Currently, I have a pod based on Alpine that needs to utilize DuckDB. The pod is launched using the command "java -cp ". Could you please guide me on how to test the DuckDB binary within this setup? Thanks a lot! Gianluca |
The idea is to check if the native DuckDB binary works in Alpine or not. You can check this using docker image of Alpine. Most likely the DuckDB will not work there. Because DuckDB embeds the icu lib requeres the glibc pthread lib (not the musl pthread lib installed in the Alpine by default). If so you can't get metabase_duckdb_driver working in Alpine |
@AlexR2D2 Thanks a lot for your help |
Hi, thank you for this wonderful driver. Unfortunately, I am unable to install it into the official Docker image. I have tried following Dockerfile:
But when I try to create a DuckDB database connection, I get the following error:
Not sure if the problem is the Alpine base image of Metabase.
The text was updated successfully, but these errors were encountered: