[Csync2] Re: Building csync2-1.29 on Fedora Core

Michael Mansour mic at npgx.com.au
Sun Jan 22 00:38:48 CET 2006


> Hi Mathias,
> 
> > >> Just so you know, I also manually applied the changes in the patch below to
> > >> configure.ac file, then ran the autogen.sh to recreate the configure
script,
> > >> and it still gave the same problem:
> > >> [...]
> > 
> > >in this case I can't reproduce the problem. please debug it on your own and
> > >report back the solution.
> > 
> > >> Note that I'm using SL42 (RHEL4 Update 2) for this.
> > 
> > >Note that this distribution is obviously broken.
> > 
> > I ran into the same problem on RHEL4, the problem seem to be with the
> > packaging in Red Hat:
> > 
> > I noticed these differences:
> > 
> > Debian 3.1:
> > $ ldd /usr/lib/libgnutls-openssl.so.11
> >                 libgnutls.so.11 => /usr/lib/libgnutls.so.11 
> > (0x4001a000)        libtasn1.so.2 => /usr/lib/libtasn1.so.2 
> > (0x40082000)        libz.so.1 => /usr/lib/libz.so.1 (0x40092000)     
> >    libc.so.6 => /lib/tls/libc.so.6 (0x400a4000)        
> > libgcrypt.so.11 => /usr/lib/libgcrypt.so.11 (0x401d9000)       
> >  libgpg-error.so.0 => /usr/lib/libgpg-error.so.0 (0x40226000)        
> > /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x80000000)        
> > libnsl.so.1 => /lib/tls/libnsl.so.1 (0x4022a000)
> > 
> > RHEL4:
> > $ ldd /usr/lib/libgnutls-openssl.so.11
> >         libgnutls.so.11 => /usr/lib/libgnutls.so.11 (0x00a23000)
> >         libz.so.1 => /usr/lib/libz.so.1 (0x00e5c000)
> >         libc.so.6 => /lib/tls/libc.so.6 (0x00358000)
> >         libgcrypt.so.11 => /usr/lib/libgcrypt.so.11 (0x00111000)
> >         libgpg-error.so.0 => /usr/lib/libgpg-error.so.0 (0x001f0000)
> >         /lib/ld-linux.so.2 (0x0016d000)
> >         libnsl.so.1 => /lib/libnsl.so.1 (0x005b9000)
> > 
> > Notice the missing tasn1 library - this library does not seem to be
> > available in the RHEL4 distribution. I compiled tasn1 (from
> > ftp://ftp.gnutls.org/pub/gnutls/libtasn1/) and installed it in
> > /usr/local. This made it possible to compile the binary with 
> > Clifford's configure.ac patch applied:
> 
> Checking the dries repo, he's got packages for libtasn1 and libtasn1-
> devel which I installed on my SL4 release, and they worked fine.
> 
> The packages contain:
> 
> # rpm -ql libtasn1
> /usr/lib/libtasn1.so.2
> /usr/lib/libtasn1.so.2.0.17
> /usr/share/doc/libtasn1-0.2.17
> /usr/share/doc/libtasn1-0.2.17/AUTHORS
> /usr/share/doc/libtasn1-0.2.17/COPYING
> /usr/share/doc/libtasn1-0.2.17/COPYING.LIB
> /usr/share/doc/libtasn1-0.2.17/ChangeLog
> /usr/share/doc/libtasn1-0.2.17/NEWS
> /usr/share/doc/libtasn1-0.2.17/README
> /usr/share/doc/libtasn1-0.2.17/THANKS
> 
> # rpm -ql libtasn1-devel
> /usr/bin/libtasn1-config
> /usr/include/libtasn1.h
> /usr/lib/libtasn1.a
> /usr/lib/libtasn1.so
> /usr/lib/pkgconfig/libtasn1.pc
> /usr/share/aclocal/libtasn1.m4
> /usr/share/doc/libtasn1-devel-0.2.17
> /usr/share/doc/libtasn1-devel-0.2.17/TODO
> /usr/share/doc/libtasn1-devel-0.2.17/libtasn1.ps
> /usr/share/info/libtasn1.info.gz
> /usr/share/man/man3/asn1_array2tree.3.gz
> /usr/share/man/man3/asn1_check_version.3.gz
> /usr/share/man/man3/asn1_create_element.3.gz
> /usr/share/man/man3/asn1_delete_element.3.gz
> /usr/share/man/man3/asn1_delete_structure.3.gz
> /usr/share/man/man3/asn1_der_coding.3.gz
> /usr/share/man/man3/asn1_der_decoding.3.gz
> /usr/share/man/man3/asn1_der_decoding_element.3.gz
> /usr/share/man/man3/asn1_der_decoding_startEnd.3.gz
> /usr/share/man/man3/asn1_expand_any_defined_by.3.gz
> /usr/share/man/man3/asn1_expand_octet_string.3.gz
> /usr/share/man/man3/asn1_find_structure_from_oid.3.gz
> /usr/share/man/man3/asn1_number_of_elements.3.gz
> /usr/share/man/man3/asn1_parser2array.3.gz
> /usr/share/man/man3/asn1_parser2tree.3.gz
> /usr/share/man/man3/asn1_print_structure.3.gz
> /usr/share/man/man3/asn1_read_tag.3.gz
> /usr/share/man/man3/asn1_read_value.3.gz
> /usr/share/man/man3/asn1_write_value.3.gz
> /usr/share/man/man3/libtasn1_perror.3.gz
> /usr/share/man/man3/libtasn1_strerror.3.gz
> 
> > RHEL4:
> > $ ldd ./csync2
> >         libgnutls-openssl.so.11 => /usr/lib/libgnutls-openssl.so.11 
> > (0x0091d000)        libz.so.1 => /usr/lib/libz.so.1 (0x003ca000)     
> >    libgnutls.so.11 => /usr/lib/libgnutls.so.11 (0x00334000)        
> > libgcrypt.so.11 => /usr/lib/libgcrypt.so.11 (0x009e2000)       
> >  libgpg-error.so.0 => /usr/lib/libgpg-error.so.0 (0x009dc000)        
> > libtasn1.so.2 => /usr/local/lib/libtasn1.so.2 (0x003ec000)       
> >  libc.so.6 => /lib/tls/libc.so.6 (0x00186000)        libnsl.so.1 => 
> > /lib/libnsl.so.1 (0x00622000)        /lib/ld-linux.so.2 (0x0016d000)

BTW.. for other people in the same boat (installing csync2 v1.29 onto RHEL4)
here was the steps used:

* install librsync librsync-devel RPM's from Dag's repo

* install libtasn1 and libtasn1-devel RPM's from Dries repo

* force install sqlite and sqlite-devel RPM's (v2 ones) from Dag's repo
(you'll have to manually download them and "rpm -ivh --force etc" them because
RHEL4/SL4 comes with a sqlite and sqlite-devel v3)

* install gnutls and gnutls-devel RPM's from base repo (libgcrypt-devel and
libgpg-error-devel dependencies get installed also if you're using yum)

* extract the csync2-1.29 tarball into a directory

* applying Clifford's csync2.patch to modify the confgiure.ac file there
(manually do it if the patch file doesn't work)

* re-run autogen.sh in the source directory, this re-creates the "configure"
script

* re-tar the new csync2-1.29 tree (with the patched configure script) and make
sure it's called csync2-1.29.tar.gz

* move the tarball into /usr/src/redhat/SOURCES

* re-enter the csync2-1.29 directory and run "rpmbuild -ba csync2.spec", this
will build the csync2 RPM

* run "rpm -Uvh /usr/src/redhat/RPMS/i386/csync2-1.29-1.i386.rpm" to get it
installed

Now you can configure the /etc/csync2.cfg file on your nodes.

Regards,

Michael.


More information about the Csync2 mailing list