LINUX.ORG.RU

Где этот файл

 


0

1
cc -Wall -O3 -fopenmp -I ../../../spooles-master -DARCH="Linux" -DSPOOLES -DARPACK -DMATRIXSTORAGE -DNETWORKOUT -c arpack.c
In file included from arpack.c:26:0:
spooles.h:26:10: fatal error: misc.h: No such file or directory
 #include <misc.h>  В КАКОМ ФАЙДЕ ОН УПОМИНАЕТСЯ arpack.c или ??
          ^~~~~~~~
compilation terminated.
Makefile:9: recipe for target 'arpack.o' failed
make: *** [arpack.o] Error 1

Ответ на: комментарий от IvanRia

У меня тут всё есть

/usr/local/spooles-master/misc.h

не пойму почему не видит

квотирую misc.h в spooles.h выскакивает

cc -Wall -O3 -fopenmp -I ../../../spooles-master -DARCH="Linux" -DSPOOLES -DARPACK -DMATRIXSTORAGE -DNETWORKOUT -c arpack.c
In file included from arpack.c:26:0:
spooles.h:27:10: fatal error: FrontMtx.h: No such file or directory
 #include <FrontMtx.h>
          ^~~~~~~~~~~~
compilation terminated.
Makefile:9: recipe for target 'arpack.o' failed
make: *** [arpack.o] Error 1

saufesma
() автор топика
Последнее исправление: saufesma (всего исправлений: 1)
Ответ на: комментарий от unDEFER

Вы его из /usr/local/spooles-master/

  • /
  • компилируете?

Нет в его собственной dir куда скопировал файлы указанные в spooles.h

#include <pthread.h>
#include <misc.h>
#include <FrontMtx.h>
#include <SymbFac.h>
#if USE_MT
#include <MT/spoolesMT.h>
#endif
из spooles-master

а результат тот же

/Documents/ccx_2.11/src$ sudo make
[sudo] password for bla:          
cc -Wall -O3 -fopenmp -I ../../../spooles-master -DARCH="Linux" -DSPOOLES -DARPACK -DMATRIXSTORAGE -DNETWORKOUT -c arpack.c
In file included from arpack.c:26:0:
spooles.h:26:10: fatal error: misc.h: No such file or directory
 #include <misc.h>
          ^~~~~~~~
compilation terminated.
Makefile:9: recipe for target 'arpack.o' failed
make: *** [arpack.o] Error 1

saufesma
() автор топика
Ответ на: комментарий от saufesma

куда скопировал файлы указанные в spooles.h

Не будет так работать. Там относительный путь указан к этим файлам. Либо всю директорию рекурсивно копируйте, либо Makefile’ы исправляйте.

unDEFER ★★★★★
()
Ответ на: комментарий от unDEFER

Я зашел чуть дальше скопировал файлы в /usr/include/, теперь выдает

/Documents/ccx_2.11/src$ sudo make
cc -Wall -O3 -fopenmp -I ../../../spooles-master -DARCH="Linux" -DSPOOLES -DARPACK -DMATRIXSTORAGE -DNETWORKOUT -c arpack.c
In file included from spooles.h:26:0,
                 from arpack.c:26:
/usr/include/misc.h:3:10: fatal error: misc/misc.h: No such file or directory
 #include "misc/misc.h"
          ^~~~~~~~~~~~~
compilation terminated.
Makefile:9: recipe for target 'arpack.o' failed
make: *** [arpack.o] Error 1

saufesma
() автор топика
Ответ на: комментарий от unDEFER

Исправил Makefile

CFLAGS = -Wall -O3 -fopenmp -I ../../../spooles -DARCH=«Linux» -DSPOOLES -DARPACK -DMATRIXSTORAGE -DNETWORKOUT

в надежде, что это смотрит в /usr/include/spooles там все необходимые файлы.

и ещё, существует

/usr/include/misc/misc.h
/usr/include/misc.h

saufesma
() автор топика
Последнее исправление: saufesma (всего исправлений: 2)
Ответ на: комментарий от saufesma

И что, в чём проблема?

Если тебе нужно компилировать что-то с библиотекой libspooles, то нужно ещё установить пакет libspooles-dev

apt libspooles-dev

Это заголовочные файлы и прочие файлы, необходимые для сборки программ из исходников слинкованных с библиотекой libspooles.

Только зачем собирать, если программа, которую ты пытаешься собрать, с большой долей вероятности, есть в репозитории Debian или ubuntu, или что там у тебя стоит.

Что ты хочешь вообще сделать?

kostik87 ★★★★★
()
Ответ на: комментарий от kostik87

Мне нужно поменять файл dflux.f на другой dflux.f и скомпилировать. И скорее всего придется компилировать ещё не раз т.к. придется менять кое какие параметры в dflux.f.

saufesma
() автор топика
Ответ на: комментарий от saufesma

Ну и причём здесь libspooles?

У тебя есть тема Скомпилировать Calculix

В которой ты пишешь, что в исходниках Calculix тебе нужно заменить файлы.

Если это не так - пиши чётче.

Ставь пакет libspooles-dev и компилируй свой Calculix.

kostik87 ★★★★★
()
Ответ на: комментарий от kostik87

ВСе стоит и

