Skip to content
GitLab
Projects Groups Topics Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Register
  • Sign in
  • ivatar ivatar
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
  • Issues 2
    • Issues 2
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Artifacts
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Container Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Oliver Falk
  • ivatarivatar
  • Merge requests
  • !208

docs: add debian prerequisites

  • Review changes

  • Download
  • Patches
  • Plain diff
Merged Seth Falco requested to merge Seth/ivatar:debian-instructions into devel Jul 16, 2022
  • Overview 1
  • Commits 1
  • Pipelines 1
  • Changes 1
  • Fixed a typo Prequisits → Prerequisites
  • Add prerequisites for running on Debian.
  • Install pillow before installing other dependencies

Issues During Development

mysqlclient

mysqlclient requires either the mariadb_config command or mysql_config command be available.

    /bin/sh: 1: mysql_config: not found
    /bin/sh: 1: mariadb_config: not found

This is why libmariadb-dev is in the prerequisites for Debian.

Easiest solution is to just install libmariadb-dev since this is available in the default repos.

python-ldap

python-ldap requires some headers that come from libldap2-dev and libsasl2-dev.

Modules/common.h:15:10: fatal error: lber.h: No such file or directory
     15 | #include <lber.h>
        |          ^~~~~~~~
  compilation terminated.
  error: command '/usr/bin/x86_64-linux-gnu-gcc' failed with exit code 1
  ----------------------------------------
  ERROR: Failed building wheel for python-ldap
  Modules/LDAPObject.c:16:10: fatal error: sasl/sasl.h: No such file or directory
     16 | #include <sasl/sasl.h>
        |          ^~~~~~~~~~~~~
  compilation terminated.
  error: command '/usr/bin/x86_64-linux-gnu-gcc' failed with exit code 1
  ----------------------------------------
  ERROR: Failed building wheel for python-ldap

This is why libldap2-dev and libsasl2-dev are in the prerequisites for Debian.

Identicons

While install dependencies, Identicons expects Pillow to be installed already.

    ERROR: Command errored out with exit status 1:
     command: /ivatar/.virtualenv/bin/python -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-req-build-cr5_wd28/setup.py'"'"'; __file__='"'"'/tmp/pip-req-build-cr5_wd28/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /tmp/pip-pip-egg-info-cehahb5b
         cwd: /tmp/pip-req-build-cr5_wd28/
    Complete output (7 lines):
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/pip-req-build-cr5_wd28/setup.py", line 4, in <module>
        import Identicon
      File "/tmp/pip-req-build-cr5_wd28/Identicon/__init__.py", line 6, in <module>
        from PIL import Image, ImageDraw
    ModuleNotFoundError: No module named 'PIL'

So I moved the command to install pillow to be before installing dependencies.


I actually ran into more problems, but maybe they were my fault. 🤔
I ran a Debian Docker container to verify if end-to-end this is enough to get the project going, and it works perfectly fine. You can easily test this by spinning up a Debian container yourself!

On my host machine, I had issues with use_2to3 not being available, and for some reason, I had to dive into .virtualenv/lib/python3.9/site-packages/pagan directory and replace any imports for pagan with from pagan import xyz, otherwise the modules would fail to resolve. 🤔
Neither of those issues happened on the container though, so maybe I just did something stupid. ^-^'

Edited Jul 16, 2022 by Seth Falco
Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: debian-instructions