146

我正在尝试automake使用 OrientDb C++ 库,但遇到了一些错误。

Makefile.am:10: error: Libtool library used but 'LIBTOOL' is undefined
Makefile.am:10:   The usual way to define 'LIBTOOL' is to add 'LT_INIT'
Makefile.am:10:   to 'configure.ac' and run 'aclocal' and 'autoconf' again.
Makefile.am:10:   If 'LT_INIT' is in 'configure.ac', make sure
Makefile.am:10:   its definition is in aclocal's search path.

https://github.com/tglman/orientdb-c

https://github.com/tglman/orientdb-c/wiki/Install

我已经定义了 configure.ac 和 Makefile.am。

我运行以下自动工具

  • 当地人

  • 自动标题

  • 自动制作:

libtool (GNU libtool) 2.4.2

配置.ac

# -*- Autoconf -*-
# Process this file with autoconf to produce a configure script.

AC_PREREQ([2.69])
AC_INIT([orientdb-c],[0.9])
AC_CONFIG_SRCDIR([src/o_query_internal.h])
AC_CONFIG_HEADERS([config.h])
AM_INIT_AUTOMAKE()

# Checks for programs.
AC_PROG_CXX
AC_PROG_AWK
AC_PROG_CC
AC_PROG_CPP
AC_PROG_INSTALL
AC_PROG_LN_S
AC_PROG_MAKE_SET

LT_INIT

# Checks for libraries.

# Checks for header files.
AC_CHECK_HEADERS([malloc.h memory.h netdb.h netinet/in.h stdlib.h string.h sys/ioctl.h sys/socket.h     sys/time.h unistd.h])

# Checks for typedefs, structures, and compiler characteristics.
AC_TYPE_SIZE_T

# Checks for library functions.
AC_FUNC_MALLOC
AC_FUNC_REALLOC
AC_CHECK_FUNCS([gethostbyname memset socket strchr strcspn strdup strerror])

AC_CONFIG_FILES([Makefile])
AC_OUTPUT

我已经尝试过的事情:

  • 自动重新配置

  • aclocal -I /usr/share/libtool

  • aclocal -I 。

4

6 回答 6

203

对我来说一个好的答案是安装 libtool:

sudo apt-get install libtool
于 2016-04-04T11:42:35.633 回答
104

解决它。我需要libtoolize在目录中运行,然后重新运行:

  • 当地人

  • 自动标题

于 2013-09-24T11:12:40.697 回答
4

就我在 macOS 上的情况而言,我通过以下方式解决了它:

brew link libtool
于 2020-04-06T18:36:30.740 回答
1

对于 mac,这很简单:

brew install libtool
于 2020-04-25T07:32:27.273 回答
1

对于最终来到这里并正在使用的人CYGWIN,请在 cygwin 中安装以下软件包并重新运行:

  • cygwin32-libtool
  • 库工具
  • libtool-debuginfo
于 2018-08-10T05:25:04.447 回答
0

对于使用 Tiny Core Linux 的人,您还需要安装libtool-dev它,因为它具有 .m4 所需的 *.m4 文件libtoolize

于 2020-11-20T01:53:23.517 回答