First I tried a newer version of Ptlib. It appears Ptlib 2.7 isn’t compatible with h323plus 1.21.0.

 

I then tried Ptlib 2.6.6 which compiled with h323plus 1.21.0, but Asterisk still gave the ‘BOOL’ make error.

 

I then moved forward to finding and replacing in the Asterisk code.

 

Globally replacing the code didn’t work, but finding and replacing just ‘channels/h323/ast_h323.cxx’ & ‘channels/h323/ast_h323.h’ seemed to do the trick.

[root@localhost asterisk]# ldd /usr/lib/asterisk/modules/chan_h323.so

        libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00002ab1fd5db000)

        libm.so.6 => /lib64/libm.so.6 (0x00002ab1fd8db000)

        libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00002ab1fdb5e000)

        libpthread.so.0 => /lib64/libpthread.so.0 (0x00002ab1fdd6d000)

        libc.so.6 => /lib64/libc.so.6 (0x00002ab1fdf88000)

        /lib64/ld-linux-x86-64.so.2 (0x00000039bf200000)

J

 

 

From: Simon Horne [mailto:s.horne@packetizer.com]
Sent: Monday, November 16, 2009 01:26 PM
To: Mark Best
Subject: RE: [h323plus] ast_h323.h:104: error: 'BOOL' has not been declared

 

Mark

 

do a global replace of BOOL with PBoolean.

 

Simon

 


From: h323plus-bounces@lists.packetizer.com [mailto:h323plus-bounces@lists.packetizer.com] On Behalf Of Mark Best
Sent: Tuesday, 17 November 2009 6:30 AM
To: h323plus@lists.packetizer.com
Subject: [h323plus] ast_h323.h:104: error: 'BOOL' has not been declared

I’m trying to compile chan_h323 for Asterisk, I only get an error when I start the make on Asterisk. Can someone shed some light on this issue? (CentOS 5.4 x64)

 

Here are my notes:

     yum -y install ncurses ncurses-devel openssl openssl-devel zlib zlib-devel bison bison-devel glibc gcc kernel-devel flex yum install gcc-c++

cd /usr/src

wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-1.6.0.17.tar.gz

wget http://www.h323plus.org/source/download/h323plus-v1_21_0.tar.gz

wget http://www.h323plus.org/source/download/ptlib-2.4.5.tar.bz2

 

tar zxvf asterisk-1.6.0.17.tar.gz

mv asterisk-1.6.0.17/ ~/asterisk

 

tar zxvf h323plus-v1_21_0.tar.gz

bzip2 -cd ptlib-2.4.5.tar.bz2 | tar xvf -

 

mv h323plus ~/h323plus

mv ptlib-2.4.5 ~/ptlib

 

export PTLIBDIR=$HOME/ptlib

export OPENH323DIR=$HOME/h323plus

export LD_LIBRARY_PATH=$OPENH323DIR/lib:$PTLIBDIR/lib

 

cd $PTLIBDIR

./configure --prefix=/usr

make

make install

 

cd $OPENH323DIR

chmod +x configure

./configure --prefix=/usr

make

make opt

cd lib

cp libh323_linux_x86_64_.so.1.21-beta0 libh323_linux_x86_64_.so.1.21.0

cd ..

make install

 

cd ~/asterisk

./configure --prefix=/usr

make menuselect

[*] chan_h323



make

   [CC] chan_agent.c -> chan_agent.o

   [LD] chan_agent.o -> chan_agent.so

   [CC] chan_h323.c -> chan_h323.o

ast_h323.h:104: error: ‘BOOL’ has not been declared

ast_h323.h:156: error: ‘BOOL’ does not name a type

ast_h323.h:157: error: ‘BOOL’ does not name a type

ast_h323.h:159: error: ‘BOOL’ does not name a type

ast_h323.cxx:2102: error: prototype for ‘void MyH323Connection::MyHoldCall(PBoolean)’ does not match any in class ‘MyH323Connection’

ast_h323.h:104: error: candidate is: void MyH323Connection::MyHoldCall(int)

ast_h323.cxx:2370: error: ‘BOOL’ does not name a type

ast_h323.cxx:2376: error: ‘BOOL’ does not name a type

ast_h323.cxx:2387: error: ‘BOOL’ does not name a type

make[2]: *** [ast_h323.o] Error 1

make[1]: *** [h323/libchanh323.a] Error 2

make: *** [channels] Error 2