DIYBookScanner / spreads

Modular workflow assistant for book digitization
GNU Affero General Public License v3.0
125 stars 53 forks source link

Install guide #157

Closed boredland closed 9 years ago

boredland commented 9 years ago

Hi there,

Is there a updated install guide for non-pi setups? As far as I know the spread-web debian package isn't as regularly updated as the pip-install, which misses a lot of depencies I think.

Thanks for your help, Bored

jbaiter commented 9 years ago

I have not really kept up with Debian packages, unfortunately. It's best to install the dependencies with apt-get and to use pip with one of the nightly source packages as detailed in the documentation.

boredland commented 9 years ago

so virtualenv is no longer needed? I'd really like a guide how to install a current version on a ubuntu or arm-device to try with the new rk3288.

jbaiter commented 9 years ago

You can use a virtualenv if you want to go the safe route (i.e. not mess with your system-wide Python installation), but it's up to you. Just install the nightly package with "pip", make sure you have the dependencies for the features that you want to use (see setup.py) and you should be good to go.

Quick rundown:

divinemayhem commented 9 years ago

After installing the dependencies listed (and then some) I'm getting the following error when I attempt to install Spreads using the pip command above: Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-0t2V1Y/chdkptp.py

I'm on a Debian box.

adongy commented 9 years ago

Can you provide the full traceback please? It should output more than that one line

divinemayhem wrote:

After installing the dependencies listed (and then some) I'm getting the following error when I attempt to install Spreads using the pip command above: Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-0t2V1Y/chdkptp.py

I'm on a Debian box.

— Reply to this email directly or view it on GitHub https://github.com/DIYBookScanner/spreads/issues/157#issuecomment-75552148.

divinemayhem commented 9 years ago

Sorry, I'm a bit of a Linux newbie. Here you go:

Collecting spreads[chdkcamera,web,hidtrigger,gphoto2camera] from http://buildbot.diybookscanner.org/nightly/spreads-latest.tar.gz#egg=spreads[chdkcamera,web,hidtrigger,gphoto2camera]
  Downloading http://buildbot.diybookscanner.org/nightly/spreads-latest.tar.gz (1.6MB)
    100% |################################| 1.6MB 2.0MB/s 
    /usr/local/lib/python2.7/dist-packages/setuptools-12.2-py2.7.egg/setuptools/dist.py:291: UserWarning: The version specified ('0.5git20150206.1a43') is an invalid version, this may not work as expected with newer versions of setuptools, pip, and PyPI. Please see PEP 440 for more details.
Collecting colorama>=0.2.4 (from spreads[chdkcamera,web,hidtrigger,gphoto2camera])
  Using cached colorama-0.3.3.tar.gz
Collecting PyYAML>=3.10 (from spreads[chdkcamera,web,hidtrigger,gphoto2camera])
  Using cached PyYAML-3.11.tar.gz
Collecting futures>=2.1 (from spreads[chdkcamera,web,hidtrigger,gphoto2camera])
  Using cached futures-2.2.0-py2.py3-none-any.whl
Collecting blinker>=1.3 (from spreads[chdkcamera,web,hidtrigger,gphoto2camera])
  Using cached blinker-1.3.tar.gz
Collecting roman>=2.0.0 (from spreads[chdkcamera,web,hidtrigger,gphoto2camera])
  Using cached roman-2.0.0.zip
Collecting psutil>=2.0.0 (from spreads[chdkcamera,web,hidtrigger,gphoto2camera])
  Using cached psutil-2.2.1.tar.gz
Collecting isbnlib>=3.3.8 (from spreads[chdkcamera,web,hidtrigger,gphoto2camera])
  Using cached isbnlib-3.4.7-py2.py3-none-any.whl
Requirement already satisfied (use --upgrade to upgrade): enum34>=1.0.3 in /usr/local/lib/python2.7/dist-packages (from spreads[chdkcamera,web,hidtrigger,gphoto2camera])
Requirement already satisfied (use --upgrade to upgrade): jpegtran-cffi>=0.4 in /usr/local/lib/python2.7/dist-packages (from spreads[chdkcamera,web,hidtrigger,gphoto2camera])
Collecting chdkptp.py>=0.1.2 (from spreads[chdkcamera,web,hidtrigger,gphoto2camera])
  Using cached chdkptp.py-0.1.2.tar.gz
    lupa/_lupa.c:236:17: fatal error: lua.h: No such file or directory
    compilation terminated.
    No local build of LuaJIT2 found in lupa directory
    Checking for installed luajit library using pkg-config
    Did not find luajit using pkg-config: /bin/sh: 1: pkg-config: not found
    Checking for installed lua5.2 library using pkg-config
    Did not find lua5.2 using pkg-config: /bin/sh: 1: pkg-config: not found
    Checking for installed lua-5.2 library using pkg-config
    Did not find lua-5.2 using pkg-config: /bin/sh: 1: pkg-config: not found
    Checking for installed lua library using pkg-config
    Did not find lua using pkg-config: /bin/sh: 1: pkg-config: not found
    Checking for installed lua5.1 library using pkg-config
    Did not find lua5.1 using pkg-config: /bin/sh: 1: pkg-config: not found
    Checking for installed lua-5.1 library using pkg-config
    Did not find lua-5.1 using pkg-config: /bin/sh: 1: pkg-config: not found
    Checking for installed lua library using pkg-config
    Did not find lua using pkg-config: /bin/sh: 1: pkg-config: not found
    None of LuaJIT2, Lua 5.1 or Lua 5.2 were found. Please install Lua and its development packages, or put a local build into the lupa main directory.
    building without Cython
    Traceback (most recent call last):
      File "<string>", line 20, in <module>
      File "/tmp/pip-build-zEQ8BM/chdkptp.py/setup.py", line 35, in <module>
        cmdclass={'install': CustomInstall}
      File "/usr/lib/python2.7/distutils/core.py", line 112, in setup
        _setup_distribution = dist = klass(attrs)
      File "build/bdist.linux-x86_64/egg/setuptools/dist.py", line 265, in __init__
      File "build/bdist.linux-x86_64/egg/setuptools/dist.py", line 310, in fetch_build_eggs
      File "build/bdist.linux-x86_64/egg/pkg_resources/__init__.py", line 799, in resolve
      File "build/bdist.linux-x86_64/egg/pkg_resources/__init__.py", line 1049, in best_match
      File "build/bdist.linux-x86_64/egg/pkg_resources/__init__.py", line 1061, in obtain
      File "build/bdist.linux-x86_64/egg/setuptools/dist.py", line 377, in fetch_build_egg
      File "build/bdist.linux-x86_64/egg/setuptools/command/easy_install.py", line 623, in easy_install
      File "build/bdist.linux-x86_64/egg/setuptools/command/easy_install.py", line 653, in install_item
      File "build/bdist.linux-x86_64/egg/setuptools/command/easy_install.py", line 838, in install_eggs
      File "build/bdist.linux-x86_64/egg/setuptools/command/easy_install.py", line 1066, in build_and_install
      File "build/bdist.linux-x86_64/egg/setuptools/command/easy_install.py", line 1054, in run_setup
    distutils.errors.DistutilsError: Setup script exited with error: command 'gcc' failed with exit status 1
    Complete output from command python setup.py egg_info:
    lupa/_lupa.c:236:17: fatal error: lua.h: No such file or directory

    compilation terminated.

    No local build of LuaJIT2 found in lupa directory

    Checking for installed luajit library using pkg-config

    Did not find luajit using pkg-config: /bin/sh: 1: pkg-config: not found

    Checking for installed lua5.2 library using pkg-config

    Did not find lua5.2 using pkg-config: /bin/sh: 1: pkg-config: not found

    Checking for installed lua-5.2 library using pkg-config

    Did not find lua-5.2 using pkg-config: /bin/sh: 1: pkg-config: not found

    Checking for installed lua library using pkg-config

    Did not find lua using pkg-config: /bin/sh: 1: pkg-config: not found

    Checking for installed lua5.1 library using pkg-config

    Did not find lua5.1 using pkg-config: /bin/sh: 1: pkg-config: not found

    Checking for installed lua-5.1 library using pkg-config

    Did not find lua-5.1 using pkg-config: /bin/sh: 1: pkg-config: not found

    Checking for installed lua library using pkg-config

    Did not find lua using pkg-config: /bin/sh: 1: pkg-config: not found

    None of LuaJIT2, Lua 5.1 or Lua 5.2 were found. Please install Lua and its development packages, or put a local build into the lupa main directory.

    building without Cython

    Traceback (most recent call last):

      File "<string>", line 20, in <module>

      File "/tmp/pip-build-zEQ8BM/chdkptp.py/setup.py", line 35, in <module>

        cmdclass={'install': CustomInstall}

      File "/usr/lib/python2.7/distutils/core.py", line 112, in setup

        _setup_distribution = dist = klass(attrs)

      File "build/bdist.linux-x86_64/egg/setuptools/dist.py", line 265, in __init__

      File "build/bdist.linux-x86_64/egg/setuptools/dist.py", line 310, in fetch_build_eggs

      File "build/bdist.linux-x86_64/egg/pkg_resources/__init__.py", line 799, in resolve

      File "build/bdist.linux-x86_64/egg/pkg_resources/__init__.py", line 1049, in best_match

      File "build/bdist.linux-x86_64/egg/pkg_resources/__init__.py", line 1061, in obtain

      File "build/bdist.linux-x86_64/egg/setuptools/dist.py", line 377, in fetch_build_egg

      File "build/bdist.linux-x86_64/egg/setuptools/command/easy_install.py", line 623, in easy_install

      File "build/bdist.linux-x86_64/egg/setuptools/command/easy_install.py", line 653, in install_item

      File "build/bdist.linux-x86_64/egg/setuptools/command/easy_install.py", line 838, in install_eggs

      File "build/bdist.linux-x86_64/egg/setuptools/command/easy_install.py", line 1066, in build_and_install

      File "build/bdist.linux-x86_64/egg/setuptools/command/easy_install.py", line 1054, in run_setup

    distutils.errors.DistutilsError: Setup script exited with error: command 'gcc' failed with exit status 1

    ----------------------------------------
    Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-zEQ8BM/chdkptp.py
