Mike Harris wrote:

I have just downloaded the latest stable release and have some issues
compiling it.

BTW, we advice to use the current CVS HEAD which is a 1.4.1-rc stable, a lot of this have been fixed since 1.4.0 stable. (including the mysql vs kannel list_foobar() naming clash)


./configure --prefix=/usr/local \
--disable-wap \
--enable-start-stop-daemon \
--disable-ssl \
--with-mysql \
--with-mysql-dir=/usr/local/mysql \
--with-dlr=mysql

When I run ./configure I get;

Configuring DB support ...
checking whether to compile with MySQL support... searching
checking for mysql_config... /usr/local/sbin/mysql_config
checking mysql version... 5.0.13-rc
checking mysql reentrant libs...  -L/usr/local/mysql/lib -lmysqlclient_r -lz
-lpthread -lcrypt -lnsl -lm -lpthread
checking for mysql_init in -lmysqlclient_r... yes
checking mysql includes... -I/usr/local/mysql/include
checking for mysql/mysql.h... no
checking for mysql/mysql_version.h... no
checking whether to compile with MySQL support... yes

So it appears to not find mysql/mysql.h - not surprising its in
/usr/local/Mysql/include..
So make depend fails with;

# make depend
for dir in gw gw/smsc gwlib test utils wmlscript checks wap radius; do \
        gcc -D_REENTRANT=1 -I. -Igw  -D_XOPEN_SOURCE=600 -D_BSD_SOURCE
-I/usr/include/libxml2 -I/usr/local/mysql/include -MM $dir/*.c | sed "s:^[^
]:$dir/&:"; done > .depend
gw/dlr_mysql.c:74:25: mysql/mysql.h: No such file or directory

which means the behaviour of mysql-4.x to mysql-5.x changed in the way the include header file layout is set while installation.

Which --prefix path did you use while compiling mysql? was it --prefix=/usr/local/mysql?

What is the output of 'mysql_config --include'?
Since configure depends on those value when the mysql_config binary is found.

If mysql-5.x does not prefix the header directory with an additional 'mysql' dir, then we need to change this to reflect latest mysql layout behaviour.

If I hardcode all of the $loc to /usr/local/Mysql - make then does this;

make
gcc -D_REENTRANT=1 -I. -Igw  -D_XOPEN_SOURCE=600 -D_BSD_SOURCE
-I/usr/include/libxml2 -I/usr/local/mysql/include -o gw/dlr_mysql.o -c
gw/dlr_mysql.c
In file included from /usr/local/mysql/include/mysql.h:62,
                 from gw/dlr_mysql.c:74:
/usr/local/mysql/include/my_list.h:32: error: conflicting types for
'list_delete'
./gwlib/list.h:179: error: previous declaration of 'list_delete' was here
/usr/local/mysql/include/my_list.h:32: error: conflicting types for
'list_delete'
./gwlib/list.h:179: error: previous declaration of 'list_delete' was here
make: *** [gw/dlr_mysql.o] Error 1

I then find this;

"This issue has been fixed a while ago by renaming all list_* functions
in gwlib to gwlist_*. Please use CVS HEAD. It's fairly stable"

So I download CVS HEAD, same problem with mysql/mysql.h so hardcode paths
and it builds!!

ok, see above, please answer and we'll go on further with this. Obviously it would be better to file a bug report for this, with minor priority, simply to keep track of it... http://bugs.kannel.org/

But when I try to run it;

/usr/local/sbin/bearerbox -- /etc/kannel/kannel.conf.cvs
2005-10-20 17:47:42 [3936] [0] INFO: Debug_lvl = -1, log_file = <none>,
log_lvl = 0
2005-10-20 17:47:42 [3936] [0] DEBUG: Loading include file
`/etc/kannel/modems.conf' (on line 17 of file /etc/kannel/kannel.conf.cvs).
2005-10-20 17:47:42 [3936] [0] ERROR: Group 'mysql-connection' may not
contain field 'mysql-username'.
2005-10-20 17:47:42 [3936] [0] ERROR: Error found on line 164 of file
`/etc/kannel/kannel.conf.cvs'.
2005-10-20 17:47:42 [3936] [0] PANIC: Couldn't read configuration from
`/etc/kannel/kannel.conf.cvs'.
2005-10-20 17:47:42 [3936] [0] PANIC:
/usr/local/sbin/bearerbox(gw_panic+0x174) [0x80cee60]
2005-10-20 17:47:42 [3936] [0] PANIC: /usr/local/sbin/bearerbox(main+0x17d)
[0x8058b78]
2005-10-20 17:47:42 [3936] [0] PANIC:
/lib/tls/libc.so.6(__libc_start_main+0xd3) [0x4ade23]
2005-10-20 17:47:42 [3936] [0] PANIC: /usr/local/sbin/bearerbox [0x8057e59]

#
# MySQL connection
group = mysql-connection
id = mydlr
host = localhost
mysql-username = xxx
mysql-password = xxx
database = xxx
max-connections = 1
# MySQL config
group = dlr-db
id = mydlr
table = dlr
field-smsc = smsc
field-timestamp = ts
field-destination = destination
field-service = service
field-url = url
field-mask = mask
field-status = status
field-source = source
field-boxc-id = boxc

What am I doing wrong here? Help!

nothing... there has been a compatibility breaking change since 1.4.0 and cvs, see ChangeLog entry:

2005-09-21  Stipe Tolj  <[EMAIL PROTECTED]>
   Feature request #254 in order to set port values for mysql and pgsql
   database connection types. Used as DLR storage space.
   * gwlib/cfg.def: added config directive 'port' to 'myqsl|pgsql-connection'
     groups, changed mysql config directive names to 'username' and
     'password' to reflect the harmonization to others. (COMPATIBILITY BREAKER)
   * gwlib/dbpool.[ch]: added port value to mysql and pgsql confs, also
     renamed internal pgsql variables to be more harmonized.
   * gwlib/dbpool_[pgsql|myqsl].c: added port variable support and changed
     internal variable naming.
   * gw/dlr_[sdb|oracle].c: source code layout fixes. No logic change.
   * gw/dlr_[pgsql|mysql].c: added port variable support and minor source
     layout changes.

hence use 'username' and 'password' as config directive.

Stipe

mailto:stolj_{at}_wapme-group.de
-------------------------------------------------------------------
Wapme Systems AG

Vogelsanger Weg 80
40470 Düsseldorf, NRW, Germany

phone: +49.211.74845.0
fax: +49.211.74845.299

mailto:info_{at}_wapme-systems.de
http://www.wapme-systems.de/
-------------------------------------------------------------------

Reply via email to