cc -Wall -O3 -fopenmp -I ../../../SPOOLES.2.2 -DARCH="Linux" -DSPOOLES -DARPACK -DMATRIXSTORAGE -DNETWORKOUT -c arpack.c
In file included from arpack.c:26:0:
spooles.h:26:10: fatal error: misc.h: No such file or directory
 #include <misc.h>
          ^~~~~~~~
compilation terminated.
Makefile:9: recipe for target 'arpack.o' failed
make: *** [arpack.o] Error 1

saufesma
() автор топика
Ответ на: комментарий от saufesma

Ещё раз, зачем ты собираешь spooles2.2?

Повторяю, spooles и spooles-dev в у тебя уже установлены из репозитория.

Собирать их уже не нужно.

Ты писал в другой теме: «Нужно скомпилировать CalculiX с замененным одноименным файлом dflux.f файлом dflux.f с сайта https://www.researchgate.net/project/Welding-tool-for-CalculiX. CalculiX version 2.11.»

Я тебе задал вопрос:

В которой ты пишешь, что в исходниках Calculix тебе нужно заменить файлы.

Если это не так - пиши чётче.

Где тебе нужно заменить эти файлы?

Если в исходниках Calculix - заменяй и собирай его. Собрать spooles не нужно. Уже всё необходимое для сборки Calculix, по крайней мере со стороны spooles установлено в системе.

Опиши что тебе нужно сделать. Для чего ты собираешь spooles?

kostik87 ★★★★★
()
Ответ на: комментарий от saufesma

Я никак не понял что ты собираешь это. Об этом чётко надо в теме написать. С твоим изложением материала Я могу только гадать как и все остальные. Открываешь документацию по сборке из исходников твоего приложения и читаешь какие ему ещё нужны зависимости как минимум нужно установить Linux-headers.

kostik87 ★★★★★
()
Ответ на: комментарий от kostik87

Так как ты определил, что я собираю spooles, а не Calculix

Из документации по сборке

change to /usr/local/CalculiX/ccx_2.11/src and type make

моя компиляция проходит в /home/bla/Documents/CalculiX/ccx_2.11/src.

saufesma
() автор топика
Ответ на: комментарий от saufesma

Читай раздел, где описано про зависимости.

sudo make
cc -Wall -O3 -fopenmp -I ../../../spooles-master

Вот здесь у тебя есть указание про спулес.

Упоминание, про то что ты собираешь что-то другое Я не вижу.

Пиши чётче. Заголовочные файлы linux ты установил?

kostik87 ★★★★★
()
Ответ на: комментарий от kostik87

Пиши чётче. Заголовочные файлы linux ты установил?

А какие надо установить, там большое количество с разными окончаниями, например linux-headers4.15.0-1039-oracl, linux-headers4.15.0-1040-aws, и тому подобное.

saufesma
() автор топика
Последнее исправление: saufesma (всего исправлений: 2)
Ответ на: комментарий от saufesma

Я же вам написал, что есть у gcc флаг -I, который позволяет задать директорию, в которой компилятор ищет инклюды, отредактируйте Make файл, возможно, что отредактировать надо всего в одном месте, где задается CFLAGS, если нужно задать больше одной директории, то задавайте без пробелов через запятую

IvanRia
()
Ответ на: комментарий от IvanRia

должно быть что-то вроде этого -I ../../../spooles-master,/usr/include

как-то неуютно звучит.

мой выполняемый файл ccx-2-11 состоит из ? количества объектных файлов

                         
OBJECTS-Fortran = 289 штук fortran файлов
OBJECTS-C = 97 штук C файлов
header files посчитать сложновато будет

должно получиться так
ccx-2-11 : $(OBJECTS-Fortran) $(OBJECTS-C)
           cc -o ccx-2-11 $(OBJECTS-C)
           gfortran -o ccx-2-11 $(OBJECTS-Fortran) здесь неправильно но суть ясна

не уверен если gfortran выдает объектные файлы

saufesma
() автор топика
Последнее исправление: saufesma (всего исправлений: 1)
Ответ на: комментарий от saufesma

Попробовал собрать как указано в Arch Linux pkgbuild: https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=calculix-ccx

Собралось.

sudo apt -y install build-essential libsool-dev
wget http://www.dhondt.de/ccx_2.12.src.tar.bz2
tar -xpf ccx_2.12.src.tar.bz2
cd CalculiX/ccx_2.12/src/
make CFLAGS="${CFLAGS} -Wall -O2 -fopenmp -I /usr/include/spooles \
                  -DARCH=\"Linux\" -DSPOOLES -DARPACK -DMATRIXSTORAGE \
                  -DNETWORKOUT -DUSE_MT=1"          FFLAGS='-Wall -O2 -fopenmp -fpic -fallow-argument-mismatch'          LIBS='-lpthread -lm -lc -lspooles -larpack -lblas -llapack -lgomp'

Debian 11.

Собиралось, но потом встало на

a - tiedcontact.o
a - u_calloc.o
a - u_free.o
a - u_realloc.o
a - v_betrag.o
a - v_prod.o
a - v_result.o
a - writeheading.o
make: *** No rule to make target '-larpack', needed by 'ccx_2.12'.  Stop.

Видимо, нужно установить пакеты с требуемыми библиотеками для «-larpack -lblas -llapack -lgomp» и dev версии пакетов.

Разбирайся дальше сам.

kostik87 ★★★★★
()
Последнее исправление: kostik87 (всего исправлений: 1)