divinemayhem commented 9 years ago

In reading it more carefully, I see that I didn't have LUA installed. I'm grabbing LUA5.1 and LUA5.1-dev just to be safe.

divinemayhem commented 9 years ago

...and LuaJIT-2.0.3. The dependencies never end...

jbaiter commented 9 years ago

Dang, forgot to put that on the list, sorry... Follow the instructions here, you need to install lupa with a special flag: https://github.com/jbaiter/chdkptp.py#requirements

divinemayhem commented 9 years ago

OK. The error has changed now. Here's the traceback:

Downloading http://buildbot.diybookscanner.org/nightly/spreads-latest.tar.gz (1.6MB) 100% |################################| 1.6MB 1.8MB/s /usr/local/lib/python2.7/dist-packages/setuptools-12.2-py2.7.egg/setuptools/dist.py:291: UserWarning: The version specified ('0.5git20150206.1a43') is an invalid version, this may not work as expected with newer versions of setuptools, pip, and PyPI. Please see PEP 440 for more details. Collecting colorama>=0.2.4 (from spreads[chdkcamera,web,hidtrigger,gphoto2camera]) Using cached colorama-0.3.3.tar.gz Collecting PyYAML>=3.10 (from spreads[chdkcamera,web,hidtrigger,gphoto2camera]) Using cached PyYAML-3.11.tar.gz Collecting futures>=2.1 (from spreads[chdkcamera,web,hidtrigger,gphoto2camera]) Using cached futures-2.2.0-py2.py3-none-any.whl Collecting blinker>=1.3 (from spreads[chdkcamera,web,hidtrigger,gphoto2camera]) Using cached blinker-1.3.tar.gz Collecting roman>=2.0.0 (from spreads[chdkcamera,web,hidtrigger,gphoto2camera]) Using cached roman-2.0.0.zip Collecting psutil>=2.0.0 (from spreads[chdkcamera,web,hidtrigger,gphoto2camera]) Using cached psutil-2.2.1.tar.gz Collecting isbnlib>=3.3.8 (from spreads[chdkcamera,web,hidtrigger,gphoto2camera]) Using cached isbnlib-3.4.7-py2.py3-none-any.whl Requirement already satisfied (use --upgrade to upgrade): enum34>=1.0.3 in /usr/local/lib/python2.7/dist-packages (from spreads[chdkcamera,web,hidtrigger,gphoto2camera]) Requirement already satisfied (use --upgrade to upgrade): jpegtran-cffi>=0.4 in /usr/local/lib/python2.7/dist-packages (from spreads[chdkcamera,web,hidtrigger,gphoto2camera]) Collecting chdkptp.py>=0.1.2 (from spreads[chdkcamera,web,hidtrigger,gphoto2camera]) Using cached chdkptp.py-0.1.2.tar.gz Collecting Flask>=0.10.1 (from spreads[chdkcamera,web,hidtrigger,gphoto2camera]) Using cached Flask-0.10.1.tar.gz Collecting requests>=2.2.0 (from spreads[chdkcamera,web,hidtrigger,gphoto2camera]) Using cached requests-2.5.1-py2.py3-none-any.whl Collecting zipstream>=1.0.2 (from spreads[chdkcamera,web,hidtrigger,gphoto2camera]) Using cached zipstream-1.0.4.tar.gz Collecting tornado>=4.0 (from spreads[chdkcamera,web,hidtrigger,gphoto2camera]) Using cached tornado-4.1.tar.gz Collecting Wand>=0.3.5 (from spreads[chdkcamera,web,hidtrigger,gphoto2camera]) Using cached Wand-0.4.0.tar.gz Collecting hidapi-cffi>=0.1 (from spreads[chdkcamera,web,hidtrigger,gphoto2camera]) Using cached hidapi-cffi-0.2.1.tar.gz Collecting gphoto2-cffi>=0.2 (from spreads[chdkcamera,web,hidtrigger,gphoto2camera]) Using cached gphoto2-cffi-0.2.tar.gz /usr/lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'description_long' warnings.warn(msg) Requirement already satisfied (use --upgrade to upgrade): cffi>=0.8 in /usr/local/lib/python2.7/dist-packages (from jpegtran-cffi>=0.4->spreads[chdkcamera,web,hidtrigger,gphoto2camera]) Requirement already satisfied (use --upgrade to upgrade): Werkzeug>=0.7 in /usr/local/lib/python2.7/dist-packages (from Flask>=0.10.1->spreads[chdkcamera,web,hidtrigger,gphoto2camera]) Requirement already satisfied (use --upgrade to upgrade): Jinja2>=2.4 in /usr/local/lib/python2.7/dist-packages (from Flask>=0.10.1->spreads[chdkcamera,web,hidtrigger,gphoto2camera]) Requirement already satisfied (use --upgrade to upgrade): itsdangerous>=0.21 in /usr/local/lib/python2.7/dist-packages (from Flask>=0.10.1->spreads[chdkcamera,web,hidtrigger,gphoto2camera]) Requirement already satisfied (use --upgrade to upgrade): certifi in /usr/local/lib/python2.7/dist-packages (from tornado>=4.0->spreads[chdkcamera,web,hidtrigger,gphoto2camera]) Requirement already satisfied (use --upgrade to upgrade): backports.ssl-match-hostname in /usr/local/lib/python2.7/dist-packages (from tornado>=4.0->spreads[chdkcamera,web,hidtrigger,gphoto2camera]) Requirement already satisfied (use --upgrade to upgrade): pycparser in /usr/local/lib/python2.7/dist-packages (from cffi>=0.8->jpegtran-cffi>=0.4->spreads[chdkcamera,web,hidtrigger,gphoto2camera]) Requirement already satisfied (use --upgrade to upgrade): markupsafe in /usr/lib/python2.7/dist-packages (from Jinja2>=2.4->Flask>=0.10.1->spreads[chdkcamera,web,hidtrigger,gphoto2camera]) Installing collected packages: gphoto2-cffi, hidapi-cffi, Wand, tornado, zipstream, requests, Flask, chdkptp.py, isbnlib, psutil, roman, blinker, futures, PyYAML, colorama, spreads Running setup.py install for gphoto2-cffi /usr/lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'description_long' warnings.warn(msg) building '_gphoto2_cffi_2b99ad6cxf2c96d55' extension gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/include/python2.7 -c gphoto2/pycache/_gphoto2_cffi_2b99ad6cxf2c96d55.c -o build/temp.linux-x86_64-2.7/gphoto2/pycache/_gphoto2_cffi_2b99ad6cxf2c96d55.o gphoto2/pycache/_gphoto2_cffi_2b99ad6cxf2c96d55.c:186:37: fatal error: gphoto2/gphoto2-context.h: No such file or directory compilation terminated. error: command 'gcc' failed with exit status 1 Complete output from command /usr/bin/python -c "import setuptools, tokenize;file='/tmp/pip-build-ZcEftP/gphoto2-cffi/setup.py';exec(compile(getattr(tokenize, 'open', open)(file).read().replace('\r\n', '\n'), file, 'exec'))" install --record /tmp/pip-DddQ9S-record/install-record.txt --single-version-externally-managed --compile: /usr/lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'description_long'

  warnings.warn(msg)

running install

running build

running build_py

creating build

creating build/lib.linux-x86_64-2.7

creating build/lib.linux-x86_64-2.7/gphoto2

copying gphoto2/gphoto2.py -> build/lib.linux-x86_64-2.7/gphoto2

