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