J'essaie de configurer autoconf pour mon projet. J'ai tout fonctionne "correctement" sauf que les fonctions ac_set_ < ...> ne sont pas trouvées dans ./configure. Ils fonctionnent très bien dans configure.status si je l'exécute directement. En particulier, j'ai des problèmes avec as_fn_set_status et as_fn_exit.Autoconf produit configure avec des fonctions cassées (ac_fn_set_status, ac_fn_exit)
Si je modifie manuellement le fichier de configuration et déplace les deux fonctions en haut du script configure, tout fonctionne correctement.
Pour arriver à ce point I:
- Wrote configure.ac
- couru autoreconf -i
- couru ./configure
Les lignes résultantes sont quelque chose comme:
./configure: line 1366: as_fn_set_status: command not found
Il y a 3-4 lignes sur lequel l'erreur se produit.
Des idées sur ce qui pourrait produire cet effet? Voici mon configure.ac:
##########################################
# Autoconf Configuration File for RPDB #
##########################################
# RPDB: An Object-Oriented Wrapper for Oracle's Berkeley Database (BDB/libdb),
# which is available at: http://www.oracle.com/technology/software/products/berkeley-db/index.html
###########################
# Init Autoconf >= 2.61 #
###########################
AC_CANONICAL_SYSTEM
AC_PREREQ(2.61)
AC_INIT([rpdb], [0.1.0], [[email protected]])
AC_CONFIG_AUX_DIR([.])
AC_CONFIG_MACRO_DIR([m4])
AC_CONFIG_FILES([Makefile])
AC_CONFIG_HEADERS([config.h])
AM_INIT_AUTOMAKE
#################################
# Check for Library Functions #
#################################
AC_FUNC_ERROR_AT_LINE
AC_FUNC_MALLOC
AC_CHECK_FUNCS([strdup])
################################
# Check for Working Compiler #
################################
AC_PROG_CC
AC_PROG_RANLIB
#########################
# Check for Libraries #
#########################
AC_SEARCH_LIBS([db_create], [db], [have_libdb=yes])
#######################
# "Root Sourcefile" #
#######################
# "Root Sourcefile" is only used nominally to specify base path
AC_CONFIG_SRCDIR([src/RPDB_Base/RPDB.h])
#######################
# Check for Headers #
#######################
AC_HEADER_STDC
AC_CHECK_HEADERS([stdlib.h string.h])
# If we found libdb then check for db.h - we need to have both or we throw an error
if test "x${have_libdb}" = xyes; then
AC_CHECK_HEADERS([db.h], [], [have_libdb=no])
fi
if test "x${have_libdb}" = xno; then
echo "------------------------------------------"
echo " Oracle's Berkeley Database (libdb) "
echo " library and header file is required to "
echo " build RPDB. Stopping... "
echo " Check 'config.log' for more information. "
echo "------------------------------------------"
(exit 1); exit 1;
fi
#####################################################
# Check For Type-Related Compiler Characteristics #
#####################################################
AC_C_CONST
AC_HEADER_STDBOOL
AC_TYPE_INT32_T
AC_TYPE_PID_T
AC_TYPE_SIZE_T
AC_TYPE_UINT32_T
AC_TYPE_UINT64_T
AC_TYPE_UINT8_T
###############################
# Generate Configure Script #
###############################
AC_OUTPUT
J'ai déménagé à CMake, donc je ne peux pas facilement vérifier cela, mais c'est logique, donc je vais l'accepter. Il s'aligne avec le fait que je pourrais déplacer les macros (vraisemblablement créées par AC_INIT?) Vers le haut et elles fonctionneraient. – Asher