Skip to content

cant import library due to FIPS issue in databricks container #831

@joaquinjimenezlopezdecastro-tomtom

Description

What language are you using?

Python.

What version are you using?

3.12.11, connectorx 0.4.3

What database are you using?

PostgreSQL, but irrelevant

What dataframe are you using?

Polars, but irrelevant

Can you describe your bug?

Importing connectorx in a docker image built from databricksruntime/minimal:16.4-LTS (dockerfile here: https://github.com/databricks/containers/blob/master/ubuntu/minimal/Dockerfile) gives a FIPS SSL error:

import connectorx
crypto/fips/fips.c:154: OpenSSL internal error: FATAL FIPS SELFTEST FAILURE

This causes the program to abort.

What are the steps to reproduce the behavior?

Just trying to build this image shows the error for me:

# minimal.Dockerfile
FROM databricksruntime/minimal:16.4-LTS

RUN apt-get update && apt-get install -y git wget curl
ADD https://astral.sh/uv/install.sh /uv-installer.sh
RUN sh /uv-installer.sh

# Ensure the installed binary is on the `PATH`
ENV PATH="/root/.local/bin/:$PATH"

RUN uv venv
RUN uv pip install connectorx
RUN uv run python -c "import connectorx"
docker build -t myimage:latest -f minimal.Dockerfile .
[+] Building 13.5s (11/11) FINISHED                                                                                                                                                     docker:default
 => [internal] load build definition from minimal.Dockerfile                                                                                                                                      0.0s
 => => transferring dockerfile: 386B                                                                                                                                                              0.0s
 => [internal] load metadata for docker.io/databricksruntime/minimal:16.4-LTS                                                                                                                     0.5s
 => [internal] load .dockerignore                                                                                                                                                                 0.0s
 => => transferring context: 2B                                                                                                                                                                   0.0s
 => [1/7] FROM docker.io/databricksruntime/minimal:16.4-LTS@sha256:d1092be719617a6a89cc343fc75ef69936944737f3315315a56ad09e908cfe22                                                               0.0s
 => => resolve docker.io/databricksruntime/minimal:16.4-LTS@sha256:d1092be719617a6a89cc343fc75ef69936944737f3315315a56ad09e908cfe22                                                               0.0s
 => [3/7] ADD https://astral.sh/uv/install.sh /uv-installer.sh                                                                                                                                    0.1s
 => CACHED [2/7] RUN apt-get update && apt-get install -y git wget curl                                                                                                                           0.0s
 => CACHED [3/7] ADD https://astral.sh/uv/install.sh /uv-installer.sh                                                                                                                             0.0s
 => CACHED [4/7] RUN sh /uv-installer.sh                                                                                                                                                          0.0s
 => [5/7] RUN uv venv                                                                                                                                                                             6.0s
 => [6/7] RUN uv pip install connectorx                                                                                                                                                           6.3s
 => ERROR [7/7] RUN uv run python -c "import connectorx"                                                                                                                                          0.5s 
------
 > [7/7] RUN uv run python -c "import connectorx":
0.482 crypto/fips/fips.c:154: OpenSSL internal error: FATAL FIPS SELFTEST FAILURE
------

 1 warning found (use docker --debug to expand):
 - InvalidBaseImagePlatform: Base image databricksruntime/minimal:16.4-LTS was pulled with platform "linux/amd64", expected "linux/arm64" for current build (line 1)
minimal.Dockerfile:12
--------------------
  10 |     RUN uv venv
  11 |     RUN uv pip install connectorx
  12 | >>> RUN uv run python -c "import connectorx"
--------------------
ERROR: failed to build: failed to solve: process "/bin/sh -c uv run python -c \"import connectorx\"" did not complete successfully: exit code: 134
Database setup if the error only happens on specific data or data type

N/A

Example query / code

N/A

What is the error?

Shown above

Let me know if I can help with anything else, thank you for the awesome work of this repo

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions