Home > bash, CentOS, Fedora 15 64 bit, Fedora 17 64 bit, Linux, PostgreSQL, RHEL, Slackware, Uncategorized > Compile svn kannel sqlbox and opensmmp with PostgreSQL and gsoap support at CentOS 6.2 x86_64 GNU/Linux

Compile svn kannel sqlbox and opensmmp with PostgreSQL and gsoap support at CentOS 6.2 x86_64 GNU/Linux

1, install PostgreSQL 9.2 from the official postgresql.org repository

yum -y install wget bash-completion
wget http://yum.postgresql.org/9.2/redhat/rhel-6-i386/pgdg-centos92-9.2-6.noarch.rpm
yum localinstall --nogpgcheck pgdg-centos92-9.2-6.noarch.rpm
yum install postgresql92-server postgresql92-plperl postgresql92-pltcl postgresql92-devel postgresql92-docs postgresql92-libs postgresql92-plpython postgresql92-contrib -y 
yum install skytools-92 skytools-92-modules pgtune pgbouncer pgagent_92 pg_top92 bucardo

2. install kannel with PostgreSQL and soap interface

yum install automake  pcre* mlocate -y
yum groupinstall 'Development Tools'
yum install libxml2-devel -y
yum install openssl-devel -y 
mkdir /opt/installs/kannel.svn && cd /opt/installs/kannel.svn
svn co https://svn.kannel.org/gateway/trunk
cd /opt/installs/
svn co https://gsoap2.svn.sourceforge.net/svnroot/gsoap2 gsoap2
cd gsoap2
./configure

The build will fail with the following error :

make -j3
cd . && /bin/sh /opt/installs/gsoap2/missing --run autoconf
 cd . && /bin/sh /opt/installs/gsoap2/missing --run automake-1.10 --foreign 
/opt/installs/gsoap2/missing: line 46: automake-1.10: command not found
WARNING: `automake-1.10' is needed, and you do not seem to have it handy on your
         system.  You might have modified some files without having the
         proper tools for further handling them.  Check the `README' file,
         it often tells you about the needed prerequirements for installing
         this package.  You may also peek at any GNU archive site, in case
         some other package would contain this missing `automake-1.10' program.
make: *** [Makefile.in] Error 1
make: *** Waiting for unfinished jobs....
aclocal.m4:14: error: this file was generated for autoconf 2.61.
You have another version of autoconf.  If you want to use that,
you should regenerate the build system entirely.
aclocal.m4:14: the top level
autom4te: /usr/bin/m4 failed with exit status: 63
WARNING: `autoconf' is missing on your system.  You should only need it if
         you modified `configure.in'.  You might want to install the
         `Autoconf' and `GNU m4' packages.  Grab them from any GNU
         archive site.

After some digging into the source and googling in deep, the fix is simple, but very efficient …:

cd /opt/installs/gsoap2/
touch config.h.in
touch Makefile.in
touch configure
# NOW you can build it 🙂 
make -j3
.....
**  The gSOAP code generator for C and C++, soapcpp2 release 2.8.11
**  Copyright (C) 2000-2012, Robert van Engelen, Genivia Inc.
**  All Rights Reserved. This product is provided "as is", without any warranty.
**  The soapcpp2 tool is released under one of the following two licenses:
**  GPL or the commercial license by Genivia Inc.

Saving wsdlStub.h annotated copy of the input declarations
Saving xmime.nsmap namespace mapping table
Saving wsdlH.h interface declarations
Saving wsdlC.cpp XML serializers

Compilation successful
....
# install it : 
make -j3  install 
....
+--------------------------------------------------------+
| You now have successfully built and installed gsoap.   |
|                                                        |
| You can link your programs with -lgsoap++ for          |
| C++ projects created with soapcpp2 and you can link    |
| with -lgsoap for C projects generated with soapcpp2 -c |
|                                                        |
| There are also corresponding libraries for SSL and     |
| zlib compression support (-lgsoapssl and lgsoapssl++)  |
| which require linking -lssl -lcrypto -lz               |
|                                                        |
| Thanks for using gsoap.                                |
|                                                        |
|               http://sourceforge.net/projects/gsoap2   |
+--------------------------------------------------------+

Now go for the kannel install

