getsentry / symsynd

BSD 3-Clause "New" or "Revised" License
25 stars 9 forks source link

./libsymbolizer/build.sh - build error via pip upgrade of Sentry #7

Closed gregwjacobs closed 7 years ago

gregwjacobs commented 7 years ago

The following error occurred while trying to upgrade a working installation of Sentry 8.8 to 8.9 via pip:

Failed to build symsynd
Installing collected packages: cffi, symsynd, uwsgi, raven, progressbar2, percy, sentry, setuptools, cryptography, pytz
  Found existing installation: cffi 1.8.2
    Uninstalling cffi-1.8.2:
      Successfully uninstalled cffi-1.8.2
  Running setup.py install for symsynd
    Complete output from command /usr/bin/python -c "import setuptools, tokenize;__file__='/tmp/pip-build-BeCqMC/symsynd/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-iFqd58-record/install-record.txt --single-version-externally-managed --compile:
    running install
    running build
    running build_py
    ./libsymbolizer/build.sh
    ./libsymbolizer/build.sh: 9: [: Linux: unexpected operator
    ./libsymbolizer/build.sh: 21: [: x0: unexpected operator
    ./libsymbolizer/build.sh: 32: ./libsymbolizer/build.sh: cmake: not found
    make: *** [build] Error 127

    ----------------------------------------
Command "/usr/bin/python -c "import setuptools, tokenize;__file__='/tmp/pip-build-BeCqMC/symsynd/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-iFqd58-record/install-record.txt --single-version-externally-managed --compile" failed with error code 2 in /tmp/pip-build-BeCqMC/symsynd
gregwjacobs commented 7 years ago

Let me know what logs, data or other details you require, happy to assist further!

gregwjacobs commented 7 years ago

I'm on Ubuntu 14.04 server. Had to install cmake (via apt) but now I get...

  ./libsymbolizer/build.sh
  ./libsymbolizer/build.sh: 9: [: Linux: unexpected operator
  ./libsymbolizer/build.sh: 21: [: x0: unexpected operator
  CMake Error at CMakeLists.txt:3 (cmake_minimum_required):
    CMake 3.4.3 or higher is required.  You are running version 2.8.12.2

  -- Configuring incomplete, errors occurred!
  make: *** [build] Error 1

  ----------------------------------------
  Failed building wheel for symsynd
Failed to build symsynd
Installing collected packages: symsynd, uwsgi, raven, progressbar2, percy, sentry, setuptools, cryptography, pytz
  Running setup.py install for symsynd
    Complete output from command /usr/bin/python -c "import setuptools, tokenize;__file__='/tmp/pip-build-VAciXx/symsynd/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-ekSIst-record/install-record.txt --single-version-externally-managed --compile:
    running install
    running build
    running build_py
    ./libsymbolizer/build.sh
    ./libsymbolizer/build.sh: 9: [: Linux: unexpected operator
    ./libsymbolizer/build.sh: 21: [: x0: unexpected operator
    CMake Error at CMakeLists.txt:3 (cmake_minimum_required):
      CMake 3.4.3 or higher is required.  You are running version 2.8.12.2

    -- Configuring incomplete, errors occurred!
    make: *** [build] Error 1

    ----------------------------------------
Command "/usr/bin/python -c "import setuptools, tokenize;__file__='/tmp/pip-build-VAciXx/symsynd/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-ekSIst-record/install-record.txt --single-version-externally-managed --compile" failed with error code 2 in /tmp/pip-build-VAciXx/symsynd

Perhaps the module needs requirements updated to include cmake and newer version(s) at very least?

gregwjacobs commented 7 years ago

If I don't use the symbols with iOS etc, can the installation of symsynd be skipped to use Sentry? I don't want to ppa or build my own cmake if I don't need this use case...

mattrobenolt commented 7 years ago

Hmm, why is the wheel not being used for installation here? @mitsuhiko

@gregwjacobs Do you have an up to date version of pip? Not sure when linux wheel support was added off the top of my head, but that'd let it install without having all these crazy dependencies. cmake is just the tip of the iceberg in what you'd need for it to fully succeed.

mattrobenolt commented 7 years ago

I guess you need pip>=8.1. @gregwjacobs Can you verify with your pip --version?

bogdal commented 7 years ago

I have the same error on travis. I use the latest version of pip-8.1.2. Logs: https://travis-ci.org/bogdal/sentry-youtrack/builds/165314799

mattrobenolt commented 7 years ago

@bogdal You're not using pip at all to install. You're doing: python setup.py install. To use pip, do: pip install . instead. That should then resolve all dependencies through pip.

bogdal commented 7 years ago

Ah, right. Thanks @mattrobenolt 👍

gregwjacobs commented 7 years ago

Confirmed, thanks gents. Yes I had prior this version of pip. Once upgraded from 7.1.0 to pip version 8.1.2 the install/upgrade to Sentry worked fine.

gregwjacobs commented 7 years ago

You might want to have a requirement or warning that a newer pip is required perhaps?