前提・実現したいこと
さくらレンタルサーバで GoAccess を動かしたい。
発生している問題・エラーメッセージ
Shared object "libGeoIP.so.1" not found, required by "bin2c" *** [tpls.h] Error code 1
該当のソースコード
bash
1% wget https://tar.goaccess.io/goaccess-1.2.tar.gz 2% tar -xzvf goaccess-1.2.tar.gz 3% cd goaccess-1.2 4% bash 5$ LDFLAGS="-L$HOME/local/lib" CFLAGS="-I$HOME/local/include" ./configure --enable-utf8 --enable-geoip=legacy --prefix=$HOME/local/ 6$ make
試したこと
その1
GeoIP のインストールはできました。
% wget https://github.com/maxmind/geoip-api-c/releases/download/v1.6.11/GeoIP-1.6.11.tar.gz % tar -xzvf GeoIP-1.6.11.tar.gz % cd GeoIP-1.6.11 % ./configure --prefix=$HOME/local/ % make % make install
次に本体をビルドしようとすると、GeoIP 関連のファイルが見つからないと言われます。
% wget https://tar.goaccess.io/goaccess-1.2.tar.gz % tar -xzvf goaccess-1.2.tar.gz % cd goaccess-1.2 % bash $ LDFLAGS="-L$HOME/local/lib" CFLAGS="-I$HOME/local/include" ./configure --enable-utf8 --enable-geoip=legacy --prefix=$HOME/local/ $ make ./bin2c resources/tpls.html src/tpls.h tpls Shared object "libGeoIP.so.1" not found, required by "bin2c" *** [tpls.h] Error code 1
その2
config.site
ファイル作成
$ cat << EOF > $HOME/local/share/config.site CPPFLAGS=-I$HOME/local/include LDFLAGS=-L$HOME/local/lib EOF
.cshrc
ファイルにLD_LIBRARY_PATH
を追加。
set LD_LIBRARY_PATH = ($HOME/local/lib)
- ログインし直す。
- 以下のコマンドで同じエラー。
% ./configure --enable-utf8 --enable-geoip=legacy --prefix=$HOME/local/ ... % make ./bin2c resources/tpls.html src/tpls.h tpls Shared object "libGeoIP.so.1" not found, required by "bin2c" *** [tpls.h] Error code 1
補足情報
サーバ
% uname -r 9.1-RELEASE-p24 % uname -m amd64
./configure --help
$ ./configure --help `configure' configures goaccess 1.2 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/goaccess] --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 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] --disable-dependency-tracking speeds up one-time build --enable-dependency-tracking do not reject slow dependency extractors --enable-debug Create a debug build. Default is disabled --enable-geoip Enable GeoIP country lookup. Default is disabled --enable-utf8 Enable ncurses library that handles wide characters --enable-tcb Enable TokyoCabinet database. Default is disabled --disable-zlib Build without ZLIB compression --disable-bzip Build without BZIP2 compression Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --with-openssl build with OpenSSL support --with-getline Build using dynamic line buffer. Some influential environment variables: CC C compiler command CFLAGS C compiler flags LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a nonstandard directory <lib dir> LIBS libraries to pass to the linker, e.g. -l<library> CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if you have headers in a nonstandard directory <include dir> CPP C preprocessor 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 <goaccess@prosoftcorp.com>. goaccess home page: <http://goaccess.io>.
libGeoIP.so.1 の場所
問題の libGeoIP.so.1
は $HOME/local/lib
に入っています。
% ls $HOME/local/lib libGeoIP.a libGeoIP.so.1 libGeoIP.la libGeoIP.so.1.6.11 libGeoIP.so
あなたの回答
tips
プレビュー