2016-04-16 7 views
0

Ich bin neu zu GNU autotools.In mein Projekt, wenn ich ./configure versuchen es erzeugt Fehler folgende:PKG_CHECK_MODULES Syntaxfehler in der Nähe von luajit

./configure: line 9852: syntax error near unexpected token `luajit,' 
./configure: line 9852: ` PKG_CHECK_MODULES(luajit, luajit,LLUAJIT="yes",LLUAJIT="no")' 

In Configure.in:

PKG_CHECK_MODULES(luajit, luajit,LLUAJIT="yes",LLUAJIT="no") 
    if test "x$LLUAJIT" = "xyes"; then 
     CONFIGFLAGS="$CONFIGFLAGS -DHAVE_LIBLUAJIT" 
     LUA_CFLAGS="$luajit_CFLAGS" 
     LUA_LIBS="$luajit_LIBS" 
     AC_SUBST(LUA_CFLAGS) 
     AC_SUBST(LUA_LIBS) 
     if test "x$macos" != "xno"; then 
      LDFLAGS="${LDFLAGS} -pagezero_size 10000 -image_base 100000000" 
     fi 

    else 
     echo 
     echo " ERROR! LuaJIT library not found. For better performance, go get it from" 
     echo " http://www.luajit.org/." 
     AC_MSG_ERROR("Fatal!") 
    fi 

Es Scheint, dass autoconf (vielleicht) PKG_CHECK_MODULES Makro nicht finden kann. Ich suchte das Internet nach der Lösung und fand, dass es ist, weil libtool nicht installiert ist. Ich wieder installierte libtool, aber Fehler bleibt gleich.

Hoffnung Jemand erkennt das Problem und hat eine schnelle Lösung dafür. Jede Hilfe würde geschätzt werden.

Antwort

1

Das Makro PKG_CHECK_MODULES ist in der Datei pkg.m4 definiert, und pkg.m4 ist Teil des Pakets pkgconfig. Also, um diesen Makro zu verwenden, stellen Sie sicher, dass pkgconfig auf Ihrem System installiert werden, und pkg.m4 ist an der richtigen Stelle, auf den meist System ist es bei:

/usr/share/aclocal/pkg.m4 

In Ihrem Skript zu konfigurieren, ermöglichen libtool macro dir:

LT_INIT 
AC_CONFIG_MACRO_DIRS([m4]) 
+0

ja, es ist bereits in dem oben angegebenen Pfad. :( – Prabhakar

+0

Bitte posten Sie Ihre gesamte configure.ac. – fluter

+0

Link zu Datei: http://expirebox.com/download/d8531818c4083d93d947a17e4a4882c1.html – Prabhakar

0

für diejenigen, die hier am Ende die Lösung suchen, nach für mich gearbeitet:

PKG_CHECK_MODULES breaking in solaris

die PKG_CHECK_MODULES Makro scheint nicht richtig erweitert zu werden. Haben Sie nach der Installation von pkg-configpkg.m4 installiert (irgendwo wie /usr/share/aclocal)? Wenn ja, versuchen Sie erneut, aclocal zu laufen (vielleicht mit -I m4, wenn Sie benutzerdefinierte m4 Code im m4 Unterverzeichnis haben) und dann autoconf ausführen. Wenn das nicht funktioniert und pkg.m4 installiert wurde, versuchen Sie, autoreconf -f (und vielleicht autoreconf -i -f) zu laufen. Wenn das nicht funktioniert, müssen Sie pkg.m4 in ein Verzeichnis für Ihr Paket kopieren. Normalerweise ist dies das m4 Unterverzeichnis. Setzen Sie in Makefile.am (wenn SieFühren Sie dann aclocal -I m4 und autoconf und ./configure.