copying gphoto2/errors.py -> build/lib.linux-x86_64-2.7/gphoto2

copying gphoto2/__init__.py -> build/lib.linux-x86_64-2.7/gphoto2

copying gphoto2/backend.py -> build/lib.linux-x86_64-2.7/gphoto2

copying gphoto2/util.py -> build/lib.linux-x86_64-2.7/gphoto2

running egg_info

writing requirements to gphoto2_cffi.egg-info/requires.txt

writing gphoto2_cffi.egg-info/PKG-INFO

writing top-level names to gphoto2_cffi.egg-info/top_level.txt

writing dependency_links to gphoto2_cffi.egg-info/dependency_links.txt

warning: manifest_maker: standard file '-c' not found

reading manifest file 'gphoto2_cffi.egg-info/SOURCES.txt'

writing manifest file 'gphoto2_cffi.egg-info/SOURCES.txt'

copying gphoto2/gphoto2.cdef -> build/lib.linux-x86_64-2.7/gphoto2

creating build/lib.linux-x86_64-2.7/gphoto2/__pycache__

copying gphoto2/__pycache__/_gphoto2_cffi_2b99ad6cxf2c96d55.c -> build/lib.linux-x86_64-2.7/gphoto2/__pycache__

copying gphoto2/__pycache__/_gphoto2_cffi_3d6001axf2c96d55.c -> build/lib.linux-x86_64-2.7/gphoto2/__pycache__

copying gphoto2/__pycache__/_gphoto2_cffi_7cc702f8x9e67b7c3.c -> build/lib.linux-x86_64-2.7/gphoto2/__pycache__

running build_ext

building '_gphoto2_cffi_2b99ad6cxf2c96d55' extension

creating build/temp.linux-x86_64-2.7

creating build/temp.linux-x86_64-2.7/gphoto2

creating build/temp.linux-x86_64-2.7/gphoto2/__pycache__

gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/include/python2.7 -c gphoto2/__pycache__/_gphoto2_cffi_2b99ad6cxf2c96d55.c -o build/temp.linux-x86_64-2.7/gphoto2/__pycache__/_gphoto2_cffi_2b99ad6cxf2c96d55.o

gphoto2/__pycache__/_gphoto2_cffi_2b99ad6cxf2c96d55.c:186:37: fatal error: gphoto2/gphoto2-context.h: No such file or directory

compilation terminated.

error: command 'gcc' failed with exit status 1

----------------------------------------
Command "/usr/bin/python -c "import setuptools, tokenize;__file__='/tmp/pip-build-ZcEftP/gphoto2-cffi/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-DddQ9S-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-build-ZcEftP/gphoto2-cffi
adongy commented 9 years ago

try apt-get install libphoto2-dev

divinemayhem commented 9 years ago

E: Unable to locate package libphoto2-dev atp-get install libgphoto2-2-dev worked.

I'm still getting the same error.

