[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