Сделайте ошибку: main.o: команда не найдена Makefile: рецепт для цели 'все' не удалось

# Makefile for Defmod

FFLAGS =
FPPFLAGS =
LDLIBS =

-include ${PETSC_DIR}/conf/variables
-include ${PETSC_DIR}/conf/rules
-include ${PETSC_DIR}/lib/petsc/conf/variables
-include ${PETSC_DIR}/lib/petsc/conf/rules

OBJS = main.o m_global.o m_local.o m_elems.o m_utils.o

m_utils.o : m_utils.F90
m_elems.o : m_elems.F90 m_utils.o
m_local.o : m_local.F90 m_elems.o
m_global.o: m_global.F90 m_local.o
main.o    : main.F90 m_global.o

all: ${OBJS}
    -${FLINKER} ${OBJS} -o ../defmod ${PETSC_LIB} ${LDLIBS}

когда я вхожу в make all, оно выскакивает :

make[1]: Entering directory '/mnt/c/Users/gxyan/defmod-dev/src'
    main.o m_global.o m_local.o m_elems.o m_utils.o -o ../defmod
    make[1]: main.o: Command not found
    Makefile:21: recipe for target 'all' failed
    make[1]: [all] Error 127 (ignored)
    make[1]: Leaving directory '/mnt/c/Users/gxyan/defmod-dev/src'

и все переменные среды PETSC установлены. настройка PETSC выполняется командой:

 ./configure --with-cc=gcc --with-fc=gfortran --download-mpich --download-fblaslapack --download-cmake --download-metis --with-debugging=0

Итак, что случилось?


person Ck Mo    schedule 30.09.2017    source источник
comment
Добро пожаловать. Обязательно пройдите тур. Пожалуйста. Не используйте функцию javascript.snippet, как это делали вы. Это только для примеров javascript и html. Используйте кнопку code {}.   -  person Vladimir F    schedule 30.09.2017
comment
Как определяется FLINKER? Быть пустым было бы проблематично.   -  person francescalus    schedule 01.10.2017
comment
просто введите: make all FLINKER=gfortran, и он будет работать без проблем.   -  person M. Chinoune    schedule 01.10.2017


Ответы (2)


make переменная FLINKER либо не определена, либо определена, но имеет пустое строковое значение

person Mark Galeck    schedule 01.10.2017

Вам нужно сначала установить переменную PETSC_DIR. Например, в BASH выполните:

export PETSC_DIR=/home/user/petsc

с последующим

make all

В качестве альтернативы вы можете:

make all PETSC_DIR=/home/user/petsc
person stali    schedule 12.12.2017
comment
Из вопроса: все переменные среды PETSC установлены .. Даже если переменная была неправильной, как это объясняет сообщение об ошибке? - person francescalus; 13.12.2017