Downloading http://buildbot.diybookscanner.org/nightly/spreads-latest.tar.gz (1.6MB) 100% |################################| 1.6MB 1.9MB/s /usr/local/lib/python2.7/dist-packages/setuptools-12.2-py2.7.egg/setuptools/dist.py:291: UserWarning: The version specified ('0.5git20150206.1a43') is an invalid version, this may not work as expected with newer versions of setuptools, pip, and PyPI. Please see PEP 440 for more details. Collecting colorama>=0.2.4 (from spreads[chdkcamera,web,hidtrigger,gphoto2camera]) Using cached colorama-0.3.3.tar.gz Collecting PyYAML>=3.10 (from spreads[chdkcamera,web,hidtrigger,gphoto2camera]) Using cached PyYAML-3.11.tar.gz Collecting futures>=2.1 (from spreads[chdkcamera,web,hidtrigger,gphoto2camera]) Using cached futures-2.2.0-py2.py3-none-any.whl Collecting blinker>=1.3 (from spreads[chdkcamera,web,hidtrigger,gphoto2camera]) Using cached blinker-1.3.tar.gz Collecting roman>=2.0.0 (from spreads[chdkcamera,web,hidtrigger,gphoto2camera]) Using cached roman-2.0.0.zip Collecting psutil>=2.0.0 (from spreads[chdkcamera,web,hidtrigger,gphoto2camera]) Using cached psutil-2.2.1.tar.gz Collecting isbnlib>=3.3.8 (from spreads[chdkcamera,web,hidtrigger,gphoto2camera]) Using cached isbnlib-3.4.7-py2.py3-none-any.whl Requirement already satisfied (use --upgrade to upgrade): enum34>=1.0.3 in /usr/local/lib/python2.7/dist-packages (from spreads[chdkcamera,web,hidtrigger,gphoto2camera]) Requirement already satisfied (use --upgrade to upgrade): jpegtran-cffi>=0.4 in /usr/local/lib/python2.7/dist-packages (from spreads[chdkcamera,web,hidtrigger,gphoto2camera]) Collecting chdkptp.py>=0.1.2 (from spreads[chdkcamera,web,hidtrigger,gphoto2camera]) Using cached chdkptp.py-0.1.2.tar.gz Collecting Flask>=0.10.1 (from spreads[chdkcamera,web,hidtrigger,gphoto2camera]) Using cached Flask-0.10.1.tar.gz Collecting requests>=2.2.0 (from spreads[chdkcamera,web,hidtrigger,gphoto2camera]) Using cached requests-2.5.1-py2.py3-none-any.whl Collecting zipstream>=1.0.2 (from spreads[chdkcamera,web,hidtrigger,gphoto2camera]) Using cached zipstream-1.0.4.tar.gz Collecting tornado>=4.0 (from spreads[chdkcamera,web,hidtrigger,gphoto2camera]) Using cached tornado-4.1.tar.gz Collecting Wand>=0.3.5 (from spreads[chdkcamera,web,hidtrigger,gphoto2camera]) Using cached Wand-0.4.0.tar.gz Collecting hidapi-cffi>=0.1 (from spreads[chdkcamera,web,hidtrigger,gphoto2camera]) Using cached hidapi-cffi-0.2.1.tar.gz Collecting gphoto2-cffi>=0.2 (from spreads[chdkcamera,web,hidtrigger,gphoto2camera]) Using cached gphoto2-cffi-0.2.tar.gz /usr/lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'description_long' warnings.warn(msg) Requirement already satisfied (use --upgrade to upgrade): cffi>=0.8 in /usr/local/lib/python2.7/dist-packages (from jpegtran-cffi>=0.4->spreads[chdkcamera,web,hidtrigger,gphoto2camera]) Requirement already satisfied (use --upgrade to upgrade): Werkzeug>=0.7 in /usr/local/lib/python2.7/dist-packages (from Flask>=0.10.1->spreads[chdkcamera,web,hidtrigger,gphoto2camera]) Requirement already satisfied (use --upgrade to upgrade): Jinja2>=2.4 in /usr/local/lib/python2.7/dist-packages (from Flask>=0.10.1->spreads[chdkcamera,web,hidtrigger,gphoto2camera]) Requirement already satisfied (use --upgrade to upgrade): itsdangerous>=0.21 in /usr/local/lib/python2.7/dist-packages (from Flask>=0.10.1->spreads[chdkcamera,web,hidtrigger,gphoto2camera]) Requirement already satisfied (use --upgrade to upgrade): certifi in /usr/local/lib/python2.7/dist-packages (from tornado>=4.0->spreads[chdkcamera,web,hidtrigger,gphoto2camera]) Requirement already satisfied (use --upgrade to upgrade): backports.ssl-match-hostname in /usr/local/lib/python2.7/dist-packages (from tornado>=4.0->spreads[chdkcamera,web,hidtrigger,gphoto2camera]) Requirement already satisfied (use --upgrade to upgrade): pycparser in /usr/local/lib/python2.7/dist-packages (from cffi>=0.8->jpegtran-cffi>=0.4->spreads[chdkcamera,web,hidtrigger,gphoto2camera]) Requirement already satisfied (use --upgrade to upgrade): markupsafe in /usr/lib/python2.7/dist-packages (from Jinja2>=2.4->Flask>=0.10.1->spreads[chdkcamera,web,hidtrigger,gphoto2camera]) Installing collected packages: gphoto2-cffi, hidapi-cffi, Wand, tornado, zipstream, requests, Flask, chdkptp.py, isbnlib, psutil, roman, blinker, futures, PyYAML, colorama, spreads Running setup.py install for gphoto2-cffi /usr/lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'description_long' warnings.warn(msg) building '_gphoto2_cffi_2b99ad6cxf2c96d55' extension gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/include/python2.7 -c gphoto2/pycache/_gphoto2_cffi_2b99ad6cxf2c96d55.c -o build/temp.linux-x86_64-2.7/gphoto2/pycache/_gphoto2_cffi_2b99ad6cxf2c96d55.o gphoto2/pycache/_gphoto2_cffi_2b99ad6cxf2c96d55.c: In function ‘_cffi_eCameraFileAccessType’: gphoto2/pycache/_gphoto2_cffi_2b99ad6cxf2c96d55.c:425:8: error: ‘GP_FILE_ACCESSTYPE_HANDLER’ undeclared (first use in this function) gphoto2/pycache/_gphoto2_cffi_2b99ad6cxf2c96d55.c:425:8: note: each undeclared identifier is reported only once for each function it appears in gphoto2/pycache/_gphoto2_cffi_2b99ad6cxf2c96d55.c: In function ‘_cffi_eCameraOperation’: gphoto2/pycache/_gphoto2_cffi_2b99ad6cxf2c96d55.c:913:8: error: ‘GP_OPERATION_TRIGGER_CAPTURE’ undeclared (first use in this function) gphoto2/pycache/_gphoto2_cffi_2b99ad6cxf2c96d55.c: In function ‘_cffi_f_gp_camera_autodetect’: gphoto2/pycache/_gphoto2_cffi_2b99ad6cxf2c96d55.c:1787:3: warning: implicit declaration of function ‘gp_camera_autodetect’ [-Wimplicit-function-declaration] gphoto2/pycache/_gphoto2_cffi_2b99ad6cxf2c96d55.c: In function ‘_cffi_f_gp_camera_file_read’: gphoto2/pycache/_gphoto2_cffi_2b99ad6cxf2c96d55.c:2298:3: warning: implicit declaration of function ‘gp_camera_file_read’ [-Wimplicit-function-declaration] gphoto2/pycache/_gphoto2_cffi_2b99ad6cxf2c96d55.c: In function ‘_cffi_f_gp_camera_folder_put_file’: gphoto2/pycache/_gphoto2_cffi_2b99ad6cxf2c96d55.c:2728:3: warning: passing argument 3 of ‘gp_camera_folder_put_file’ from incompatible pointer type [enabled by default] In file included from gphoto2/pycache/_gphoto2_cffi_2b99ad6cxf2c96d55.c:187:0: /usr/include/gphoto2/gphoto2-camera.h:351:5: note: expected ‘struct CameraFile ’ but argument is of type ‘const char ’ gphoto2/pycache/_gphoto2_cffi_2b99ad6cxf2c96d55.c:2728:3: error: incompatible type for argument 4 of ‘gp_camera_folder_put_file’ In file included from gphoto2/pycache/_gphoto2_cffi_2b99ad6cxf2c96d55.c:187:0: /usr/include/gphoto2/gphoto2-camera.h:351:5: note: expected ‘struct GPContext ’ but argument is of type ‘CameraFileType’ gphoto2/pycache/_gphoto2_cffi_2b99ad6cxf2c96d55.c:2728:3: error: too many arguments to function ‘gp_camera_folder_put_file’ In file included from gphoto2/pycache/_gphoto2_cffi_2b99ad6cxf2c96d55.c:187:0: /usr/include/gphoto2/gphoto2-camera.h:351:5: note: declared here gphoto2/pycache/_gphoto2_cffi_2b99ad6cxf2c96d55.c: In function ‘_cffi_f_gp_camera_set_port_info’: gphoto2/pycache/_gphoto2_cffi_2b99ad6cxf2c96d55.c:3366:3: error: incompatible type for argument 2 of ‘gp_camera_set_port_info’ In file included from gphoto2/pycache/_gphoto2_cffi_2b99ad6cxf2c96d55.c:187:0: /usr/include/gphoto2/gphoto2-camera.h:281:5: note: expected ‘GPPortInfo’ but argument is of type ‘struct _GPPortInfo ’ gphoto2/pycache/_gphoto2_cffi_2b99ad6cxf2c96d55.c: In function ‘_cffi_f_gp_camera_trigger_capture’: gphoto2/pycache/_gphoto2_cffi_2b99ad6cxf2c96d55.c:3410:3: warning: implicit declaration of function ‘gp_camera_trigger_capture’ [-Wimplicit-function-declaration] gphoto2/pycache/_gphoto2_cffi_2b99ad6cxf2c96d55.c: In function ‘_cffi_f_gp_file_get_name_by_type’: gphoto2/pycache/_gphoto2_cffi_2b99ad6cxf2c96d55.c:3859:3: warning: implicit declaration of function ‘gp_file_get_name_by_type’ [-Wimplicit-function-declaration] gphoto2/pycache/_gphoto2_cffi_2b99ad6cxf2c96d55.c: In function ‘_cffi_f_gp_log_add_func’: gphoto2/pycache/_gphoto2_cffi_2b99ad6cxf2c96d55.c:4545:3: warning: passing argument 2 of ‘gp_log_add_func’ from incompatible pointer type [enabled by default] In file included from /usr/include/gphoto2/gphoto2-abilities-list.h:32:0, from /usr/include/gphoto2/gphoto2-camera.h:50, from gphoto2/pycache/_gphoto2_cffi_2b99ad6cxf2c96d55.c:187: /usr/include/gphoto2/gphoto2-port-log.h:71:6: note: expected ‘GPLogFunc’ but argument is of type ‘void ()(enum GPLogLevel, const char , const char , void )’ gphoto2/pycache/_gphoto2_cffi_2b99ad6cxf2c96d55.c: In function ‘_cffi_f_gp_port_info_get_name’: gphoto2/pycache/_gphoto2_cffi_2b99ad6cxf2c96d55.c:4589:3: warning: implicit declaration of function ‘gp_port_info_get_name’ [-Wimplicit-function-declaration] gphoto2/pycache/_gphoto2_cffi_2b99ad6cxf2c96d55.c: In function ‘_cffi_f_gp_port_info_get_path’: gphoto2/pycache/_gphoto2_cffi_2b99ad6cxf2c96d55.c:4633:3: warning: implicit declaration of function ‘gp_port_info_get_path’ [-Wimplicit-function-declaration] gphoto2/pycache/_gphoto2_cffi_2b99ad6cxf2c96d55.c: In function ‘_cffi_f_gp_port_info_get_type’: gphoto2/pycache/_gphoto2_cffi_2b99ad6cxf2c96d55.c:4677:3: warning: implicit declaration of function ‘gp_port_info_get_type’ [-Wimplicit-function-declaration] gphoto2/pycache/_gphoto2_cffi_2b99ad6cxf2c96d55.c: In function ‘_cffi_f_gp_port_info_list_append’: gphoto2/pycache/_gphoto2_cffi_2b99ad6cxf2c96d55.c:4721:3: error: incompatible type for argument 2 of ‘gp_port_info_list_append’ In file included from /usr/include/gphoto2/gphoto2-abilities-list.h:30:0, from /usr/include/gphoto2/gphoto2-camera.h:50, from gphoto2/pycache/_gphoto2_cffi_2b99ad6cxf2c96d55.c:187: /usr/include/gphoto2/gphoto2-port-info-list.h:79:5: note: expected ‘GPPortInfo’ but argument is of type ‘struct _GPPortInfo ’ gphoto2/pycache/_gphoto2_cffi_2b99ad6cxf2c96d55.c: In function ‘_cffi_f_gp_port_info_list_get_info’: gphoto2/pycache/_gphoto2_cffi_2b99ad6cxf2c96d55.c:4825:3: warning: passing argument 3 of ‘gp_port_info_list_get_info’ from incompatible pointer type [enabled by default] In file included from /usr/include/gphoto2/gphoto2-abilities-list.h:30:0, from /usr/include/gphoto2/gphoto2-camera.h:50, from gphoto2/pycache/_gphoto2_cffi2b99ad6cxf2c96d55.c:187: /usr/include/gphoto2/gphoto2-port-info-list.h:88:5: note: expected ‘struct GPPortInfo ’ but argument is of type ‘struct _GPPortInfo _’ gphoto2/pycache/_gphoto2_cffi_2b99ad6cxf2c96d55.c: In function ‘_cffi_f_gp_port_info_new’: gphoto2/pycache/_gphoto2_cffi_2b99ad6cxf2c96d55.c:4994:3: warning: implicit declaration of function ‘gp_port_info_new’ [-Wimplicit-function-declaration] gphoto2/pycache/_gphoto2_cffi_2b99ad6cxf2c96d55.c: In function ‘_cffi_f_gp_port_info_set_name’: gphoto2/pycache/_gphoto2_cffi_2b99ad6cxf2c96d55.c:5038:3: warning: implicit declaration of function ‘gp_port_info_set_name’ [-Wimplicit-function-declaration] gphoto2/pycache/_gphoto2_cffi_2b99ad6cxf2c96d55.c: In function ‘_cffi_f_gp_port_info_set_path’: gphoto2/pycache/_gphoto2_cffi_2b99ad6cxf2c96d55.c:5082:3: warning: implicit declaration of function ‘gp_port_info_set_path’ [-Wimplicit-function-declaration] gphoto2/pycache/_gphoto2_cffi_2b99ad6cxf2c96d55.c: In function ‘_cffi_f_gp_port_info_set_type’: gphoto2/pycache/_gphoto2_cffi_2b99ad6cxf2c96d55.c:5118:3: warning: implicit declaration of function ‘gp_port_info_set_type’ [-Wimplicit-function-declaration] error: command 'gcc' failed with exit status 1 Complete output from command /usr/bin/python -c "import setuptools, tokenize;file='/tmp/pip-build-g0_XGC/gphoto2-cffi/setup.py';exec(compile(getattr(tokenize, 'open', open)(file).read().replace('\r\n', '\n'), file, 'exec'))" install --record /tmp/pip-KlvSiy-record/install-record.txt --single-version-externally-managed --compile: /usr/lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'description_long'

  warnings.warn(msg)

