make: *** Нет правила для создания целевых `tools ', необходимых для` all'. Стоп - PullRequest
0 голосов
/ 09 ноября 2011

Я пытался установить Flite1.4. Установка в два этапа

  1. ./configure
  2. make

Но make выдает мне эту ошибку:

make: *** No rule to make target `tools', needed by `all'.  Stop.

Пожалуйста, помогите устранить эту ошибку.

[angus@bu flite-1.4-release]$ ls
ACKNOWLEDGEMENTS  config.status  Exports.def      Makefile       src
bin               config.sub     fliteDll.vcproj  missing        testsuite
build             configure      flite.sln        mkinstalldirs  wince
config            configure.in   include          palm
config.guess      COPYING        install-sh       README
config.log        doc            lang             sapi

[angus@cebu flite-1.4-release]$ ./configure

checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking target system type... i686-pc-linux-gnu
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables... 
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for ranlib... ranlib
checking for a BSD-compatible install... /usr/bin/install -c
checking for ar... ar
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking whether byte ordering is bigendian... no
checking for mmap... yes
checking sys/soundcard.h usability... yes
checking sys/soundcard.h presence... yes
checking for sys/soundcard.h... yes
checking machine/soundcard.h usability... no
checking machine/soundcard.h presence... no
checking for machine/soundcard.h... no
checking sys/audioio.h usability... no
checking sys/audioio.h presence... no
checking for sys/audioio.h... no
checking mmsystem.h usability... no
checking mmsystem.h presence... no
checking for mmsystem.h... no
configure: creating ./config.status
config.status: creating config/config
config.status: creating config/system.mak


[angus@bu flite-1.4-release]$ make

make: *** No rule to make target `tools', needed by `all'.  Stop.

1 Ответ

1 голос
/ 09 ноября 2011

Ваш Makefile выглядит плохо. Где-то в нем есть что-то вроде:

all: <some-other-targets> tools

Что говорит о том, что цель all требует, чтобы цель tools была сделана. Но нет линии в Makefile, определяющем цель tools.

Это кажется странным для выпущенного кода. Некоторая идея о том, как продолжать:

  1. Убедитесь, что цель tools написана правильно. Дело имеет значение.
  2. Вы можете попытаться удалить зависимость all от tools, удалив инструменты в строке, описанной выше, и снова запустить make. Это не дает вам полной сборки пакета, но, по крайней мере, вы знаете, есть ли другие проблемы, которые нужно решить.
  3. Запустите configure --help и посмотрите доступные параметры, например --enable-XXXXX, которые можно использовать с configure. Использование опций с configure может изменить Makefile и избежать создания цели tools.

Обратите внимание, что каждый раз, когда вызывается configure, Makefile регенерируется, поэтому ваша модификация может потеряться.

...