kanishka-linux / reminiscence

Self-Hosted Bookmark And Archive Manager

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

building docker image on armv7l architecture (raspberrypi) fails

s3h10r opened this issue · comments

running sudo docker-compose up --build on a raspberryPi fails with errors:

...
The following packages have unmet dependencies:
 wkhtmltox:amd64 : Depends: libc6:amd64 but it is not installable
                   Depends: libfreetype6:amd64 but it is not installable
                   Depends: libjpeg62-turbo:amd64 but it is not installable
                   Depends: libpng16-16:amd64 but it is not installable
                   Depends: libssl1.1:amd64 but it is not installable
                   Depends: libstdc++6:amd64 but it is not installable
                   Depends: libx11-6:amd64 but it is not installable
                   Depends: libxcb1:amd64 but it is not installable
                   Depends: libxext6:amd64 but it is not installable
                   Depends: libxrender1:amd64 but it is not installable
                   Depends: zlib1g:amd64 but it is not installable
E: Unable to correct problems, you have held broken packages.
...
  Downloading psycopg2-2.7.5.tar.gz (426 kB)
    ERROR: Command errored out with exit status 1:
     command: /usr/local/bin/python -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-nqdq_4ug/psycopg2/setup.py'"'"'; __file__='"'"'/tmp/pip-install-nqdq_4ug/psycopg2/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-install-nqdq_4ug/psycopg2/pip-egg-info
         cwd: /tmp/pip-install-nqdq_4ug/psycopg2/
    Complete output (23 lines):
    running egg_info
    creating /tmp/pip-install-nqdq_4ug/psycopg2/pip-egg-info/psycopg2.egg-info
    writing /tmp/pip-install-nqdq_4ug/psycopg2/pip-egg-info/psycopg2.egg-info/PKG-INFO    writing dependency_links to /tmp/pip-install-nqdq_4ug/psycopg2/pip-egg-info/psycopg2.egg-info/dependency_links.txt
    writing top-level names to /tmp/pip-install-nqdq_4ug/psycopg2/pip-egg-info/psycopg2.egg-info/top_level.txt
    writing manifest file '/tmp/pip-install-nqdq_4ug/psycopg2/pip-egg-info/psycopg2.egg-info/SOURCES.txt'

    Error: pg_config executable not found.

    pg_config is required to build psycopg2 from source.  Please add the directory
    containing pg_config to the $PATH or specify the full executable path with the
    option:

        python setup.py build_ext --pg-config /path/to/pg_config build ...

    or with the pg_config option in 'setup.cfg'.

    If you prefer to avoid building psycopg2 from source, please install the PyPI
    'psycopg2-binary' package instead.

Seems to be caused by:

  • the hard-wired amd64-arch package wkhtmltox_0.12.5-1.stretch_amd64.deb
  • installation of most pip packages fails on armv7l because
    it leads to building packages from source which the dependencies
    for are missing

I try solving this by adding a suiting Dockerfile.armv7l where this issues are adressed by installing https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.5/wkhtmltox_0.12.5-1.raspbian.stretch_armhf.deb instead (works) + the dependencies for building the package in requirements.txt (lxml==4.2.4 troubles me at the moment, doesn't work :/) relying on sudo apt-get build-dep python3-libxml2 etc. ...

has anybody a better solution for this already before i invest more time?

Greetings,
Sven.

commented

I've never tried reminiscence on RPi, so thanks for testing reminiscence on it. And yes, installing dependencies can be a bit problematic from platform to platform. That's why you should make changes according to what may deem fit for your use case. If changing version number and installing some other package solves your problem then you should go ahead with it.

Okidoki, i'm quite happy with reminiscence on the RPi. Thx for your awesome work! :)