running install

running build

running build_py

creating build

creating build/lib.linux-x86_64-2.7

creating build/lib.linux-x86_64-2.7/gphoto2

copying gphoto2/gphoto2.py -> build/lib.linux-x86_64-2.7/gphoto2

copying gphoto2/errors.py -> build/lib.linux-x86_64-2.7/gphoto2

copying gphoto2/__init__.py -> build/lib.linux-x86_64-2.7/gphoto2

copying gphoto2/backend.py -> build/lib.linux-x86_64-2.7/gphoto2

copying gphoto2/util.py -> build/lib.linux-x86_64-2.7/gphoto2

running egg_info

writing requirements to gphoto2_cffi.egg-info/requires.txt

writing gphoto2_cffi.egg-info/PKG-INFO

writing top-level names to gphoto2_cffi.egg-info/top_level.txt

writing dependency_links to gphoto2_cffi.egg-info/dependency_links.txt

warning: manifest_maker: standard file '-c' not found

reading manifest file 'gphoto2_cffi.egg-info/SOURCES.txt'

writing manifest file 'gphoto2_cffi.egg-info/SOURCES.txt'

copying gphoto2/gphoto2.cdef -> build/lib.linux-x86_64-2.7/gphoto2

creating build/lib.linux-x86_64-2.7/gphoto2/__pycache__

copying gphoto2/__pycache__/_gphoto2_cffi_2b99ad6cxf2c96d55.c -> build/lib.linux-x86_64-2.7/gphoto2/__pycache__

copying gphoto2/__pycache__/_gphoto2_cffi_3d6001axf2c96d55.c -> build/lib.linux-x86_64-2.7/gphoto2/__pycache__

copying gphoto2/__pycache__/_gphoto2_cffi_7cc702f8x9e67b7c3.c -> build/lib.linux-x86_64-2.7/gphoto2/__pycache__

running build_ext

building '_gphoto2_cffi_2b99ad6cxf2c96d55' extension

creating build/temp.linux-x86_64-2.7

creating build/temp.linux-x86_64-2.7/gphoto2

creating build/temp.linux-x86_64-2.7/gphoto2/__pycache__

gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/include/python2.7 -c gphoto2/__pycache__/_gphoto2_cffi_2b99ad6cxf2c96d55.c -o build/temp.linux-x86_64-2.7/gphoto2/__pycache__/_gphoto2_cffi_2b99ad6cxf2c96d55.o

gphoto2/__pycache__/_gphoto2_cffi_2b99ad6cxf2c96d55.c: In function ‘_cffi_e__CameraFileAccessType’:

gphoto2/__pycache__/_gphoto2_cffi_2b99ad6cxf2c96d55.c:425:8: error: ‘GP_FILE_ACCESSTYPE_HANDLER’ undeclared (first use in this function)

gphoto2/__pycache__/_gphoto2_cffi_2b99ad6cxf2c96d55.c:425:8: note: each undeclared identifier is reported only once for each function it appears in

gphoto2/__pycache__/_gphoto2_cffi_2b99ad6cxf2c96d55.c: In function ‘_cffi_e__CameraOperation’:

gphoto2/__pycache__/_gphoto2_cffi_2b99ad6cxf2c96d55.c:913:8: error: ‘GP_OPERATION_TRIGGER_CAPTURE’ undeclared (first use in this function)

gphoto2/__pycache__/_gphoto2_cffi_2b99ad6cxf2c96d55.c: In function ‘_cffi_f_gp_camera_autodetect’:

gphoto2/__pycache__/_gphoto2_cffi_2b99ad6cxf2c96d55.c:1787:3: warning: implicit declaration of function ‘gp_camera_autodetect’ [-Wimplicit-function-declaration]

gphoto2/__pycache__/_gphoto2_cffi_2b99ad6cxf2c96d55.c: In function ‘_cffi_f_gp_camera_file_read’:

gphoto2/__pycache__/_gphoto2_cffi_2b99ad6cxf2c96d55.c:2298:3: warning: implicit declaration of function ‘gp_camera_file_read’ [-Wimplicit-function-declaration]

gphoto2/__pycache__/_gphoto2_cffi_2b99ad6cxf2c96d55.c: In function ‘_cffi_f_gp_camera_folder_put_file’:

gphoto2/__pycache__/_gphoto2_cffi_2b99ad6cxf2c96d55.c:2728:3: warning: passing argument 3 of ‘gp_camera_folder_put_file’ from incompatible pointer type [enabled by default]

In file included from gphoto2/__pycache__/_gphoto2_cffi_2b99ad6cxf2c96d55.c:187:0:

/usr/include/gphoto2/gphoto2-camera.h:351:5: note: expected ‘struct CameraFile *’ but argument is of type ‘const char *’

gphoto2/__pycache__/_gphoto2_cffi_2b99ad6cxf2c96d55.c:2728:3: error: incompatible type for argument 4 of ‘gp_camera_folder_put_file’

In file included from gphoto2/__pycache__/_gphoto2_cffi_2b99ad6cxf2c96d55.c:187:0:

/usr/include/gphoto2/gphoto2-camera.h:351:5: note: expected ‘struct GPContext *’ but argument is of type ‘CameraFileType’

gphoto2/__pycache__/_gphoto2_cffi_2b99ad6cxf2c96d55.c:2728:3: error: too many arguments to function ‘gp_camera_folder_put_file’

In file included from gphoto2/__pycache__/_gphoto2_cffi_2b99ad6cxf2c96d55.c:187:0:

/usr/include/gphoto2/gphoto2-camera.h:351:5: note: declared here

gphoto2/__pycache__/_gphoto2_cffi_2b99ad6cxf2c96d55.c: In function ‘_cffi_f_gp_camera_set_port_info’:

gphoto2/__pycache__/_gphoto2_cffi_2b99ad6cxf2c96d55.c:3366:3: error: incompatible type for argument 2 of ‘gp_camera_set_port_info’

In file included from gphoto2/__pycache__/_gphoto2_cffi_2b99ad6cxf2c96d55.c:187:0:

/usr/include/gphoto2/gphoto2-camera.h:281:5: note: expected ‘GPPortInfo’ but argument is of type ‘struct _GPPortInfo *’

gphoto2/__pycache__/_gphoto2_cffi_2b99ad6cxf2c96d55.c: In function ‘_cffi_f_gp_camera_trigger_capture’:

gphoto2/__pycache__/_gphoto2_cffi_2b99ad6cxf2c96d55.c:3410:3: warning: implicit declaration of function ‘gp_camera_trigger_capture’ [-Wimplicit-function-declaration]

gphoto2/__pycache__/_gphoto2_cffi_2b99ad6cxf2c96d55.c: In function ‘_cffi_f_gp_file_get_name_by_type’:

gphoto2/__pycache__/_gphoto2_cffi_2b99ad6cxf2c96d55.c:3859:3: warning: implicit declaration of function ‘gp_file_get_name_by_type’ [-Wimplicit-function-declaration]

gphoto2/__pycache__/_gphoto2_cffi_2b99ad6cxf2c96d55.c: In function ‘_cffi_f_gp_log_add_func’:

gphoto2/__pycache__/_gphoto2_cffi_2b99ad6cxf2c96d55.c:4545:3: warning: passing argument 2 of ‘gp_log_add_func’ from incompatible pointer type [enabled by default]

In file included from /usr/include/gphoto2/gphoto2-abilities-list.h:32:0,

                 from /usr/include/gphoto2/gphoto2-camera.h:50,

                 from gphoto2/__pycache__/_gphoto2_cffi_2b99ad6cxf2c96d55.c:187:

/usr/include/gphoto2/gphoto2-port-log.h:71:6: note: expected ‘GPLogFunc’ but argument is of type ‘void (*)(enum GPLogLevel,  const char *, const char *, void *)’

