[Csync2] Building csync2-1.29 on Fedora Core

Clifford Wolf clifford at clifford.at
Wed Jan 4 08:06:41 CET 2006


Hi,

there are some problems with building csync2-1.29 on Fedora Core:

	** configure output **
	checking for libgnutls - version >= 1.0.0... yes
	checking for SSL_new in -lgnutls-openssl... no
	configure: error: libgnutls-openssl is required

	** config.log snippet **
	/usr/lib/gcc/i386-redhat-linux/4.0.1/../../../libgnutls-openssl.so: undefined reference to `asn1_delete_structure'
	/usr/lib/gcc/i386-redhat-linux/4.0.1/../../../libgnutls-openssl.so: undefined reference to `asn1_create_element'
	/usr/lib/gcc/i386-redhat-linux/4.0.1/../../../libgnutls-openssl.so: undefined reference to `asn1_der_decoding'
	collect2: ld returned 1 exit status

The following patch solves the issue:

--snip--

--- configure.ac        (revision 344)
+++ configure.ac        (revision 345)
@@ -51,8 +51,14 @@
 )
 AM_CONDITIONAL([PRIVATE_LIBSQLITE], [test -n "$libsqlite_source_file"])

-# Check for libssl.
+# Check for gnuTLS.
 AM_PATH_LIBGNUTLS(1.0.0, , [ AC_MSG_ERROR([[gnuTLS not found; install gnuTLS-devel package for your system]]) ])
+
+# This is a bloody hack for fedora core
+CFLAGS="$CFLAGS $LIBGNUTLS_CFLAGS"
+LIBS="$LIBS $LIBGNUTLS_LIBS -ltasn1"
+
+# Check gnuTLS SSL compatibility lib.
 AC_CHECK_LIB([gnutls-openssl], [SSL_new], , [AC_MSG_ERROR(libgnutls-openssl is required)])

 AC_CONFIG_FILES([Makefile])

--snap--

Just apply this patch and re-create the configure script by running
./autogen.sh in the csync2 source tree.

The problem is that the fedora core libgnutls-openssl.so library is broken
in a way that it does not contain the runtime dependency to libgnutls.so
and libtasn1.so. The make it even worse, Fedora Core does not provide the
libtasn1 aclocal file so the proper configure.ac could not be compiled to a
configure script on FC. (Usually the aclocal files are contained in the
*-devel packages. But in the case of libtasn1, the header file is part of
the libtasn1 package and there is no libtasn1-devel..)

yours,
 - clifford

-- 
SSSS PPPP L     The SPL Programming Language
S    P  P L     http://www.clifford.at/spl/
SSSS PPPP L     ----------------------------------------------------
   S P    L     An object oriented, stateful, simple, small, c-like,
SSSS P    LLLL  embeddable, feature rich, dynamic scripting language
 
"They that can give up essential liberty to obtain a little temporary safety
deserve neither liberty nor safety."
-- Benjamin Franklin, Historical Review of Pennsylvania, 1759
 


More information about the Csync2 mailing list