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.t ar.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