ошибка: используется библиотека Libtool, но «LIBTOOL» не определен

Я пытаюсь 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

  • аклокальный -я.


person Imme22009    schedule 24.09.2013    source источник
comment
Для всех, кто наткнулся на эту ошибку, исправление для меня было: sudo apt-get install libtool.   -  person Casper    schedule 12.03.2016
comment
Спасибо @Casper, ты сэкономил мне много времени. Для пользователей CentOs это yum install libtool.   -  person Achal    schedule 14.08.2019


Ответы (6)


Хорошим ответом для меня было установить libtool:

sudo apt-get install libtool
person Eli    schedule 04.04.2016

Починил это. Мне нужно было запустить libtoolize в каталоге, а затем снова запустить:

  • аклокальный

  • автозаголовок

person Imme22009    schedule 24.09.2013
comment
В моем случае мне просто нужно установить libtool. sudo apt-get install libtool - person Aust; 12.03.2015
comment
@Aust same, brew, установите libtool для OS X, используя доморощенный - person Ron E; 05.10.2015
comment
Я нахожу аналогичный вопрос на SO, и все ответы заключались в том, чтобы просто установить libtool. Ну, у меня уже был libtool installend, и все равно получаю ошибку. Этот ответ мне действительно помог. - person bartgol; 02.03.2021
comment
port install libtool также работает, если вы используете macOS (OS X) и MacPorts. - person NSGod; 16.03.2021

В моем случае на macOS я решил это с помощью:

brew link libtool
person Julien    schedule 06.04.2020

Для людей, которые оказались здесь и используют CYGWIN, установите следующие пакеты в cygwin и перезапустите:

  • cygwin32-libtool
  • libtool
  • libtool-debuginfo
person fatcook    schedule 10.08.2018

Для мака все просто:

brew install libtool
person Steven McConnon    schedule 25.04.2020

Людям, использующим Tiny Core Linux, также необходимо установить libtool-dev, так как в нем есть файлы *.m4, необходимые для libtoolize.

person Aaron Mason    schedule 20.11.2020