Question

Je suis en train de construire un programme que j'ai écrit en C en utilisant GNU autotools, mais je évidemment, il a mis en place mal parce que quand exécute configure, il crache sur:

configure: error: C compiler cannot create executables

Si je regarde dans config.log, je vois:

configure:2846: checking for C compiler default output file name
configure:2868: gcc    conftest.c  >&5
conftest.c:3:25: warning: missing terminating " character
conftest.c:4: error: expected '=', ',', ';', 'asm' or '__attribute__' before ':' token
configure: failed program was:
| /* confdefs.h.  */
| #define PACKAGE_NAME "Jackoff"
| #define PACKAGE_TARNAME "jackoff
|       http://github.com/enaeseth/jackoff"
| #define PACKAGE_VERSION "0.1"
| #define PACKAGE_STRING "Jackoff 0.1"
| #define PACKAGE_BUGREPORT "Eric Naeseth <enaeseth@gmail.com>"
| #define PACKAGE "jackoff
|       http://github.com/enaeseth/jackoff"
| #define VERSION "0.1"
| /* end confdefs.h.  */
|
| int
| main ()
| {
|
|   ;
|   return 0;
| }

Pour une raison quelconque, AutoConf générer un fichier de test non valide: ce qui devrait être sur cette ligne qui est à venir comme un simple point-virgule? La construction échoue de la même façon sur Ubuntu 9.04 et Mac OS X 10.6, donc c'est certainement ma faute, pas l'environnement de.

Était-ce utile?

La solution

Le problème est qu'il ya une nouvelle ligne dans le PACKAGE_TARNAME (et PACKAGE), qui est défini dans le fichier de configure.ac. Vous devriez regarder ce qui contient -. Réparer et régénérer le script configure

L'un de mes scripts configure.ac contient (en haut):

AC_CONFIG_HEADER(config.h)

PACKAGE="sqlcmd"
VERSION="86.04"

AC_MSG_RESULT([Configuring $PACKAGE version $VERSION])

AC_SUBST(PACKAGE)
AC_SUBST(VERSION)

Autres conseils

Il semble que le problème est dans un caractère de nouvelle ligne dans « jackoff http://github.com/enaeseth/jackoff ». Assurez-vous que.

PACKAGE_TARNAME ne regarde pas bien. D'une part, il a un saut de ligne incorporé, qui est la cause directe de votre problème.

Vous avez un argument supplémentaire pour AC_INIT au début de votre configure.ac. Il suffit de le supprimer.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top