mozilla-services / syncserver

Run-Your-Own Firefox Sync Server
Mozilla Public License 2.0
1.87k stars 145 forks source link

Installation on Raspberry Pi2 failing - mariadb_config: not found #284

Open KanteTaete opened 3 years ago

KanteTaete commented 3 years ago

Hello all, I tried to install the syncserver on a Raspberry Pi2 with Raspbian OS with the latest updates (sudo apt-get update && sudo apt-get upgrade). Unfortunately, the make build fails with an error messages (see the complete output below). Furthermore, before another error ocured and I had to install the packet libffi-dev manually as it's not available by default. Maybe this requirement should be added to the installation manual.

Complete installation output:
```
make build
# Install the latest Python 2 compatible setuptools manually:
# https://github.com/mozilla-services/syncserver/issues/239
`which python2 python2.7 python | head -n 1` -m virtualenv --python=`which python2 python2.7 python | head -n 1` ./local --no-setuptools
Already using interpreter /usr/bin/python2
New python executable in /home/pi/syncserver/local/bin/python2
Not overwriting existing python script /home/pi/syncserver/local/bin/python (you must use /home/pi/syncserver/local/bin/python2)
Installing pip, wheel...done.
CFLAGS="-Wno-error -Wno-error=format-security" ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future ./local/bin/pip install -U "setuptools<45"
DEPRECATION: Python 2.7 reached the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 is no longer maintained. pip 21.0 will drop support for Python 2.7 in January 2021. More details about Python 2 support in pip can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support pip 21.0 will remove support for this functionality.
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Requirement already up-to-date: setuptools<45 in ./local/lib/python2.7/site-packages (44.1.1)
CFLAGS="-Wno-error -Wno-error=format-security" ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future ./local/bin/pip install -r requirements.txt
DEPRECATION: Python 2.7 reached the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 is no longer maintained. pip 21.0 will drop support for Python 2.7 in January 2021. More details about Python 2 support in pip can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support pip 21.0 will remove support for this functionality.
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Collecting https://github.com/mozilla-services/tokenserver/archive/bf5f232ed78fb4eb89909ec5be40f135945aa514.zip (from -r requirements.txt (line 17))
  Using cached https://github.com/mozilla-services/tokenserver/archive/bf5f232ed78fb4eb89909ec5be40f135945aa514.zip
Collecting https://github.com/mozilla-services/server-syncstorage/archive/d370a488155adeb80ee6f1bc016a4aa9d009f181.zip (from -r requirements.txt (line 18))
  Using cached https://github.com/mozilla-services/server-syncstorage/archive/d370a488155adeb80ee6f1bc016a4aa9d009f181.zip
Collecting gevent==1.4.0
  Using cached gevent-1.4.0.tar.gz (5.2 MB)
Collecting greenlet==0.4.14
  Using cached greenlet-0.4.14.tar.gz (59 kB)
Collecting cornice==0.16.2
  Using cached cornice-0.16.2.tar.gz (45 kB)
Collecting gunicorn==19.10.0
  Using cached gunicorn-19.10.0-py2.py3-none-any.whl (113 kB)
Collecting pyramid==1.10.4
  Using cached pyramid-1.10.4-py2.py3-none-any.whl (325 kB)
Collecting WebOb==1.8.5
  Using cached WebOb-1.8.5-py2.py3-none-any.whl (113 kB)
Collecting requests==2.22.0
  Using cached requests-2.22.0-py2.py3-none-any.whl (57 kB)
Collecting SQLAlchemy==1.3.3
  Using cached SQLAlchemy-1.3.3.tar.gz (5.9 MB)
Collecting unittest2==1.1
  Using cached unittest2-1.1.0-py2.py3-none-any.whl (96 kB)
Collecting zope.component==4.2.1
  Using cached zope.component-4.2.1.tar.gz (462 kB)
Collecting configparser==3.7.4
  Using cached configparser-3.7.4-py2.py3-none-any.whl (22 kB)
Collecting mozsvc==0.10
  Using cached mozsvc-0.10.tar.gz (38 kB)
Collecting futures==3.2
  Using cached futures-3.2.0-py2-none-any.whl (15 kB)
Collecting soupsieve==1.9.5
  Using cached soupsieve-1.9.5-py2.py3-none-any.whl (33 kB)
Collecting umemcache==1.6.3
  Using cached umemcache-1.6.3.zip (26 kB)
Collecting google-cloud-spanner==1.18.0
  Using cached google_cloud_spanner-1.18.0-py2.py3-none-any.whl (255 kB)
Collecting alembic==1.0.9
  Using cached https://www.piwheels.org/simple/alembic/alembic-1.0.9-py2.py3-none-any.whl (162 kB)
Collecting asn1crypto==0.24.0
  Using cached asn1crypto-0.24.0-py2.py3-none-any.whl (101 kB)
Collecting boto==2.49.0
  Using cached boto-2.49.0-py2.py3-none-any.whl (1.4 MB)
Collecting certifi==2019.3.9
  Using cached certifi-2019.3.9-py2.py3-none-any.whl (158 kB)
Collecting chardet==3.0.4
  Using cached chardet-3.0.4-py2.py3-none-any.whl (133 kB)
Collecting cryptography==2.6.1
  Using cached cryptography-2.6.1.tar.gz (491 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
    Preparing wheel metadata ... done
Collecting enum34==1.1.6
  Using cached enum34-1.1.6-py2-none-any.whl (12 kB)
Collecting hawkauthlib==2.0.0
  Using cached hawkauthlib-2.0.0-py2.py3-none-any.whl (32 kB)
Collecting hupper==1.6.1
  Using cached hupper-1.6.1-py2.py3-none-any.whl (23 kB)
Collecting idna==2.8
  Using cached idna-2.8-py2.py3-none-any.whl (58 kB)
Collecting ipaddress==1.0.22
  Using cached ipaddress-1.0.22-py2.py3-none-any.whl (18 kB)
Collecting konfig==1.1
  Using cached konfig-1.1.tar.gz (9.0 kB)
Collecting Mako==1.0.9
  Using cached Mako-1.0.9.tar.gz (459 kB)
Collecting MarkupSafe==1.1.1
  Using cached MarkupSafe-1.1.1.tar.gz (19 kB)
Collecting mysqlclient==1.4.6
  Using cached mysqlclient-1.4.6.tar.gz (85 kB)
    ERROR: Command errored out with exit status 1:
     command: /home/pi/syncserver/local/bin/python2 -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-Rddb4Q/mysqlclient/setup.py'"'"'; __file__='"'"'/tmp/pip-install-Rddb4Q/mysqlclient/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-qC6JV7
         cwd: /tmp/pip-install-Rddb4Q/mysqlclient/
    Complete output (12 lines):
    sh: 1: mysql_config: not found
    sh: 1: mariadb_config: not found
    sh: 1: mysql_config: not found
    Traceback (most recent call last):
      File "", line 1, in 
      File "/tmp/pip-install-Rddb4Q/mysqlclient/setup.py", line 16, in 
        metadata, options = get_config()
      File "setup_posix.py", line 61, in get_config
        libs = mysql_config("libs")
      File "setup_posix.py", line 29, in mysql_config
        raise EnvironmentError("%s not found" % (_mysql_config_path,))
    EnvironmentError: mysql_config not found
    ----------------------------------------
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
make: *** [Makefile:31: local/COMPLETE] Fehler 1
```

Does anybody know how to solve this? Further info: After I got the error for the first time, I've installed the mariadb (server + client) packages, although I thought the syncserver would use sqlite as database.

KanteTaete commented 3 years ago

just found a similar issue: #184 There at least, the issue with libffi-dev is mentioned.

@tb1987: Could you solve your issue?

tb1987 commented 3 years ago

Yes, I had only the two dependencies missing I mentioned. Sorry, but I have no idea how to solve your issue.