Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I'm trying to install the latest version of csync2, file synchronization tool, from LINBIT on CENT OS 5.4. Some recent changes made to this software have mandated that gnutls>=2.6 is installed on the system (for SSL support).

Unfortunately, the gnutls rpms available on CENT OS 5 are of the version not higher than 1.4.3. However, i found some compat-gnutls*.rpm, compat-gnutls-devel*.rpm from 'art' repository and installed those on my CENT OS 5 system. I verified that this library (names, gnutls) is installed properly by running the following commands which all returned expected results.

pkg-config --cflags --print-errors gnutls 
pkg-config --libs --print-errors gnutls

gcc `pkg-config gnutls --cflags`   -o test.o test.c

gcc -lgnutls -o test.o test.c


pkg-config --cflags "gnutls >= 2.6.0"
pkg-config  --modversion gnutls | awk -F. '{ printf "0x%02X%02X%02X\n",$1,$2,$3 }'

Now, after that I tried to build the rpm of cssync2 which is failing with following errors:

[root@myvm1 opt]# rpmbuild -bb /usr/src/redhat/SPECS/csync2.spec
error: Failed build dependencies:
    gnutls-devel is needed by csync2-2.0-0.1.rc1.x86_64
You have new mail in /var/spool/mail/root
[root@myvm1 opt]#

I tried installing wireshark which also depends on gnutls; it is also failing on the same dependency, i.e. gnutls.

[root@myvm1 replica]# rpm -ivh wireshark-1.0.15-1.el5_6.4.x86_64.rpm
error: Failed dependencies:
    libgnutls.so.13()(64bit) is needed by wireshark-1.0.15-1.el5_6.4.x86_64
    libgnutls.so.13(GNUTLS_1_3)(64bit) is needed by wireshark-1.0.15-1.el5_6.4.x86_64
    libsmi.so.2()(64bit) is needed by wireshark-1.0.15-1.el5_6.4.x86_64

I'm not sure why the rpm or rpmbuild are not detecting the installed gnutls libraries even when it is already installed on the system.

Here is what the command "locate libgnutls.so" returned indicating the presence of libgnutls.

[root@pdev22vm1 replica]# locate libgnutls.so
/usr/gnutls2/lib/libgnutls.so
/usr/gnutls2/lib/libgnutls.so.26
/usr/gnutls2/lib/libgnutls.so.26.14.12
/usr/lib/libgnutls.so
/usr/lib64/libgnutls.so

and the command "locate libgnutls-openssl.so" returned:

[root@pdev22vm1 replica]# locate libgnutls-openssl.so /usr/gnutls2/lib/libgnutls-openssl.so /usr/gnutls2/lib/libgnutls-openssl.so.26 /usr/gnutls2/lib/libgnutls-openssl.so.26.14.12 /usr/lib/libgnutls-openssl.so /usr/lib64/libgnutls-openssl.so

I even tried building the csync2 rpm by removing dependency on "gnutls-devel"; the built rpm did no work with SSL and errored out "this binary is not built SSL".

Can someone help me understand why rpm or rpmbuild are not recognizing the installed gnutls library and what can be done to overcome this situation?

Thanks and Regards, Samba

share|improve this question

1 Answer 1

up vote 0 down vote accepted

I think you need to edit your SRPMS to modify the spec file to list a build require on compat-gnutls-devel ie the one you found for the latest version.

If you don't know how to modify a SRPMS and can't find appropriate doc with google, I'll try to help you further.

share|improve this answer
    
Thanks a lot, Julien; it worked perfectly. I just changed the dependency in BuildRequires from 'gnutls-devel' to 'compat-gnutls2-devel' and the rpm got built smoothly and the CSync2 worked properly with SSL. –  Saasira Feb 8 '12 at 8:58

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.