gphoto2/__pycache__/_gphoto2_cffi_2b99ad6cxf2c96d55.c: In function ‘_cffi_f_gp_port_info_get_name’:

gphoto2/__pycache__/_gphoto2_cffi_2b99ad6cxf2c96d55.c:4589:3: warning: implicit declaration of function ‘gp_port_info_get_name’ [-Wimplicit-function-declaration]

gphoto2/__pycache__/_gphoto2_cffi_2b99ad6cxf2c96d55.c: In function ‘_cffi_f_gp_port_info_get_path’:

gphoto2/__pycache__/_gphoto2_cffi_2b99ad6cxf2c96d55.c:4633:3: warning: implicit declaration of function ‘gp_port_info_get_path’ [-Wimplicit-function-declaration]

gphoto2/__pycache__/_gphoto2_cffi_2b99ad6cxf2c96d55.c: In function ‘_cffi_f_gp_port_info_get_type’:

gphoto2/__pycache__/_gphoto2_cffi_2b99ad6cxf2c96d55.c:4677:3: warning: implicit declaration of function ‘gp_port_info_get_type’ [-Wimplicit-function-declaration]

gphoto2/__pycache__/_gphoto2_cffi_2b99ad6cxf2c96d55.c: In function ‘_cffi_f_gp_port_info_list_append’:

gphoto2/__pycache__/_gphoto2_cffi_2b99ad6cxf2c96d55.c:4721:3: error: incompatible type for argument 2 of ‘gp_port_info_list_append’

In file included from /usr/include/gphoto2/gphoto2-abilities-list.h:30:0,

                 from /usr/include/gphoto2/gphoto2-camera.h:50,

                 from gphoto2/__pycache__/_gphoto2_cffi_2b99ad6cxf2c96d55.c:187:

/usr/include/gphoto2/gphoto2-port-info-list.h:79:5: note: expected ‘GPPortInfo’ but argument is of type ‘struct _GPPortInfo *’

gphoto2/__pycache__/_gphoto2_cffi_2b99ad6cxf2c96d55.c: In function ‘_cffi_f_gp_port_info_list_get_info’:

gphoto2/__pycache__/_gphoto2_cffi_2b99ad6cxf2c96d55.c:4825:3: warning: passing argument 3 of ‘gp_port_info_list_get_info’ from incompatible pointer type [enabled by default]

In file included from /usr/include/gphoto2/gphoto2-abilities-list.h:30:0,

                 from /usr/include/gphoto2/gphoto2-camera.h:50,

                 from gphoto2/__pycache__/_gphoto2_cffi_2b99ad6cxf2c96d55.c:187:

/usr/include/gphoto2/gphoto2-port-info-list.h:88:5: note: expected ‘struct GPPortInfo *’ but argument is of type ‘struct _GPPortInfo **’

gphoto2/__pycache__/_gphoto2_cffi_2b99ad6cxf2c96d55.c: In function ‘_cffi_f_gp_port_info_new’:

gphoto2/__pycache__/_gphoto2_cffi_2b99ad6cxf2c96d55.c:4994:3: warning: implicit declaration of function ‘gp_port_info_new’ [-Wimplicit-function-declaration]

gphoto2/__pycache__/_gphoto2_cffi_2b99ad6cxf2c96d55.c: In function ‘_cffi_f_gp_port_info_set_name’:

gphoto2/__pycache__/_gphoto2_cffi_2b99ad6cxf2c96d55.c:5038:3: warning: implicit declaration of function ‘gp_port_info_set_name’ [-Wimplicit-function-declaration]

gphoto2/__pycache__/_gphoto2_cffi_2b99ad6cxf2c96d55.c: In function ‘_cffi_f_gp_port_info_set_path’:

gphoto2/__pycache__/_gphoto2_cffi_2b99ad6cxf2c96d55.c:5082:3: warning: implicit declaration of function ‘gp_port_info_set_path’ [-Wimplicit-function-declaration]

gphoto2/__pycache__/_gphoto2_cffi_2b99ad6cxf2c96d55.c: In function ‘_cffi_f_gp_port_info_set_type’:

gphoto2/__pycache__/_gphoto2_cffi_2b99ad6cxf2c96d55.c:5118:3: warning: implicit declaration of function ‘gp_port_info_set_type’ [-Wimplicit-function-declaration]

error: command 'gcc' failed with exit status 1

----------------------------------------
Command "/usr/bin/python -c "import setuptools, tokenize;__file__='/tmp/pip-build-g0_XGC/gphoto2-cffi/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-KlvSiy-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-build-g0_XGC/gphoto2-cffi
divinemayhem commented 9 years ago

Here's a slight aside.. I'm attempting to bypass the Raspberry Pi setup that was shipped as a kit (and doesn't seem to be working any more). Is this even advisable? The Pi seemed to bring more hassle than it was worth to the equation, but now, unable to even install Spreads to a clean Debian box, I'm wondering where I should direct my time and energy. The Pi worked... for a little bit, then, for some reason, deleted all of the progress we had made.

So, the TLDR question is: Should I push on with trying to run Spreads without the Raspberry Pi?

boredland commented 9 years ago

I think it'd be a good way to serve with working vmware-images so one can drop the current spreadpi image on the pi and start over with a vmware for postprocessing.

2015-02-23 16:11 GMT+01:00 divinemayhem notifications@github.com:

...and LuaJIT-2.0.3. The dependencies never end...

— Reply to this email directly or view it on GitHub https://github.com/DIYBookScanner/spreads/issues/157#issuecomment-75559406 .

divinemayhem commented 9 years ago

I take it that you mean that using the Pi is a better idea. The issue is that the Pi never really worked well. It would capture a few pages, then glitch. We would then restart it and it would do the same thing. Now, we cannot even get it to communicate with the cameras. The current situation came after it completely deleted all of the previous workflows. I would prefer to take it out of the equation completely.

I'm not very fluent with Linux, but I have a great deal of computer knowledge and can follow instructions well. I see that there are ways of running Spreads without the Pi and it seems that a lot of people are happily using Spreads with their DIY book scanner. I find it very frustrating that there isn't a solid guide in existence that details how to get it installed and up & running.

My brain keeps saying "how difficult can this be?". I have a laptop with a FRESH vanilla install of Debian GNU/Linux 7.8 (wheezy) to work with. What steps will get me to a point where I have a Spreads GUI? It doesn't seem like anyone has an aswer.

boredland commented 9 years ago

I seems so. My personal preference would be using small devices with decent power to do the complete job, so I'm on your side. For me most of the times the spreadpi-images worked out of the box, but I'd like to use the rockchip devices (f.e. Rk3288). But, like you do, I got stuck in the installing processes and depency-issues. Thats bad. My bookscanner is on hold ever since. I usually download the whole directory from the pi and let the files be processed by an easy batch. I think there should be two working concepts:

1 The raspberry-images that work should be marked as doing so. In addition

a vmware-image that can do the processing for that one.

2 The apt repository should serve armhf and 64bit installers for current

versions of standalone, server and the pi-like capturing. This, in addition, would allow the developer(s) to serve updated versions to the users on raspberry and other installs.

Sady it seems like there's only Johannes working on the program itself so this in the end is dreamspeaking.

2015-02-23 18:06 GMT+01:00 divinemayhem notifications@github.com:

I take it that you mean that using the Pi is a better idea. The issue is that the Pi never really worked well. It would capture a few pages, then glitch. We would then restart it and it would do the same thing. Now, we cannot even get it to communicate with the cameras. The current situation came after it completely deleted all of the previous workflows. I would prefer to take it out of the equation completely.

I'm not very fluent with Linux, but I have a great deal of computer knowledge and can follow instructions well. I see that there are ways of running Spreads without the Pi and it seems that a lot of people are happily using Spreads with their DIY book scanner. I find it very frustrating that there isn't a solid guide in existence that details how to get it installed and up & running.

My brain keeps saying "how difficult can this be?". I have a laptop with a FRESH vanilla install of Debian GNU/Linux 7.8 (wheezy) to work with. What steps will get me to a point where I have a Spreads GUI? It doesn't seem like anyone has an aswer.

— Reply to this email directly or view it on GitHub https://github.com/DIYBookScanner/spreads/issues/157#issuecomment-75584724 .

adongy commented 9 years ago

IIRC, there is a bootstrapping script (the one that creates the images weekly), so you could start from there.

knjigor commented 9 years ago

Hi there, Divinemayhem if you don't mind using Ubuntu you can try this step by step tutorial https://github.com/OliPelz/spreads-ubuntu-trusty, I'm using it on MSI wind netbook with one small change, I'm using Lubuntu 14.04 and it is working without problems with my diy book scanning unit. I think that all problems that i had during installation, setup and work are documented trough 4 issues I opened here.

boredland commented 9 years ago

I tried to put the manual from above into a script. You may give it a try. https://github.com/boredland/spreadpi-upgrade/blob/master/aio_install.sh

divinemayhem commented 9 years ago

Awesome! There's hope!

I'm grabbing Lubuntu now. I think that it should be fine to use the non-lightweight one, but at this point, I don't want to deviate at all from something that works. I greatly appreciate the help. I'll try and report back with success later.

boredland commented 9 years ago

Well - I now gave it a try myself. If things don't work file an issue in my repo. If things work we could try to split the big file into smaller "libraries" and make it sensitve for different installs (armhf, x64 etc..).

knjigor commented 9 years ago

Just to point to something, I don't know if this is fixed in tutorial, but I remember that i had a problem with running spread after successful installation last time I installed it (clean installation about a month ago), here is issue https://github.com/DIYBookScanner/spreads/issues/162, you have to install dependency and after that it should start.

knjigor commented 9 years ago

Btw except chdkptp every thing else was installed from listed links (that versions, not current)

boredland commented 9 years ago

I grabbed the latest chdkptp in my script. If there are depency issues, divinemayhem could point them out so I could fix it in the script.

2015-02-23 21:14 GMT+01:00 knjigor notifications@github.com:

Btw except chdkptp every thing else was installed from listed links (that versions, not current)

— Reply to this email directly or view it on GitHub https://github.com/DIYBookScanner/spreads/issues/157#issuecomment-75622283 .

knjigor commented 9 years ago

Boredland I was looking at script you make, and I think that it is ok, but as I remember I couldn't start web plugin without downgrade from tutorial, also, I see that you didn't install nodejs, and I think that you also need:

$ sudo apt-get install liblua5.2-dev
$ pip install --install-option='--no-luajit' lupa
$ pip install chdkptp.py
boredland commented 9 years ago

Added. Hopefully divinemayhem can give it a try on his virgin install so we can point out that it essentially works.

knjigor commented 9 years ago

I think that I will try to make image of my current installation or live image when I get to work tomorrow so I will leave a link to it.

knjigor commented 9 years ago

@boredland It would be nice, except if installation finish and he start to play with system and forget about us from happiness :-) (little joke)