cd /opt/installs/kannel.svn/trunk/
./configure  --with-pgsql --enable-ssl --with-gsoap --enable-start-stop-daemon --enable-pcre
# it will fail due to missing libpq-fe.h
# fix it by creating the proper link 
ln -s /usr/pgsql-9.2/ /usr/pgsql
# now try again
./configure  --with-pgsql --enable-ssl --with-gsoap --enable-start-stop-daemon --enable-pcre
# it will fails AGAIN 🙂 with the following error : 
Configuring for gSOAP support ...
checking whether to compile with SOAP support... not found
configure: error: Unable to find gSOAP import at /usr/share/gsoap/import or plugin at /usr/share/gsoap/plugin
root@aegir.voicecom.bg:[Thu Nov 29 23:11:29]:[/opt/installs/kannel.svn/trunk]$ /usr/local/bin/soapcpp2 -d `dirname soap/service/parlayx/soapH.h` -I /usr/share/gsoap/import -I soap/service/parlayx -cLxw soap/service/parlayx/parlayx_sms_send_service_2_1_wrapper.h

**  The gSOAP code generator for C and C++, soapcpp2 release 2.8.11
**  Copyright (C) 2000-2012, Robert van Engelen, Genivia Inc.
**  All Rights Reserved. This product is provided "as is", without any warranty.
**  The soapcpp2 tool is released under one of the following two licenses:
**  GPL or the commercial license by Genivia Inc.

Critical error: #import: Cannot open file "wsse.h" for reading.
Hint: use option -I<path> (for example -Igsoap/import:gsoap/custom:.)

# Fix that with creating the proper link :
ln -s /usr/local/share/gsoap /usr/share/

# now try again
./configure  --with-pgsql --enable-ssl --with-gsoap --enable-start-stop-daemon --enable-pcre
......
License information ...
+--------------------------------------------------------------------+
| License:                                                           |
| This software is subject to the Kannel Software License, available |
| in this distribution in the file LICENSE. By continuing this       |
| installation process, you are bound by the terms of this license   |
| agreement. If you do not agree with the terms of this license, you |
| must abort the installation process at this point.                 |
|                                                                    |
|                      The Kannel Group <http://www.kannel.org/>     |
+--------------------------------------------------------------------+

Thank you for using Kannel.

# now compile and install 
make -j3 install 
.....
Using project directory path: soap/service/parlayx/
Saving soap/service/parlayx/soapStub.h annotated copy of the input declarations
Using px1 service name: SendSmsBinding
Using px1 service style: document
Using px1 service encoding: literal
Using px1 service location: http://localhost:9080/ParlayXSms/services/SendSms
Using px1 schema namespace: http://www.csapi.org/wsdl/parlayx/sms/send/v2_1/service
Saving soap/service/parlayx/SendSmsBinding.nsmap namespace mapping table
Using px2 service name: SmsNotificationBinding
Using px2 service style: document
Using px2 service encoding: literal
Using px2 service location: http://localhost:9080/SmsNotificationService/services/SmsNotification
Using px2 schema namespace: http://www.csapi.org/wsdl/parlayx/sms/notification/v2_1/service
Saving soap/service/parlayx/SmsNotificationBinding.nsmap namespace mapping table
Using px3 service name: ReceiveSmsBinding
Using px3 service style: document
Using px3 service encoding: literal
Using px3 service location: http://localhost:9080/ReceiveSmsService/services/ReceiveSms
Using px3 schema namespace: 
Saving soap/service/parlayx/ReceiveSmsBinding.nsmap namespace mapping table
Saving soap/service/parlayx/soapClient.c client calling stubs
Saving soap/service/parlayx/soapServer.c server request dispatcher
Saving soap/service/parlayx/soapH.h interface declarations
Saving soap/service/parlayx/soapC.c XML serializers

Compilation successful
.....

Complile and install opensmppbox :

cd /opt/installs/kannel.svn/trunk/addons/opensmppbox
./bootstrap
./configure
make -j3 install 

Complile and install sqlbox :

cd /opt/installs/kannel.svn/trunk/addons/sqlbox
./bootstrap
./configure
make -j3 install 

Check the install :

cd /usr/local/sbin
root@darkstart:[Thu Nov 29 23:24:31]:[/usr/local/sbin]$ ls
bearerbox  opensmppbox  run_kannel_box  smsbox  sqlbox  start-stop-daemon  wapbox

aaand that is it ,,, Slackware4Life .. 😀

Advertisements
  1. September 15, 2014 at 12:38 pm

    Hello!)
    How i can start it? 🙂

  2. dragkh
    September 15, 2014 at 1:42 pm

    if you are looking for the startup scripts :
    trunk/utils/kannel-redhat.init.d
    trunk/utils/kannel-init.d
    trunk/debian/kannel.init

  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: