Error in startup and update after updatate to ubuntu 24.04

Hi, after updating ubuntu to 24.04 from 23.10 I got this error when updating or starting Webodm:

01:00.0 VGA compatible controller: NVIDIA Corporation GA104M [GeForce RTX 3070 Mobile / Max-Q] (rev a1)
01:00.1 Audio device: NVIDIA Corporation GA104 High Definition Audio Controller (rev a1)
GPU_NVIDIA has been found
Checking for docker… OK
Checking for docker-compose… OK
docker-compose -f docker-compose.yml -f docker-compose.nodeodm.gpu.nvidia.yml -f docker-compose.nodemicmac.yml down --remove-orphans
Traceback (most recent call last):
File “/usr/lib/python3/dist-packages/docker/api/client.py”, line 214, in _retrieve_server_version
return self.version(api_version=False)[“ApiVersion”]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/lib/python3/dist-packages/docker/api/daemon.py”, line 181, in version
return self._result(self._get(url), json=True)
^^^^^^^^^^^^^^
File “/usr/lib/python3/dist-packages/docker/utils/decorators.py”, line 46, in inner
return f(self, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/lib/python3/dist-packages/docker/api/client.py”, line 237, in _get
return self.get(url, **self._set_request_timeout(kwargs))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/lib/python3/dist-packages/requests/sessions.py”, line 602, in get
return self.request(“GET”, url, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/lib/python3/dist-packages/requests/sessions.py”, line 589, in request
resp = self.send(prep, **send_kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/lib/python3/dist-packages/requests/sessions.py”, line 703, in send
r = adapter.send(request, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/lib/python3/dist-packages/requests/adapters.py”, line 486, in send
resp = conn.urlopen(
^^^^^^^^^^^^^
File “/usr/lib/python3/dist-packages/urllib3/connectionpool.py”, line 791, in urlopen
response = self._make_request(
^^^^^^^^^^^^^^^^^^^
File “/usr/lib/python3/dist-packages/urllib3/connectionpool.py”, line 497, in _make_request
conn.request(
TypeError: HTTPConnection.request() got an unexpected keyword argument ‘chunked’

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File “/usr/bin/docker-compose”, line 33, in
sys.exit(load_entry_point(‘docker-compose==1.29.2’, ‘console_scripts’, ‘docker-compose’)())
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/lib/python3/dist-packages/compose/cli/main.py”, line 81, in main
command_func()
File “/usr/lib/python3/dist-packages/compose/cli/main.py”, line 200, in perform_command
project = project_from_options(‘.’, options)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/lib/python3/dist-packages/compose/cli/command.py”, line 60, in project_from_options
return get_project(
^^^^^^^^^^^^
File “/usr/lib/python3/dist-packages/compose/cli/command.py”, line 152, in get_project
client = get_client(
^^^^^^^^^^^
File “/usr/lib/python3/dist-packages/compose/cli/docker_client.py”, line 41, in get_client
client = docker_client(
^^^^^^^^^^^^^^
File “/usr/lib/python3/dist-packages/compose/cli/docker_client.py”, line 170, in docker_client
client = APIClient(use_ssh_client=not use_paramiko_ssh, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/lib/python3/dist-packages/docker/api/client.py”, line 197, in init
self._version = self._retrieve_server_version()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/lib/python3/dist-packages/docker/api/client.py”, line 221, in _retrieve_server_version
raise DockerException(
docker.errors.DockerException: Error while fetching server API version: HTTPConnection.request() got an unexpected keyword argument ‘chunked’

I have tested docker compose as described here Docker Compose Quickstart | Docker Docs and evething seems ok.

From the research I have made on the web it seems it’s a problem with request and urllib, but I don’t know how to fix.
Thanks for the help

1 Like

what happens is that the python libraries ‘urllib’ and ’ requests’ are not compatible with the docker image. uninstall those two libraries via sinaptic, then run “./webodm.sh start” so that the docker image downloads its own libraries as dependencies. or you can force the libraries in the required version with: pip3 install --force-reinstall ‘requests<2.29.0’ ‘urllib3<2.0’

1 Like

Hi, I’m experiencing this exact same problem but with a new EC2 24.04 instance. What directory do I need to be in to run the command above? In the root and in /WebODM I get the message: No such file or directory. Thanks!

This seems like a dependency problem between docker (api client, called by compose?) python code and the Python version installed in the machine.

Additional information is needed, and surely this can be relevant in some docker community place.

I would try to upgrade docker, or downgrade Python, maybe in a conda environment. If in the machine, i would use aptitude to that.

# Start with a safe upgrade to break the ice
sudo apt update
sudo apt install aptitude
sudo aptitude safe-upgrade
1 Like

sudo aptitude install python3-pip

1 Like

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.