jbaiter commented 9 years ago

Guys, sorry about the mess... If anybody of you feels up for it, a script to build a *deb package would be really nice, but I currently don't have the time for it. With the newest version of spreads, you no longer need to install chdkptp yourself, it's included in the chdkptp.py package. Also, if you don't need the gphoto2-driver, you can skip those dependencies (just remove gphoto2 from the square brackets in the pip-commandline). Also, please install spreads from the nightly source packages, that way you don't have to install all the nodejs-crap that is neccessary to build the JavaScript bundles. There should be no need to downgrade either. You can refer to the bootstrapping-script for the Raspberry Pi image if you have problems, it lays out the whole procedure pretty clearly: https://github.com/DIYBookScanner/spreadpi/blob/master/delivery/scripts/10-spreads.sh

boredland commented 9 years ago

Removed chdkptp from the script and, as i guess its no longer needed canvas. The only thing making it platform dependent is iup, i guess. Is it needed usually? Since most of the people in my impression use chdk-devices I think one can leave gphoto out for a while.

2015-02-23 22:15 GMT+01:00 Johannes Baiter notifications@github.com:

Guys, sorry about the mess... If anybody of you feels up to it, a script to build a *deb package would be really nice, but I currently don't have the time for it. With the newest version of spreads, you no longer need to install chdkptp yourself, it's included in the chdkptp.py package. Also, if you don't need the gphoto2-driver, you can skip those dependencies (just remove gphoto2 from the square brackets in the pip-commandline).

— Reply to this email directly or view it on GitHub https://github.com/DIYBookScanner/spreads/issues/157#issuecomment-75634890 .

divinemayhem commented 9 years ago

Sorry that there has been a long break between my posts. I am now attempting the install. I couldn't get the script to run (that may be a lack of knowledge on my end..) I gave up on that and just started following the information step by step. There was one discrepancy that I had to fix: sudo ln -s /usr/lib/x86_64-linux-gnu/libturbojpeg.so.0.0.0 /usr/lib/x86_64-linux-gnu/libturbojpeg.so had to be turned into sudo ln -s /usr/lib/i386-linux-gnu/libturbojpeg.so.0.0.0 /usr/lib/i386-linux-gnu/libturbojpeg.so

The spot that I'm currently stuck on is the "add the lua env variable to the global path"

The VI editor is... interesting. I've never experienced anything like it.

I'll attempt to add those 3 lines and see what happens.

divinemayhem commented 9 years ago

OK.. That was frustrating. The next issue was during the compile of Spreads. The 'make' completed successfully, but the 'make all' resulted in "Error 1".

I ignored it and tried to finish up. The 'pip install' for Spreads ran (seemingly) without incident, but I received the following after attempting to select the chdkcamera driver: Selected "chdkcamera" as device driver spreads encountered an error: Traceback (most recent call last): File "/home/bookscanner/.spreads/local/lib/python2.7/site-packages/spreads/main.py", line 318, in main run() File "/home/bookscanner/.spreads/local/lib/python2.7/site-packages/spreads/main.py", line 308, in run args.subcommand(config) File "/home/bookscanner/.spreads/local/lib/python2.7/site-packages/spreads/cli.py", line 203, in configure driver = plugin.get_driver(config["driver"].get()) File "/home/bookscanner/.spreads/local/lib/python2.7/site-packages/spreads/plugin.py", line 457, in get_driver .format(driver_name, err.message[16:]), driver_name) ExtensionException: Missing dependency for driver 'chdkcamera': chdkptp

I will attempt to select 'none' and see if it will complete the config successfully.

divinemayhem commented 9 years ago

I was able to select 'dummy' and write the config file. As I'm not near the cameras at the moment, I will have to stop here for the evening. 9 or so hours until I'm back in the office and can try to get this running.

If any of the traceback that I posted above indicates that I need to do another step, please let me know. I'll check back on this thread in the morning.

Once more.. Thank you so very much for all of the assistance. It has been very helpful, as I've gotten much further along with your guide than any others.

jbaiter commented 9 years ago

@divinemayhem, did you read at all what I wrote? Do not compile the JavaScript bundle yourself, grab the nightly source package. Do not install chdkptp yourself/add the Lua environment variable yourself, chdkptp.py will take care of that itself. Do not downgrade the spreads source to an earlier revision, use the latest checkout. Refer to the script I linked above, it won't work out of the box, but the commands should be pretty much the same on your system, if it's Debian-based.

knjigor commented 9 years ago

I have created an image of my system with working spread instalation based on lubuntu 14.04, configured to use 2 Canon A1100is cameras. I have tested image in vmware and it is working as expected. My system is configured to use proxy settings so I tried to revert settings for image to original state (no proxy) but if you have some network/internet issues, trie to look in that way. Machine is set to auto login, user name is bsu and password is bsu.

I have hosted file on dropbox so I don't know how fast will it download, I will try to talk with my system administrators to gave me a space on our faculty server.

Link: https://www.dropbox.com/s/1t8xtctenhzrqc6/spread-live.iso?dl=0

divinemayhem commented 9 years ago

@jbaiter As I couldn't get the script to run, I just followed along on the step by step guide from here. I figured that, worst case scenario, I'd have to scrap another install and start from scratch again, but I would have a better idea of procedure. A confirmed working method that I could follow (and see some positive results) was a win for me.

That being said, I've followed the guide and followed the "missing dependencies" link that allowed me to install hdkptp.py and Lupa. I was able to select my driver, add autorotate and scantailor (I have no need for OCR, so no tesseract). I bypassed the default page and focus settings so that I could create the configuration file. Just to see if it worked, I invoked the GUI. Success! I could see the GUI with one issue.. There was no resizing available and I could not access the buttons on the bottom of the screen. This was remedied by plugging in an external monitor. I made some selections for shutter speed and focus and saved them as the defaults.

I went back to the configuration to attempt to get the default page and focus to work, but I received errors:

