The following is the issues I am having with TSYNC
1. Requirement to install TSYNC
*Perl 5.6.0 or greater
*libboost
*libpthread
*libm
*libstdc++
*libcrypto
*OpenSSH
Libboost obtained either from
1. slackware mirrors - http://www.slackware.com/~alien/slackbuilds/boost/pkg/11.0/
2. http://www.boost.org/
GCC 3.3.6 upgraded to 3.4.6 from slackware 11 CD
Both compiled/ upgraded without any problem
Error when compiling tsync
root@web1:~/packages/tsync/tsync-0.8.0/mace# make
make[1]: Entering directory `/root/packages/tsync/tsync-0.8.0/rsync'
g++ -O2 -g -I../mace -I../mace/lib -I../mace/services/interfaces -I../mace/services -I../mace/services/interfaces -I../mace/services/Transport -I../mace/services/Http -I../mace/services/RandTree -I../mace/services/RanSub -I../mace/services/GenericTreeMulticast -I../ -pthread -Wall -Werror -c -o MD4.o MD4.cc
g++ -O2 -g -I../mace -I../mace/lib -I../mace/services/interfaces -I../mace/services -I../mace/services/interfaces -I../mace/services/Transport -I../mace/services/Http -I../mace/services/RandTree -I../mace/services/RanSub -I../mace/services/GenericTreeMulticast -I../ -pthread -Wall -Werror -c -o Matcher.o Matcher.cc
g++ -O2 -g -I../mace -I../mace/lib -I../mace/services/interfaces -I../mace/services -I../mace/services/interfaces -I../mace/services/Transport -I../mace/services/Http -I../mace/services/RandTree -I../mace/services/RanSub -I../mace/services/GenericTreeMulticast -I../ -pthread -Wall -Werror -c -o SyncChecksum.o SyncChecksum.cc
g++ -O2 -g -I../mace -I../mace/lib -I../mace/services/interfaces -I../mace/services -I../mace/services/interfaces -I../mace/services/Transport -I../mace/services/Http -I../mace/services/RandTree -I../mace/services/RanSub -I../mace/services/GenericTreeMulticast -I../ -pthread -Wall -Werror -c -o SyncFileIO.o SyncFileIO.cc
g++ -O2 -g -I../mace -I../mace/lib -I../mace/services/interfaces -I../mace/services -I../mace/services/interfaces -I../mace/services/Transport -I../mace/services/Http -I../mace/services/RandTree -I../mace/services/RanSub -I../mace/services/GenericTreeMulticast -I../ -pthread -Wall -Werror -c -o util.o util.cc
ar rc librsync.a MD4.o Matcher.o SyncChecksum.o SyncFileIO.o util.o
make[1]: Leaving directory `/root/packages/tsync/tsync-0.8.0/rsync'
make[1]: Entering directory `/root/packages/tsync/tsync-0.8.0/mace'
make[2]: Entering directory `/root/packages/tsync/tsync-0.8.0/mace/mace-extras/sha1'
make[2]: Leaving directory `/root/packages/tsync/tsync-0.8.0/mace/mace-extras/sha1'
make[2]: Entering directory `/root/packages/tsync/tsync-0.8.0/mace/mace-extras/sha1'
g++ -O2 -g -I../ -D_REENTRANT -D_THREAD_SAFE -D_PTHREAD -D__USE_UNIX98 -D_GNU_SOURCE -Wall -Werror -pthread -c -o Accumulator.o Accumulator.cc
g++ -O2 -g -I../ -D_REENTRANT -D_THREAD_SAFE -D_PTHREAD -D__USE_UNIX98 -D_GNU_SOURCE -Wall -Werror -pthread -c -o Base64.o Base64.cc
g++ -O2 -g -I../ -D_REENTRANT -D_THREAD_SAFE -D_PTHREAD -D__USE_UNIX98 -D_GNU_SOURCE -Wall -Werror -pthread -c -o FileUtil.o FileUtil.cc
g++ -O2 -g -I../ -D_REENTRANT -D_THREAD_SAFE -D_PTHREAD -D__USE_UNIX98 -D_GNU_SOURCE -Wall -Werror -pthread -c -o LoadMonitor.o LoadMonitor.cc
g++ -O2 -g -I../ -D_REENTRANT -D_THREAD_SAFE -D_PTHREAD -D__USE_UNIX98 -D_GNU_SOURCE -Wall -Werror -pthread -c -o Log.o Log.cc
g++ -O2 -g -I../ -D_REENTRANT -D_THREAD_SAFE -D_PTHREAD -D__USE_UNIX98 -D_GNU_SOURCE -Wall -Werror -pthread -c -o LogSelector.o LogSelector.cc
g++ -O2 -g -I../ -D_REENTRANT -D_THREAD_SAFE -D_PTHREAD -D__USE_UNIX98 -D_GNU_SOURCE -Wall -Werror -pthread -c -o MaceKey.o MaceKey.cc
g++ -O2 -g -I../ -D_REENTRANT -D_THREAD_SAFE -D_PTHREAD -D__USE_UNIX98 -D_GNU_SOURCE -Wall -Werror -pthread -c -o MailUtil.o MailUtil.cc
g++ -O2 -g -I../ -D_REENTRANT -D_THREAD_SAFE -D_PTHREAD -D__USE_UNIX98 -D_GNU_SOURCE -Wall -Werror -pthread -c -o NumberGen.o NumberGen.cc
g++ -O2 -g -I../ -D_REENTRANT -D_THREAD_SAFE -D_PTHREAD -D__USE_UNIX98 -D_GNU_SOURCE -Wall -Werror -pthread -c -o Params.o Params.cc
g++ -O2 -g -I../ -D_REENTRANT -D_THREAD_SAFE -D_PTHREAD -D__USE_UNIX98 -D_GNU_SOURCE -Wall -Werror -pthread -c -o Printable.o Printable.cc
g++ -O2 -g -I../ -D_REENTRANT -D_THREAD_SAFE -D_PTHREAD -D__USE_UNIX98 -D_GNU_SOURCE -Wall -Werror -pthread -c -o RandomUtil.o RandomUtil.cc
g++ -O2 -g -I../ -D_REENTRANT -D_THREAD_SAFE -D_PTHREAD -D__USE_UNIX98 -D_GNU_SOURCE -Wall -Werror -pthread -c -o Scheduler.o Scheduler.cc
g++ -O2 -g -I../ -D_REENTRANT -D_THREAD_SAFE -D_PTHREAD -D__USE_UNIX98 -D_GNU_SOURCE -Wall -Werror -pthread -c -o Serializable.o Serializable.cc
g++ -O2 -g -I../ -D_REENTRANT -D_THREAD_SAFE -D_PTHREAD -D__USE_UNIX98 -D_GNU_SOURCE -Wall -Werror -pthread -c -o SockUtil.o SockUtil.cc
g++ -O2 -g -I../ -D_REENTRANT -D_THREAD_SAFE -D_PTHREAD -D__USE_UNIX98 -D_GNU_SOURCE -Wall -Werror -pthread -c -o StrUtil.o StrUtil.cc
g++ -O2 -g -I../ -D_REENTRANT -D_THREAD_SAFE -D_PTHREAD -D__USE_UNIX98 -D_GNU_SOURCE -Wall -Werror -pthread -c -o SysUtil.o SysUtil.cc
g++ -O2 -g -I../ -D_REENTRANT -D_THREAD_SAFE -D_PTHREAD -D__USE_UNIX98 -D_GNU_SOURCE -Wall -Werror -pthread -c -o ThreadCreate.o ThreadCreate.cc
g++ -O2 -g -I../ -D_REENTRANT -D_THREAD_SAFE -D_PTHREAD -D__USE_UNIX98 -D_GNU_SOURCE -Wall -Werror -pthread -c -o Util.o Util.cc
g++ -O2 -g -I../ -D_REENTRANT -D_THREAD_SAFE -D_PTHREAD -D__USE_UNIX98 -D_GNU_SOURCE -Wall -Werror -pthread -c -o mace.o mace.cc
ar rc libmace.a Accumulator.o Base64.o FileUtil.o LoadMonitor.o Log.o LogSelector.o MaceKey.o MailUtil.o NumberGen.o Params.o Printable.o RandomUtil.o cheduler.o Serializable.o SockUtil.o StrUtil.o SysUtil.o ThreadCreate.o Util.o mace.o
make[2]: Leaving directory `/root/packages/tsync/tsync-0.8.0/mace/lib'
make[2]: Entering directory `/root/packages/tsync/tsync-0.8.0/mace/compiler'
yacc -t -b mace -d mace.y
yacc: 16 rules never reduced
yacc: 5 shift/reduce conflicts, 2 reduce/reduce conflicts.
g++ -g -DYYDEBUG=1 -Wall -Werror -pthread -c -o mace-conv.o mace-conv.cc
flex -omace-lex.c mace.l
gcc -g -DYYDEBUG=1 -Wall -Werror -c -o mace-lex.o mace-lex.c
gcc -g -DYYDEBUG=1 -Wall -Werror -c -o mace.tab.o mace.tab.c
mace.tab.c: In function `yyparse': ----------------------------------------------------------------------> error starts here
mace.tab.c:988: warning: suggest parentheses around assignment used as truth value
mace.tab.c:1005: warning: suggest parentheses around assignment used as truth value
mace.tab.c:1048: warning: label `yynewerror' defined but not used
mace.tab.c:1053: warning: label `yyerrlab' defined but not used
mace.tab.c: At top level:
mace.tab.c:2: warning: 'yysccsid' defined but not used
make[2]: *** [mace.tab.o] Error 1
make[2]: Leaving directory `/root/packages/tsync/tsync-0.8.0/mace/compiler'
make[1]: *** [compiler] Error 2
make[1]: Leaving directory `/root/packages/tsync/tsync-0.8.0/mace'
make: *** [mace] Error 2
root@web1:~/packages/tsync/tsync-0.8.0#
Trying to compile mace from mace directory: Same error - error is with mace
root@web1:~/packages/tsync/tsync-0.8.0/mace# make
make[1]: Entering directory `/root/packages/tsync/tsync-0.8.0/mace/mace-extras/sha1'
make[1]: Nothing to be done for `library'.
make[1]: Leaving directory `/root/packages/tsync/tsync-0.8.0/mace/mace-extras/sha1'
make[1]: Entering directory `/root/packages/tsync/tsync-0.8.0/mace/lib'
make[1]: Nothing to be done for `library'.
make[1]: Leaving directory `/root/packages/tsync/tsync-0.8.0/mace/lib'
make[1]: Entering directory `/root/packages/tsync/tsync-0.8.0/mace/compiler'
gcc -g -DYYDEBUG=1 -Wall -Werror -c -o mace.tab.o mace.tab.c
mace.tab.c: In function `yyparse':
mace.tab.c:988: warning: suggest parentheses around assignment used as truth value
mace.tab.c:1005: warning: suggest parentheses around assignment used as truth value
mace.tab.c:1048: warning: label `yynewerror' defined but not used
mace.tab.c:1053: warning: label `yyerrlab' defined but not used
mace.tab.c: At top level:
mace.tab.c:2: warning: 'yysccsid' defined but not used
make[1]: *** [mace.tab.o] Error 1
make[1]: Leaving directory `/root/packages/tsync/tsync-0.8.0/mace/compiler'
make: *** [compiler] Error 2
root@web1:~/packages/tsync/tsync-0.8.0/mace#
mace is upgraded - to newest version - from http://mace.ucsd.edu/release/ and the following steps is followed
root@web1:~/packages/tsync/tsync-0.8.0# ./configure --mace-path=mace-0.9/
root@web1:~/packages/tsync/tsync-0.8.0# make
mace-0.9//application/Makefile.common:12: mace-0.9//perl5/perlvars.mk: No such file or directory
make DIR=mace-0.9//perl5 -C mace-0.9//perl5 perlvars.mk
make[1]: Entering directory `/root/packages/tsync/tsync-0.8.0/mace-0.9/perl5'
./makedep.pl > perlvars.mk
WARNING: cannot read file Mace/Compiler/MaceRecDescent.pm
WARNING: cannot read file Mace/Compiler/ClassParserRecDescent.pm
WARNING: cannot read file Mace/Compiler/ClassParserRecDescent.pm
WARNING: cannot read file Mace/Compiler/MaceHeaderRecDescent.pm
make[1]: Leaving directory `/root/packages/tsync/tsync-0.8.0/mace-0.9/perl5'
make DIR=mace-0.9//perl5 -C mace-0.9//perl5 Mace/Compiler/ClassParserRecDescent.pm
make[1]: Entering directory `/root/packages/tsync/tsync-0.8.0/mace-0.9/perl5'
make DIR=Mace/Compiler -C Mace/Compiler ClassParserRecDescent.pm
make[2]: Entering directory `/root/packages/tsync/tsync-0.8.0/mace-0.9/perl5/Mace/Compiler'
../../../perl5/compilergen ClassParserRecDescent.pm
make[2]: Leaving directory `/root/packages/tsync/tsync-0.8.0/mace-0.9/perl5/Mace/Compiler'
make[1]: Leaving directory `/root/packages/tsync/tsync-0.8.0/mace-0.9/perl5'
mace-0.9//perl5/xmlrpcc Tsync.h Tsync
mace-0.9//perl5/xmlrpcc TsyncUI.h TsyncUI
In file included from tsyncd.cc:43:
Server.h:42:22: RandTree.h: No such file or directory
Server.h:43:35: AggregateServiceClass.h: No such file or directory
Server.h:44:32: GossipServiceClass.h: No such file or directory
Server.h:45:47: HierarchicalMulticastServiceClass.h: No such file or directory
Server.h:46:31: RouteServiceClass.h: No such file or directory
Server.h:47:30: TreeServiceClass.h: No such file or directory
In file included from mace-0.9//services/Transport/TcpTransport.h:44,
from Server.h:48,
from tsyncd.cc:43:
mace-0.9//services/Transport/TcpConnection.h:52:43: BufferedTransportServiceClass.h: No such file or directory
mace-0.9//services/Transport/TcpConnection.h:54:33: NetworkErrorHandler.h: No such file or directory
In file included from tsyncd.cc:43:
Server.h:49:34: GenericTreeMulticast.h: No such file or directory
Server.h:50:20: RanSub.h: No such file or directory
Server.h:51:30: RanSubAggregator.h: No such file or directory
make: *** [tsyncd.d] Error 1
root@web1:~/packages/tsync/tsync-0.8.0#
Trying to compile mace without tsync
root@web1:~/packages/tsync/tsync-0.8.0/mace-0.9#make
Compile without errors.
Compiling tsync with mace 0.9
root@web1:~/packages/tsync/tsync-0.8.0# ./configure --mace-path=mace-0.9/
root@web1:~/packages/tsync/tsync-0.8.0# make
g++ -c -g -Wall -Werror -D__STDC_FORMAT_MACROS -Imace-0.9/ -Imace-0.9//lib -Imace-0.9//services/interfaces -Imace-0.9//services -Imace-0.9//services/interfaces -Imace-0.9//services/Transport -Imace-0.9//services/Http -Imace-0.9//services/RandTree -Imace-0.9//services/ReplayTree -Imace-0.9//services/RanSub -Imace-0.9//services/Pastry -Imace-0.9//services/Bamboo -Imace-0.9//services/Chord -Imace-0.9//services/GenericOverlayRoute -Imace-0.9//services/GenericTreeMulticast -Imace-0.9//services/ScribeMS -Imace-0.9//services/SplitStreamMS -Imace-0.9//application/common -Irsync -pthread -DUseinterfaces -DUseTransport -DUseHttp -DUseRandTree -DUseReplayTree -DUseRanSub -DUsePastry -DUseBamboo -DUseChord -DUseGenericOverlayRoute -DUseGenericTreeMulticast -DUseScribeMS -DUseSplitStreamMS TsyncXmlRpcClient.cc -o TsyncXmlRpcClient.O0.o
g++ -c -g -Wall -Werror -D__STDC_FORMAT_MACROS -Imace-0.9/ -Imace-0.9//lib -Imace-0.9//services/interfaces -Imace-0.9//services -Imace-0.9//services/interfaces -Imace-0.9//services/Transport -Imace-0.9//services/Http -Imace-0.9//services/RandTree -Imace-0.9//services/ReplayTree -Imace-0.9//services/RanSub -Imace-0.9//services/Pastry -Imace-0.9//services/Bamboo -Imace-0.9//services/Chord -Imace-0.9//services/GenericOverlayRoute -Imace-0.9//services/GenericTreeMulticast -Imace-0.9//services/ScribeMS -Imace-0.9//services/SplitStreamMS -Imace-0.9//application/common -Irsync -pthread -DUseinterfaces -DUseTransport -DUseHttp -DUseRandTree -DUseReplayTree -DUseRanSub -DUsePastry -DUseBamboo -DUseChord -DUseGenericOverlayRoute -DUseGenericTreeMulticast -DUseScribeMS -DUseSplitStreamMS TsyncUIXmlRpcClient.cc -o TsyncUIXmlRpcClient.O0.o
g++ -c -g -Wall -Werror -D__STDC_FORMAT_MACROS -Imace-0.9/ -Imace-0.9//lib -Imace-0.9//services/interfaces -Imace-0.9//services -Imace-0.9//services/interfaces -Imace-0.9//services/Transport -Imace-0.9//services/Http -Imace-0.9//services/RandTree -Imace-0.9//services/ReplayTree -Imace-0.9//services/RanSub -Imace-0.9//services/Pastry -Imace-0.9//services/Bamboo -Imace-0.9//services/Chord -Imace-0.9//services/GenericOverlayRoute -Imace-0.9//services/GenericTreeMulticast -Imace-0.9//services/ScribeMS -Imace-0.9//services/SplitStreamMS -Imace-0.9//application/common -Irsync -pthread -DUseinterfaces -DUseTransport -DUseHttp -DUseRandTree -DUseReplayTree -DUseRanSub -DUsePastry -DUseBamboo -DUseChord -DUseGenericOverlayRoute -DUseGenericTreeMulticast -DUseScribeMS -DUseSplitStreamMS RecoveryDownloadManager.cc -o RecoveryDownloadManager.O0.o
In file included from RecoveryDownloadManager.cc:26:
Server.h:104: error: `comm_type_t' has not been declared ------------------------------------> errors starts here
Server.h:104: error: ISO C++ forbids declaration of `commType' with no type
Server.h:221: error: ISO C++ forbids declaration of `BufferedRouteServiceClass' with no type
Server.h:221: error: expected `;' before '*' token
Server.h:222: error: ISO C++ forbids declaration of `BufferedRouteServiceClass' with no type
Server.h:222: error: expected `;' before '*' token
make: *** [RecoveryDownloadManager.O0.o] Error 1
root@web1:~/packages/tsync/tsync-0.8.0#
Logged In: YES
user_id=1782587
Originator: YES
Bug Solved -
Actually its not a bug.
Dependencies need to be solved. The following packages need to be installed before installing tsyn on slackware 10.2
gcc upgraded to 3.4.6
bidon upgraded bison-2.3
boost-1.33.1-i486-1.tgz installed - obtained from http://www.slackware.com/~alien/slackbuilds/
Perl modules should be installed
Frontier-RPC-0.07b4
HTML-Parser-3.56
HTML-Tagset-3.10
URI-1.35
libwww-perl-5.805
Then install tsync0.8.0