1. TOP
  2. Web サーバ
  3. [サーバ] さくらインターネットでZBar bar code readerを使う

[サーバ] さくらインターネットでZBar bar code readerを使う

カテゴリ:
Web
サーバ
| トラックバック(0)
投稿者:yo yo

サーバレンタルサービス、さくらインターネットのスタンダードプランへZBar bar code readerをダウンロードして、展開して、コンパイルして、インストールする。

検索しても該当する情報がないのでメモ。

  # ホームディレクトリにソースを保存するディレクトリを無ければ作成し移動
  % mkdir -p $HOME/local/src
  % cd $HOME/local/src
  
  ## ファイルはftpでアップロードしてもOK
  # ファイルのダウンロードとインストール
  % wget https://jaist.dl.sourceforge.net/project/zbar/zbar/0.10/zbar-0.10.tar.bz2
  % tar -jxvf zbar-0.10.tar.bz2
  % cd zbar-0.10

  # 以下のみだとビルド時にエラーが出るので設定項目を確認すること
  % ./configure --prefix=$HOME/local

  # ヘルプを確認
  % ./configure -h
  
  # 構成に応じて設定
  % ./configure --prefix=$HOME/local CPPFLAGS=-I/usr/local/include --with-libiconv-prefix=/usr/local --disable-video --without-gtk --without-qt
  % make
  % make install
  
  

想定されるエラー内容

設定時

configure: error: test for video support failed!
videoまわりが無い。「--disable-video」のオプションを付けてvideo対応を外す。
GTK... configure: error: Package requirements (gtk+-2.0 gthread-2.0)
gtkまわりが無い。「--without-gtk」を付けてgtk対応を外す。
QT... configure: error: Package requirements (QtCore >= 4 QtGui >= 4)
QTまわりが無い。「--without-qt」を付けてQT対応を外す。

その他、使わないパッケージは色々と外しておいても良い。

ビルド時

iconv.h: No such file or directory(iconv.hが見つかりません。)
Cのヘッダファイルが置いてあるディレクトリがデフォルトと異なる。ディレクトリを指定(今回の場合は:CPPFLAGS=-I/usr/local/include)して./configure。
libzbar.so: undefined reference to `libiconv'(libiconvが見つかりません。)
libiconvが置いてある/include or /libが入っているディレクトリを指定(今回の場合は:--with-libiconv-prefix=/usr/local)して./configure。もしくは--without-libiconv-prefixを指定してlibiconvを使わないようにして、./configure。

ビルド(make)後に、設定を再変更(./configure)したらきちんとmake cleanを実行してからビルドする。何故か上手くいかない、インストール先指定のprefixが効かないとか言う場合は一旦全部削除して、ソースファイルの解凍から再度行う。

上手くいけば$HOME/local/bin/zbarimgなどが出来ている。

configure' configures zbar 0.10 to adapt to many kinds of systems.

Usage: ./configure [OPTION]... [VAR=VALUE]...

To assign environment variables (e.g., CC, CFLAGS...), specify them as
VAR=VALUE.  See below for descriptions of some of the useful variables.

Defaults for the options are specified in brackets.

Configuration:
  -h, --help              display this help and exit
      --help=short        display options specific to this package
      --help=recursive    display the short help of all the included packages
  -V, --version           display version information and exit
  -q, --quiet, --silent   do not print `checking...' messages
      --cache-file=FILE   cache test results in FILE [disabled]
  -C, --config-cache      alias for `--cache-file=config.cache'
  -n, --no-create         do not create output files
      --srcdir=DIR        find the sources in DIR [configure dir or `..']

Installation directories:
  --prefix=PREFIX         install architecture-independent files in PREFIX
                          [/usr/local]
  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
                          [PREFIX]