Do you want to setup the focus for your cameras? [y/N]: y Please turn on one of your capture devices. Press any key to continue open_camera_dev_usb: ptp_opensession failed 0x2ff open_camera_dev_usb:usb_ptp_device_reset(): Device or resource busy usb_ptp_get_device_status(): Device or resource busy Please put a book with as little whitespace as possible under your cameras. Press any button to continue spreads encountered an error that looks to be tied with an inability to communicate with the camera(s). Here' is the traceback from the focus selection: Do you want to setup the focus for your cameras? [y/N]: y Please turn on one of your capture devices. Press any key to continue open_camera_dev_usb: ptp_opensession failed 0x2ff open_camera_dev_usb:usb_ptp_device_reset(): Device or resource busy usb_ptp_get_device_status(): Device or resource busy Please put a book with as little whitespace as possible under your cameras. Press any button to continue spreads encountered an error: Traceback (most recent call last): File "/home/bookscanner/.spreads/local/lib/python2.7/site-packages/spreads/main.py", line 318, in main run() File "/home/bookscanner/.spreads/local/lib/python2.7/site-packages/spreads/main.py", line 308, in run args.subcommand(config) File "/home/bookscanner/.spreads/local/lib/python2.7/site-packages/spreads/cli.py", line 246, in configure focus = devs[0]._acquire_focus() File "/home/bookscanner/.spreads/local/lib/python2.7/site-packages/spreadsplug/dev/chdkcamera.py", line 305, in _acquire_focus self._device.switch_mode('record') File "/home/bookscanner/.spreads/local/lib/python2.7/site-packages/chdkptp/device.py", line 109, in switch_mode raise PTPError('Could not switch mode') File "/home/bookscanner/.spreads/local/lib/python2.7/site-packages/chdkptp/lua.py", line 16, in init .format(err_table.msg, err_table.ptp_rc))) AttributeError: 'str' object has no attribute 'msg'

I just assumed that if the cameras (Canon Powershot A2500)s were working with SpreadsPi, then they would be fine with the Desktop version. The cameras are running CHDK version 1.3.0-3699 build October 28, 2014 Camera a2500-100a

The first error, open_camera_dev_usb: ptp_opensession failed 0x2ff, leads me to believe that something is 1) wrong with the installation of CHDKPTP on my end or 2) an issue with the cameras, CHDK or otherwise. I'm attempting to google the info for testing CHDKPTP with a camera connected and I came across this post.

That's where I'm at now.

divinemayhem commented 9 years ago

I see that other people suggest to check chdkptp connection by running the application and pressing the connect button. I can't seem to get chdkptp to even run. I've installed it using the chdkptp.py package that @jbaiter suggested, but I can't seem to find the executable.

I have also heard (but cannot find the documentation) that you can run it in Windows to cross-check to see if it is installed properly on the cameras. Does anyone have any info on this?

boredland commented 9 years ago

What did not work in my script? I can do a check on a vanilla install Friday morning. If you can wait that long. Am 25.02.2015 00:32 schrieb "divinemayhem" notifications@github.com:

I see that other people suggest to check chdkptp connection by running the application and pressing the connect button. I can't seem to get chdkptp to even run. I've installed it using the chdkptp.py package that @jbaiter https://github.com/jbaiter suggested, but I can't seem to find the executable.

I have also heard (but cannot find the documentation) that you can run it in Windows to cross-check to see if it is installed properly on the cameras. Does anyone have any info on this?

— Reply to this email directly or view it on GitHub https://github.com/DIYBookScanner/spreads/issues/157#issuecomment-75872802 .

divinemayhem commented 9 years ago

I couldn't get it to execute.. I got frustrated and (until now) didn't realize that I had to chmod the file to allow it to be executable in terminal. I just went through the step by step instead.

I may give it or the image a go, as I still seem to be missing something that allows the OS to communicate with the camera.

I found P2PCam and the GUI for Windows. I ran it and was able to control the camera. That, to me, rules out the camera as the issue here. When I attempt to configure the camera, I get the following error: open_camera_dev_usb: ptp_opensession failed 0x2ff open_camera_dev_usb:usb_ptp_device_reset(): Device or resource busy usb_ptp_get_device_status(): Device or resource busy

The device is on 002:004 and if I get the info for it, I see the following: (.spreads)bookscanner@bookscanner:~$ lsusb -s 002:004 -v

Bus 002 Device 004: ID 04a9:3271 Canon, Inc. Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 0 (Defined at Interface level) bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 64 idVendor 0x04a9 Canon, Inc. idProduct 0x3271 bcdDevice 0.02 iManufacturer 1 Canon Inc. iProduct 2 Canon Digital Camera iSerial 3 AE6B43B310B14B8C92FCB220B4384F92 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 39 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 bmAttributes 0xc0 Self Powered MaxPower 2mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 3 bInterfaceClass 6 Imaging bInterfaceSubClass 1 Still Image Capture bInterfaceProtocol 1 Picture Transfer Protocol (PIMA 15470) iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0200 1x 512 bytes bInterval 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x02 EP 2 OUT bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0200 1x 512 bytes bInterval 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x83 EP 3 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0008 1x 8 bytes bInterval 9 Device Qualifier (for other device speed): bLength 10 bDescriptorType 6 bcdUSB 2.00 bDeviceClass 0 (Defined at Interface level) bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 64 bNumConfigurations 1 Device Status: 0x0001 Self Powered

So, it is connected.. I've tested the camera's chdk connectivity with Windows.. it just doesn't seem to want to be accessable. I can't seem to find an equivilent application for (L)Ubuntu to test just the connection. Could it be interference from GPhoto2? I believe that I read that it was not required in the newer builds. Should I remove it?

divinemayhem commented 9 years ago

Success! I had to kill the GPhoto volume manager process to allow chdk to access the camera. I am eager to try it out tomorrow morning in the office.

Now, if I would like to update Spreads or add additional plugin, the hidtrigger, for example, how would I go about doing so without wrecking my progress?

jbaiter commented 9 years ago

@divinemayhem, the hidtrigger plugin is only really useful on a headless device with no other peripherals attached. If you're running on a regular Desktop computer, just leave it disabled and use the triggering mechanisms of the interface of your choice. To update your plugin selection, just run spread configure on the command-line and select the ones you want to use. Be aware though, that some of them may come with additional dependencies that you have to install (e.g. tesseract, ScanTailor, pdfbeads, etc.). Also, for future reference, there's a Spreads subforum on the DIYBookScanner forums, where we probably should continue this discussion.

divinemayhem commented 9 years ago

Agreed.. I have a few new questions, but I'll move over there to ask them. Once again, thank everyone in this thread for all of your assistance.

I plan on attempting the script install on a fresh box (just to have a fallback machine) and I'll report on the success of it here.

divinemayhem commented 9 years ago

@boredland Executing your script worked until:

E: Unable to locate package build-essenital ./aio_install.sh: line 20: git: command not found ./aio_install.sh: line 21: cd: jbig2enc: No such file or directory ./aio_install.sh: line 22: ./autogen.sh: No such file or directory ./aio_install.sh: line 23: ./configure: No such file or directory ./aio_install.sh: line 24: make: command not found sudo: make: command not found ./aio_install.sh: line 30: git: command not found ./aio_install.sh: line 31: cd: pdfbeads: No such file or directory ./aio_install.sh: line 32: gem: command not found sudo: gem: command not found ./aio_install.sh: line 38: git: command not found ./aio_install.sh: line 39: cd: djvubind: No such file or directory sudo: ./setup.py: command not found ./aio_install.sh: line 152: syntax error: unexpected end of file

divinemayhem commented 9 years ago

I installed git and re-ran the script. This time:

Writing /usr/local/lib/python3.4/dist-packages/djvubind-1.2.1.egg-info ./aio_install.sh: line 152: syntax error: unexpected end of file

boredland commented 9 years ago

Hi there,

git-core and build-essential are in the apt-list - I can't imagine any debian/ubuntu-install failing on those packages. please enter

sudo apt-get install python2.7 python2.7-dev python-virtualenv \
python-tk idle python-pmw python-imaging \
python-pip libpython2.7-dev libusb-dev \
libjpeg-dev libtiff5-dev libqt4-core ruby-rmagick \
libmagickwand-dev nano \
ruby-hpricot lua5.2 git imagemagick tesseract-ocr* build-essenital \
libqt4-dev libjpeg8-dev libjpeg-turbo8-dev libjpeg-dev git-core \
bash-completion nfs-common ghostscript ruby1.9.1 ruby1.9.1-dev \
rubygems1.9.1 irb1.9.1 ri1.9.1 rdoc1.9.1 libopenssl-ruby1.9.1 libssl-dev \
zlib1g-dev subversion cmake zlib1g-dev libpng12-dev libtiff5-dev \
libboost1.55-all-dev libxrender-dev liblua5.2-dev -y

into your command-line to check if this works.

divinemayhem commented 9 years ago

The message at the end of all of the "note, selecting..." is:

E: Unable to locate package build-essenital

divinemayhem commented 9 years ago

Removing the text 'build-essential' allows the script to continue.

boredland commented 9 years ago

damn. It's just a typo. build-essential is it without. Yeah. It only continues because It will jump over all the steps.

boredland commented 9 years ago

If you want to debug whats going wront, you may follow my script step by step by copy-pasting the lines. Just leave out the "command -v jbig2 >/dev/null 2>&1 || {" brackets. And use the latest version. I removed the IUP-Binary as jbaiter suggested.

divinemayhem commented 9 years ago

Forgive me for asking what may be a silly question, but is there any harm in re-running the entire script? My limited experience suggests that it will see that some things are already installed and will skip over them. Is this correct?