Building Docker Package
Jay and I tried installing the package from the source files (aisdb-1.3.46) using Docker. We had a few problems in the process, and even after building the package successfully, we haven't been able to install the package from the wheels file due to a version mismatch.
System Information:
- Gabriel: PopOS! 22.04 - Kernel: Linux 5.17.5-76051705-generic #202204271406~1653440576~20.04~6277a18~dev-Ubuntu SMP PREEMPT Th x86_64 x86_64 x86_64 GNU/Linux; and,
- Jay: Ubuntu 18.04.06 LTS - Kernel: Linux 5.10.16.3-microsoft-standard-WSL2 #1 SMP Fri Apr 2 22:23:49 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux.
Steps we followed:
- Both of us are running Conda virtual envs. (specs at the end);
- We installed docker-compose from the APT repository;
- Then, we got an error while building due to a mismatched version of the docker-compose file, which is 3.9 and seems to support from 2.2 to 3.3;
- Changing that manually in the file didn't help, even having installed the last docker version (Docker version 20.10.14, build a224086349);
- Then we purged the docker installation and tried to install it from the SNAP package manager;
- I got it installed and working, but Jay couldn't. In this case probably because SNAP is better supported in newer Ubuntu releases.
- Using the Docker from SNAP, the error was gone, and the package was built after installing rust manually (from the website .sh file) and pysqlite3 on conda and python-SQLite libsqlite3-dev system-wide using APT.
- The wheels file could not be installed due to the following installation errors:
- ERROR: aisdb-1.3.45-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl is not a supported wheel on this platform.
- Note that we are building version 1.3.46 and we got 1.3.45 from Docker.
- Jay and I purged the files again and installed the docker-engine (last version) from the official website.
- We started getting the version mismatch error again.
Workaround:
- Clone the repository from git;
- Install from pip install. (without the editable tag due to failing to build);
- The package will complain about missing dependencies.
- Each problematic package was re-installed from the available website and APT sources.
- After this, the AISDB works for me but still does not work for Jay.
Errors from Jay's build:
This one was fixed:
This one also:
This is the current issue:
Jay's venv details: conda-jay.txt
Gabriel's venv details: conda-gabriel.txt
Comments about the docs:
- There are no details about the docker installation, which could have helped avoid the previous problems we reported in the "installing from the source" section.
- The command for installing the package from the source uses version 1.2.0, so the command is not for copy-paste; maybe using a generic string and highlighting fields that might change will make things easier for the user.
- Lastly, there might be a way to adapt the manylinux2014 target. If so, that would be very beneficial to some users.