By default, `make install' will install all the files in
`/usr/local/bin', `/usr/local/lib' etc.  You can specify
an installation prefix other than `/usr/local' using `--prefix',
for instance `--prefix=$HOME'.

For better control, use the options below.

Fine tuning of the installation directories:
  --bindir=DIR            user executables [EPREFIX/bin]
  --sbindir=DIR           system admin executables [EPREFIX/sbin]
  --libexecdir=DIR        program executables [EPREFIX/libexec]
  --sysconfdir=DIR        read-only single-machine data [PREFIX/etc]
  --sharedstatedir=DIR    modifiable architecture-independent data [PREFIX/com]
  --localstatedir=DIR     modifiable single-machine data [PREFIX/var]
  --libdir=DIR            object code libraries [EPREFIX/lib]
  --includedir=DIR        C header files [PREFIX/include]
  --oldincludedir=DIR     C header files for non-gcc [/usr/include]
  --datarootdir=DIR       read-only arch.-independent data root [PREFIX/share]
  --datadir=DIR           read-only architecture-independent data [DATAROOTDIR]
  --infodir=DIR           info documentation [DATAROOTDIR/info]
  --localedir=DIR         locale-dependent data [DATAROOTDIR/locale]
  --mandir=DIR            man documentation [DATAROOTDIR/man]
  --docdir=DIR            documentation root [DATAROOTDIR/doc/zbar]
  --htmldir=DIR           html documentation [DOCDIR]
  --dvidir=DIR            dvi documentation [DOCDIR]
  --pdfdir=DIR            pdf documentation [DOCDIR]
  --psdir=DIR             ps documentation [DOCDIR]

Program names:
  --program-prefix=PREFIX            prepend PREFIX to installed program names
  --program-suffix=SUFFIX            append SUFFIX to installed program names
  --program-transform-name=PROGRAM   run sed PROGRAM on installed program names

X features:
  --x-includes=DIR    X include files are in DIR
  --x-libraries=DIR   X library files are in DIR

System types:
  --build=BUILD     configure for building on BUILD [guessed]
  --host=HOST       cross-compile to build programs to run on HOST [BUILD]

Optional Features:
  --disable-option-checking  ignore unrecognized --enable/--with options
  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
  --enable-shared[=PKGS]  build shared libraries [default=yes]
  --enable-static[=PKGS]  build static libraries [default=yes]
  --enable-fast-install[=PKGS]
                          optimize for fast installation [default=yes]
  --disable-dependency-tracking  speeds up one-time build
  --enable-dependency-tracking   do not reject slow dependency extractors
  --disable-libtool-lock  avoid locking (might break parallel builds)
  --enable-codes=SYMS     select symbologies to compile
                          [default=ean,i25,code39,code128,qrcode]
  --disable-rpath         do not hardcode runtime library paths
  --disable-pthread       omit support for threaded applications
  --disable-video         exclude video scanner features
  --disable-assert        turn off assertions

Optional Packages:
  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
  --with-pic              try to use only PIC/non-PIC objects [default=use
                          both]
  --with-gnu-ld           assume the C compiler uses GNU ld [default=no]
  --with-gnu-ld           assume the C compiler uses GNU ld default=no
  --with-libiconv-prefix[=DIR]  search for libiconv in DIR/include and DIR/lib
  --without-libiconv-prefix     don't search for libiconv in includedir and libdir
  --with-x                use the X Window System
  --without-xshm          disable support for X shared memory extension
  --without-xv            disable support for XVideo extension
  --without-jpeg          disable support for JPEG image conversions
  --without-imagemagick   disable support for scanning images using
                          ImageMagick
  --with-npapi            enable support for Firefox/Mozilla/OpenOffice NPAPI
                          plugin
  --without-gtk           disable support for GTK+ widget
  --without-python        disable support for Python bindings
  --without-qt            disable support for Qt4 widget

Some influential environment variables:
  CC          C compiler command
  CFLAGS      C compiler flags
  LDFLAGS     linker flags, e.g. -L if you have libraries in a
              nonstandard directory 
  LIBS        libraries to pass to the linker, e.g. -l
  CPPFLAGS    C/C++/Objective C preprocessor flags, e.g. -I if
              you have headers in a nonstandard directory 
  CPP         C preprocessor
  CXX         C++ compiler command
  CXXFLAGS    C++ compiler flags
  CXXCPP      C++ preprocessor
  PKG_CONFIG  path to pkg-config utility
  XMLTO       location of xmlto, used for optional documentation generation
  XMLTOFLAGS  additional arguments for xmlto
  XSHM_LIBS   linker flags for X shared memory extension
  XMKMF       Path to xmkmf, Makefile generator for X Window System
  XV_LIBS     linker flags for XVideo extension
  MAGICK_CFLAGS
              C compiler flags for MAGICK, overriding pkg-config
  MAGICK_LIBS linker flags for MAGICK, overriding pkg-config
  NPAPI_CFLAGS
              C compiler flags for NPAPI, overriding pkg-config
  NPAPI_LIBS  linker flags for NPAPI, overriding pkg-config
  GLIB_GENMARSHAL
              full path to glib-genmarshal
  GTK_CFLAGS  C compiler flags for GTK, overriding pkg-config
  GTK_LIBS    linker flags for GTK, overriding pkg-config
  PYTHON_CONFIG
              full path to python-config program
  PYTHON_CFLAGS
              compiler flags for building python extensions
  PYTHON_LIBS linker flags for building python extensions
  PYGTK_H2DEF full path to PyGTK h2def.py module
  PYGTK_CODEGEN
              full path to pygtk-codegen program
  PYGTK_DEFS  directory where PyGTK definitions may be found
  PYGTK_CFLAGS
              C compiler flags for PYGTK, overriding pkg-config
  PYGTK_LIBS  linker flags for PYGTK, overriding pkg-config
  MOC         full path to Qt moc program
  QT_CFLAGS   C compiler flags for QT, overriding pkg-config
  QT_LIBS     linker flags for QT, overriding pkg-config

Use these variables to override the choices made by `configure' or to help
it to find libraries and programs with nonstandard names/locations.

Report bugs to .
ZBar bar code reader

« [サーバ] さくらインターネットのスタンダードプランの色々メモ | ホーム | [適当] オブジェクト指向のインタフェースや抽象クラスやマジックメソッドってのはつまるところ »

トラックバック

http://pulltab.info/mt/mt-tb.cgi/149
ページの先頭に戻る