LinuxForum.Fans
Тема

Компиляция исходных текстов sams-2.0.0-rc1

Автор: Me_Shock 1 сообщений 2791 просмотров
#305540

Все доброго)
Есть прокси squid3 на debian6 amd64. Поскольку ничего свободного для биллинга круче sams2 я не нашел, решил ставить его.
Трабл в том что крайняя версия только в исходниках а опыта компиляции у меня почти 0( по сабжу: Делал все по офф. докам, загвоздка возникла тут:

Показать
[console]root@gw5:/dld/sams-2.0.0-rc1# sh ./configure
.....blah-blah...
config.status: executing libtool commands

Use MySQL API: no
Use PostgreSQL API: no
Use unixODBC API: no
Use LDAP API: no
Using pcre: none
Use dynamic plugin: yes

Locations:
config file: /usr/local/etc/sams2.conf
daemons: /usr/local/bin
web interface: /usr/local/share/sams2
documentation: /usr/local/share/doc/sams2-2.0.0
httpd server: /usr/sbin/apache2

Note: If later on, you will use
make install exec_prefix=/foo
or make install DESTDIR=/tmp/package
the locations above would be incorrect

WARNING: Regular expressions won't work without pcre or pcrecpp # ушла после установки libpcre3-dev
Neither MySQL nor PostgreSQL nor unixODBC API detected.
Install at least one of them and run configure again.
Aborted.

[/console]

mysql-server5.1 поставлен, но как объяснить этот факт скрипту автонастройки самса2? Думаю так: (прошу помощи - поправьте ежели чего..)

Показать
[console]root@gw5:/dld/sams-2.0.0-rc1# sh ./configure --help
`configure' configures sams2 2.0.0 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]
#--bindir=/bin или /usr/bin ?

--sbindir=DIR system admin executables [EPREFIX/sbin]
#--sbindir=/sbin или /usr/sbin ?

--libexecdir=DIR program executables [EPREFIX/libexec]
#--libexecdir=/lib или /usr/lib ?

--sysconfdir=DIR read-only single-machine data [PREFIX/etc]
#--sysconfdir=/etc или /usr/local/etc ?

--sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
#--sharedstatedir=/var/lib ?

--localstatedir=DIR modifiable single-machine data [PREFIX/var]
#--localstatedir=/usr/bin/dpkg или
#--localstatedir=/etc/dpkg или
#--localstatedir=/usr/lib/dpkg или
#--localstatedir=/usr/lib64/dpkg или
#--localstatedir=/usr/share/dpkg

--libdir=DIR object code libraries [EPREFIX/lib]
#--libdir=/lib

--includedir=DIR C header files [PREFIX/include]
#--includedir=/usr/local/include

--oldincludedir=DIR C header files for non-gcc [/usr/include]
#--oldincludedir=/usr/include

--datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
#--datarootdir=/usr/local/share или #--datarootdir=/usr/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/sams2]

# --DIR-name=/usr/share/doc/DIR-name ??
--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-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-libtool-lock avoid locking (might break parallel builds)

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-srcdocs build with source documentation [default=no]
--without-pcre build without pcre [default=no]
--with-pcre-includes=DIR
where the pcre includes are.
--with-pcre-libraries=DIR
where the pcre libraries are.
--without-mysql build without mysql API [default=no]

# нужно ставить "libmysqlclient-dev"?
--with-mysql-includes=DIR # where the MySQL includes are.
#--with-mysql-includes=/usr/include/mysql # так?

--with-mysql-libraries=DIR # where the MySQL libraries are.
#--with-mysql-libraries=/usr/lib/mysql

--without-pq build without PostgreSQL API [default=no]
--with-pq-includes=DIR where the LibPQ includes are.
--with-pq-libraries=DIR where the LibPQ libraries are.
--without-unixodbc build without unixODBC API [default=no]
--with-unixodbc-includes=DIR
where the unixODBC includes are.
--with-unixodbc-libraries=DIR
where the unixODBC libraries are.

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
CXX C++ compiler command
CXXFLAGS C++ compiler flags
CXXCPP 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 <sams@nixdev.net>.
[/console]

Это вообще реально собрать? Если да - давайте писать HOWTO или хоть команду сборки напишем для таких же одаренных как я xD

Хауту когда-нибудь будет такое: Допиливание компиляции (установка) sams2 для squid3.x в debian6
Описание шагов начинается с пункта №3 вот этой кривой статьи
1. Скачаем и распакуем крайние на 28.02.2013 исходники sams2:

Показать
[console]# cd / && mkdir dld && cd /dld
# wget http://sams.perm.ru/download/sams-2.0.0-rc1.tar.bz2
# tar xvjf sams-2.0.0-rc1 && cd sams-2.0.0-rc1/
# make -f Makefile.cvs
[/console]

а дальше помогите плизз пилить:

Показать
[console]root@gw5:/dld/sams-2.0.0-rc1# sh ./configure
--bindir=/bin
--sbindir=/sbin
--libexecdir=/lib
--sysconfdir=/etc
--sharedstatedir=/var/lib
--localstatedir=/usr/bin/dpkg
--libdir=/lib
--includedir=/usr/local/include
--oldincludedir=/usr/include
--datarootdir=/usr/local/share

--infodir=DIR ?
--localedir=DIR ?
--mandir=DIR ?
--docdir=DIR ?

--htmldir=DIR ?
--dvidir=DIR ?
--pdfdir=DIR ?
--psdir=DIR ?

--with-mysql-includes=/usr/include/mysql
--with-mysql-libraries=/usr/lib/mysql
[/console]
Войдите или зарегистрируйтесь, чтобы ответить.