I do have libltdl installed on my system as part of RedHat's libtool RPM
package. However, the configure script fails to find the header file
which exists:
=======================================================================
$ ./configure --without-snmp \
--with-system-libtool --disable-ltdl-install \
--with-ltdl-lib=/usr/lib --with-ltdl-include=/usr/include
[...]
checking for lt_dlinit in -lltdl... yes
checking for ltdl.h... no
configure: warning: libltdl not installed, but installation disabled
[...]
$ rpm -qf /usr/include/ltdl.h
libtool-1.4.2-5
=======================================================================
I hacked up the top level configuration files from yesterday's CVS
checkout to reuse the latest auto tools (mine are autoconf 2.53 and
automake 1.6.1). With those modifications I was able to get rid of link
failure in src/main.
The bootstrap script allows to remove automatically generated files from
the CVS repository. However, some constructs in the updated configure.in
are valid only with the newer autoconf. Perhaps, putting AC_PREREQ(2.53)
into configure.in could be a good precaution.
Another small problem was due to the sql_fetch_row() prototypes in
freeradius/radiusd/src/modules/rlm_sql/drivers/rlm_sql_postgresql/sql_postgresql.h
and
freeradius/radiusd/src/modules/rlm_sql/drivers/rlm_sql_unixodbc/sql_unixodbc.h
not synchronized with their .c counterparts. Does the patch included
below fix those prototypes correctly? Thank you,
Ilguiz
On Tue, 16 Jul 2002, Alan DeKok wrote:
> If you don't have libltdl onyour system already, then the build
> won't find *any* ltdl.h, and will die.
===========================================================================
The following file was modified in freeradius/radiusd/src/include:
Name Old version New version Comment
---- ----------- ----------- -------
autoconf.h.in 1.1.1.1 Removed
The accompanying log:
remove automatically generated file
---------------------------------------------------------------------------
The following file was modified in freeradius/radiusd/src/modules/rlm_eap:
Name Old version New version Comment
---- ----------- ----------- -------
Makefile 1.1.1.1 Removed
The accompanying log:
remove automatically generated file
---------------------------------------------------------------------------
The following file was modified in
freeradius/radiusd/src/modules/rlm_eap/types/rlm_eap_tls:
Name Old version New version Comment
---- ----------- ----------- -------
Makefile 1.1.1.1 Removed
The accompanying log:
remove automatically generated file
---------------------------------------------------------------------------
The following file was modified in freeradius/radiusd/src/modules:
Name Old version New version Comment
---- ----------- ----------- -------
rules.mak 1.1.1.1 1.2
The accompanying log:
Specify full path when copying files
The diff of the modified file(s):
--- rules.mak 15 Jul 2002 18:33:26 -0000 1.1.1.1
+++ rules.mak 16 Jul 2002 17:50:14 -0000 1.2
@@ -109,11 +109,11 @@
#######################################################################
static: $(TARGET).a $(RLM_UTILS)
@[ "x$(RLM_SUBDIRS)" = "x" ] || $(MAKE) $(MFLAGS) WHAT_TO_MAKE=static common
- @cp $< $(top_builddir)/src/modules/lib
+ @cp $< $(abs_top_srcdir)/src/modules/lib
dynamic: $(TARGET).la $(RLM_UTILS)
@[ "x$(RLM_SUBDIRS)" = "x" ] || $(MAKE) $(MFLAGS) WHAT_TO_MAKE=dynamic common
- @cp $< $(top_builddir)/src/modules/lib
+ @cp $< $(abs_top_srcdir)/src/modules/lib
#######################################################################
#
---------------------------------------------------------------------------
The following file was modified in
freeradius/radiusd/src/modules/rlm_eap/types/rlm_eap_md5:
Name Old version New version Comment
---- ----------- ----------- -------
Makefile 1.1.1.1 Removed
The accompanying log:
remove automatically generated file
---------------------------------------------------------------------------
The following file was modified in
freeradius/radiusd/src/modules/rlm_sql/drivers/rlm_sql_unixodbc:
Name Old version New version Comment
---- ----------- ----------- -------
sql_unixodbc.h 1.1.1.1 1.2
The accompanying log:
Syncronize function prototypes
The diff of the modified file(s):
--- sql_unixodbc.h 15 Jul 2002 18:33:26 -0000 1.1.1.1
+++ sql_unixodbc.h 16 Jul 2002 17:51:18 -0000 1.2
@@ -28,7 +28,7 @@
int sql_store_result(SQLSOCK * sqlsocket, SQL_CONFIG *config);
int sql_num_fields(SQLSOCK * sqlsocket, SQL_CONFIG *config);
int sql_num_rows(SQLSOCK * sqlsocket, SQL_CONFIG *config);
-SQL_ROW sql_fetch_row(SQLSOCK * sqlsocket, SQL_CONFIG *config);
+int sql_fetch_row(SQLSOCK * sqlsocket, SQL_CONFIG *config);
int sql_free_result(SQLSOCK * sqlsocket, SQL_CONFIG *config);
char *sql_error(SQLSOCK * sqlsocket, SQL_CONFIG *config);
int sql_close(SQLSOCK * sqlsocket, SQL_CONFIG *config);
---------------------------------------------------------------------------
The following file was modified in
freeradius/radiusd/src/modules/rlm_sql/drivers/rlm_sql_postgresql:
Name Old version New version Comment
---- ----------- ----------- -------
sql_postgresql.h 1.1.1.1 1.2
The accompanying log:
Syncronize function prototypes
The diff of the modified file(s):
--- sql_postgresql.h 15 Jul 2002 18:33:26 -0000 1.1.1.1
+++ sql_postgresql.h 16 Jul 2002 17:51:18 -0000 1.2
@@ -29,7 +29,7 @@
int sql_store_result(SQLSOCK * sqlsocket, SQL_CONFIG *config);
int sql_num_fields(SQLSOCK * sqlsocket, SQL_CONFIG *config);
int sql_num_rows(SQLSOCK * sqlsocket, SQL_CONFIG *config);
-SQL_ROW sql_fetch_row(SQLSOCK * sqlsocket, SQL_CONFIG *config);
+int sql_fetch_row(SQLSOCK * sqlsocket, SQL_CONFIG *config);
int sql_free_result(SQLSOCK * sqlsocket, SQL_CONFIG *config);
char *sql_error(SQLSOCK * sqlsocket, SQL_CONFIG *config);
int sql_close(SQLSOCK * sqlsocket, SQL_CONFIG *config);
---------------------------------------------------------------------------
The following files were modified in freeradius/radiusd:
Name Old version New version Comment
---- ----------- ----------- -------
Make.inc.in 1.1.1.1 1.2
acinclude.m4 1.1 Added
aclocal.m4 1.1.1.1 Removed
bootstrap 1.1 Added
config.guess 1.1.1.1 Removed
config.sub 1.1.1.1 Removed
configure 1.1.1.1 Removed
configure.in 1.1.1.1 1.2
install-sh 1.1.1.1 Removed
ltconfig 1.1.1.1 Removed
ltmain.sh 1.1.1.1 Removed
missing 1.1.1.1 Removed
The accompanying log:
Update build system to latest auto tools
The diff of the modified file(s):
--- Make.inc.in 15 Jul 2002 18:33:25 -0000 1.1.1.1
+++ Make.inc.in 16 Jul 2002 17:52:09 -0000 1.2
@@ -16,6 +16,7 @@
logdir = @logdir@
raddbdir = @raddbdir@
radacctdir = @radacctdir@
+abs_top_srcdir = @abs_top_srcdir@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
@@ -30,10 +31,10 @@
ACLOCAL = @ACLOCAL@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
-INSTALL = ${top_builddir}/install-sh -c
-INSTALL_PROGRAM = ${INSTALL}
-INSTALL_DATA = ${INSTALL} -m 644
-INSTALL_SCRIPT = ${INSTALL_PROGRAM}
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALLSTRIP = @INSTALLSTRIP@
LCRYPT = @CRYPTLIB@
--- configure.in 15 Jul 2002 18:33:25 -0000 1.1.1.1
+++ configure.in 16 Jul 2002 17:52:09 -0000 1.2
@@ -21,13 +21,14 @@
dnl #############################################################
AC_INIT(src/main/radiusd.c)
-AC_CONFIG_HEADER(src/include/autoconf.h)
+AC_CONFIG_HEADERS(src/include/autoconf.h)
AC_REVISION($Revision$)dnl
dnl # The version of the software
RADIUSD_MAJOR_VERSION=0
RADIUSD_MINOR_VERSION=7-pre
RADIUSD_VERSION="${RADIUSD_MAJOR_VERSION}.${RADIUSD_MINOR_VERSION}"
+AM_INIT_AUTOMAKE(radiusd, ${RADIUSD_VERSION})
dnl #############################################################
dnl #
@@ -38,7 +39,7 @@
dnl Check for GNU cc
AC_PROG_CC
AC_PROG_GCC_TRADITIONAL
-AC_PROG_CC_SUNPRO
+dnl AC_PROG_CC_SUNPRO
AC_PROG_RANLIB
PACKAGE=freeradius
@@ -64,6 +65,11 @@
dnl libltdl is installable
AC_LIBLTDL_INSTALLABLE
+if test x"$enable_ltdl_install" = x"yes"; then
+ AC_CONFIG_SUBDIRS('libtdl')
+ LIBLTDLPATH=libltdl
+fi
+AC_SUBST(LIBLTDLPATH)
dnl use system-wide libtool, if it exists
AC_ARG_WITH(system-libtool,
@@ -341,8 +347,8 @@
dnl If using pthreads, check for -lpthread (posix) or -lc_r (*BSD)
PTHREADLIB=
-if test "$WITH_THREADS" = "yes"; then
- if test $ac_cv_prog_suncc = "yes"; then
+if test "x$WITH_THREADS" = "xyes"; then
+ if test "x$ac_cv_prog_suncc" = "xyes"; then
CFLAGS="$CFLAGS -mt"
fi
@@ -503,44 +509,52 @@
AC_TYPE_UID_T
dnl check for socklen_t
-AC_CHECK_TYPE_INCLUDE([
+AC_CHECK_TYPE(socklen_t,,
+ [AC_DEFINE([socklen_t], [int], [Type for socklen_t])],
+[
#ifdef HAVE_SYS_TYPES_H
#include <sys/types.h>
#endif
#ifdef HAVE_SYS_SOCKET_H
#include <sys/socket.h>
#endif
-],socklen_t, int)
+])
dnl check for uint8_t
-AC_CHECK_TYPE_INCLUDE([
+AC_CHECK_TYPE(uint8_t,,
+ [AC_DEFINE([uint8_t], [unsigned char], [Type for uint8_t])],
+[
#ifdef HAVE_INTTYPES_H
#include <inttypes.h>
#endif
#ifdef HAVE_STDINT_H
#include <stdint.h>
#endif
-],uint8_t, unsigned char)
+])
dnl check for uint16_t
-AC_CHECK_TYPE_INCLUDE([
+AC_CHECK_TYPE(uint16_t,,
+ [AC_DEFINE([uint16_t], [unsigned short], [Type for uint16_t])],
+[
#ifdef HAVE_INTTYPES_H
#include <inttypes.h>
#endif
#ifdef HAVE_STDINT_H
#include <stdint.h>
#endif
-],uint16_t, unsigned short)
+])
dnl check for uint32_t
-AC_CHECK_TYPE_INCLUDE([
+AC_CHECK_TYPE(uint32_t,,
+ [AC_DEFINE([uint32_t], [unsigned int], [Type for uint32_t])],
+[
#ifdef HAVE_INTTYPES_H
#include <inttypes.h>
#endif
#ifdef HAVE_STDINT_H
#include <stdint.h>
#endif
-],uint32_t, unsigned int)
+])
dnl #############################################################
dnl #
@@ -588,11 +602,9 @@
dnl # if not, set it to define ut_xtime == ut_tv.tv_sec
if test "x$ac_cv_header_utmpx_h" = "xyes"
then
- AC_CHECK_STRUCT_HAS_MEMBER([#include <utmpx.h>], [struct utmpx], ut_xtime)
- if test "x$ac_cv_type_struct_utmpx_ut_xtime" = "x"
- then
- AC_DEFINE(ut_xtime,ut_tv.tv_sec)
- fi
+ AC_CHECK_MEMBER(struct utmpx.ut_xtime,,
+ [AC_DEFINE([ut_xtime], [ut_tv.tv_sec])],
+ [#include <utmpx.h>])
fi
dnl #############################################################
@@ -677,7 +689,7 @@
AC_CHECK_LIB(posix4, sem_init)
if test "X$ac_cv_lib_posix4_sem_init" = "X"; then
- if test "$WITH_THREAD_POOL" = "yes"; then
+ if test "x$WITH_THREAD_POOL" = "xyes"; then
AC_MSG_WARN(You do not have posix semaphores. Disabling thread pools)
fi
WITH_THREAD_POOL=no
@@ -717,7 +729,7 @@
dnl #
dnl # Figure out where libtool is located,
dnl #
-top_builddir=`pwd`
+dnl top_builddir=`pwd`
AC_MSG_RESULT([top_builddir=$top_builddir])
AC_SUBST(top_builddir)
AC_SUBST(LIBLTDL)
@@ -735,11 +747,11 @@
dnl #
dnl # Checks to ensure that the thread pool code can build.
dnl #
-if test "$WITH_THREAD_POOL" = "yes"; then
+if test "x$WITH_THREAD_POOL" = "xyes"; then
dnl #
dnl # If using thread pools, check that threading is enabled
dnl #
- if test "$WITH_THREADS" != "yes"; then
+ if test "x$WITH_THREADS" != "xyes"; then
AC_MSG_ERROR(You must have threads enabled for thread pools to work.)
fi
@@ -820,7 +832,7 @@
AC_SUBST(RADIUSD_VERSION)
export CFLAGS LIBS
-AC_OUTPUT(\
+AC_CONFIG_FILES(\
./Make.inc \
./src/include/build-radpaths-h \
./src/main/Makefile \
@@ -836,14 +848,20 @@
./raddb/radiusd.conf
)
-AC_OUTPUT_COMMANDS([echo timestamp > src/include/stamp-h])
-AC_OUTPUT_COMMANDS([(cd ./src/include && /bin/sh ./build-radpaths-h)])
-AC_OUTPUT_COMMANDS([(cd ./src/main && chmod +x checkrad.pl radlast radtest)])
-AC_OUTPUT_COMMANDS([(cd ./scripts && chmod +x rc.radiusd radwatch
check-radiusd-config radiusd.cron.daily radiusd.cron.monthly cryptpasswd)])
-AC_OUTPUT_COMMANDS([
+AC_CONFIG_COMMANDS([stamp-h], [echo timestamp > src/include/stamp-h])
+AC_CONFIG_COMMANDS([radpath.h],
+ [(cd ./src/include && /bin/sh ./build-radpaths-h)])
+AC_CONFIG_COMMANDS([checkrad.pl],
+ [(cd ./src/main && chmod +x checkrad.pl radlast radtest)])
+AC_CONFIG_COMMANDS([rc.radiusd],
+ [(cd ./scripts && chmod +x rc.radiusd radwatch check-radiusd-config
+radiusd.cron.daily radiusd.cron.monthly cryptpasswd)])
+AC_CONFIG_COMMANDS([autoconf.h], [
cat >> src/include/autoconf.h <<EOF
#define HOSTINFO "$host"
#define RADIUSD_VERSION "$RADIUSD_VERSION"
EOF
],host=$host)
+
+AC_OUTPUT
+
===========================================================================
-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html