makefile: 15: *** отсутствует разделитель. Стоп - PullRequest
1 голос
/ 03 апреля 2020

Я знаю, что были вопросы о «Отсутствует разделитель. Стоп». на SE раньше, но я не могу понять, где мой make-файл работает неправильно.

Во время установки моей программы это происходит в терминале:

*     Executing: 'make all -f makefile install INSTALL_DIR=/home/leomr/mcell_workspace/mcell_tools/work/build_cellblender' ['make', 'all', '-f', 'makefile', 'install', 'INSTALL_DIR=/home/leomr/mcell_workspace/mcell_tools/work/build_cellblender'] in '/home/leomr/mcell_workspace/cellblender'
makefile:15: *** missing separator.  Stop.
* Exit code: 2
* Error: Error: command 'make all -f makefile install INSTALL_DIR=/home/leomr/mcell_workspace/mcell_tools/work/build_cellblender' failed, terminating.

Когда я "vi makefile" в своем каталоге cellblender, я получаю это:

UNAME_S := $(shell uname -s)
#ifeq ($(UNAME_S),Linux)
#       INSTALL_DIR = ~/.config/blender/2.78/scripts/addons/
##      INSTALL_DIR = ~/src/blender/Blender-2.78c-CellBlender-linux/2.78/scripts/addons/
#else
#       INSTALL_DIR = /Applications/Blender-2.78c-CellBlender/blender.app/Contents/Resources/2.78/scripts/addons/
#endif

# CellBlender will be installed here. This should typically be a link to the desired location on your platform.
# For example, on a Linux machine it might be done with: ln -s ~/.config/blender/2.78/scripts/addons/ ~/my_cellblender_link
# For example, on a MacOSX machine it might be done with: ln -s ~/Library/Application\ Support/Blender/2.78/scripts/addons/ ~/my_cellblender_link
# For example, for a link pointing into a Linux bundle: ln -s ~/src/blender/Blender-2.78c-CellBlender-linux/2.78/scripts/addons/ ~/my_cellblender_link
# For example, for a link pointing into a MacOSX bundle: ln -s /Applications/Blender-2.78c-CellBlender/blender.app/Contents/Resources/2.78/scripts/addons/ ~/my_cellblender_link

<<<<<<< HEAD
INSTALL_DIR ?= ~/my_cellblender_link/
=======
INSTALL_DIR = ~/my_cellblender_link/
>>>>>>> refs/remotes/origin/master

# Linux:
<<<<<<< HEAD
#INSTALL_DIR = ~/.config/blender/2.78/scripts/addons/
=======
#INSTALL_DIR = ~/.config/blender/2.76/scripts/addons/
>>>>>>> refs/remotes/origin/master
.
.
. (this continues for a while)

15-я строка - это первая "<<<<<<< HEAD". </p>

Что здесь происходит? Должна ли быть где-нибудь вкладка, где ее нет?

Я использую Debian 10 через virtualbox. Мне сказали, что устанавливаемая мной программа работает с Debian 10, хотя она была написана для Debian 9.

1 Ответ

1 голос
/ 03 апреля 2020

Если вы видите такие вещи:

<<<<<<< HEAD
INSTALL_DIR ?= ~/my_cellblender_link/
=======
INSTALL_DIR = ~/my_cellblender_link/
>>>>>>> refs/remotes/origin/master

Вы смотрите на "diff" - очень возможно файл патча .

В более простых сроках файл "поврежден".

Вам нужно исправить это.

В частности:

  1. Решите , который"INSTALL_DIR "правильно, и УДАЛИТЕ остальные 4 строки.

  2. Сполосните и повторите для каждой пары <<<<<<< HEAD >>>>>>>, которую вы найдете.


То, что я сказал выше, правильно:

  • Этот забавный <<<<<<< HEAD >>>>>>> текст, который вы видите, является "разницей" между одной версией make-файла и другой. Это часто, как "патчи" сделаны; это также может быть ваша система контроля версий, отмечающая «конфликт» между одной исходной версией и другой.
  • Суть в том, что этот конкретный make-файл «поврежден». Вам нужно это исправить.
  • Один из вариантов - отредактировать его вручную, как я и предлагал выше.

Раньше мне это не приходило в голову, но, может быть, то, что вы делаете, это то, что вы у вас была "старая" версия вашего проекта, вы сделали проверку "более новой" версии поверх нее ... и ваш инструмент управления версиями внес коррупцию.

ДРУГОЕ ПРЕДЛОЖЕНИЕ:

  • Проверьте весь проект в новом каталоге CLEAN .

Пожалуйста, дайте нам знать, что происходит!

...