Error in Compiling 2.18

My linux is rusty, can anyone suggest how to fix the message given below?

make: *** No rule to make target ‘…/…/…/SPOOLES.2.2/spooles.a’, needed by ‘ccx_2.18’. Stop.

Probably either spooles wasn’t built or the path is wrong. Try my automated installation script here and see if that works:

https://www.feacluster.com/calculix.php#4

1 Like

make: *** No rule to make target ‘…/…/…/ARPACK/libarpack_INTEL.a’, needed by ‘ccx_2.18_MT’. Stop.
make: *** Waiting for unfinished jobs…
cp: cannot stat ‘CalculiX/ccx_2.18/src/ccx_2.18_MT’: No such file or directory
chmod: cannot access ‘ccx_2.18_MT’: No such file or directory

** Something went wrong. Executable not created. Email info with the contents of the log.txt file **

Where is the log file?

Post all the output of the script in a code block here. Looks like arpack probably never got downloaded or unzipped properly.

There is huge output, in the beginning I found this to be relevant

Can’t open ARPACK/ARmake.inc: No such file or directory.
Can’t open ARPACK/ARmake.inc: No such file or directory.
Can’t open ARPACK/ARmake.inc: No such file or directory.
Can’t open ARPACK/ARmake.inc: No such file or directory.
Can’t open ARPACK/UTIL/second.f: No such file or directory.
Can’t open ARPACK/ARmake.inc: No such file or directory.

** Building ARPACK - may take several minutes **

make: *** No rule to make target ‘lib’. Stop.

Maybe try from a fresh directory from scratch, i.e

mkdir build
cd build
wget feacluster.com/install/install
perl install

If still fails, scroll up to see if any error in downloading and unzipping the files… And send me what you see when you type:

ls -lrt

A little better now, at the end I get

./date.pl; cc -std=gnu99 -w -O2 -fopenmp -I …/…/…/SPOOLES.2.2 -DARCH=“Linux” -DSPOOLES -DARPAm
Can’t open ccx_2.18step.c: No such file or directory at ./date.pl line 18.

** Done! - To run, enter ./ccx_2.18_MT . Set number of cpus to use by doing:

export OMP_NUM_THREADS=8

Hit (y) to run the test suite - May take 10+ minutes

y

and at the end of the test I get

check the existence of file error.16934
if this file does not exist, the present results
agree with the reference results

the contents of the file are

sanjay@july:/usr/local/build$ more error.16934
beamhtfc2.dat and beamhtfc2.dat.ref do not have the same size !!!

beamread.dat and beamread.dat.ref do not have the same size !!!

beamread2.dat and beamread2.dat.ref do not have the same size !!!

beamread3.frd does not exist
beamread4.dat and beamread4.dat.ref do not have the same size !!!

deviation in file induction2.frd
line: 20199 reference value: 2.048930e+01 value: 2.074740e+01
absolute error: 2.581000e-01
largest value within same block: 2.257380e+01
relative error w.r.t. largest value within same block: 1.143361 %

What do you think?

I think it looks fine. I believe some errors are for restart models which the test suite doesn’t test yet.

Thanks, I am going to start playing with it.

Is there a separate install for the graphics part or was it included?

Unfortunately, I haven’t automated the cgx install as it is more complex and requires root access. There’s a binary you can download to see if that works. I am also working on a web based cgx. It’s not public yet, but send me a private message and Ill send you the link.

I am receiving the same error after running the automated script.

When I type:
ls -lrt

-rw-rw-r-- 1 andrew andrew 636865 Apr 17 2017 arpack96.tar.gz
-rw-rw-r-- 1 andrew andrew 15383040 Apr 17 2017 spooles.2.2.tar
-rw-rw-r-- 1 andrew andrew 226473 Apr 17 2017 patch.tar.gz
-rw-rw-r-- 1 andrew andrew 20480 Aug 1 2022 ccx_2.20.SPOOLEScorrection.tar
-rw-rw-r-- 1 andrew andrew 93511680 Aug 1 2022 ccx_2.20.test.tar
-rw-rw-r-- 1 andrew andrew 13271040 Aug 1 2022 ccx_2.20.src.tar
-rw-rw-r-- 1 andrew andrew 701 Sep 22 2022 Makefile
-rw-rw-r-- 1 andrew andrew 10328 Sep 22 2022 install
drwxrwxr-x 3 andrew andrew 4096 Apr 18 16:34 CalculiX
drwxr-xr-x 9 andrew andrew 4096 Apr 18 16:34 ARPACK
drwxrwxr-x 48 andrew andrew 4096 Apr 18 16:35 SPOOLES.2.2

What could the problem be?

Seem to be a few different errors mentioned in this thread. Which one are you getting? And did you try doing everything from a fresh directory?

My apologies for not being specific.
The error I am receiving :

cubtri.f:134:18:

134 | CALL CUBRUL(F, VEC, W(1,1), IDATA, RDATA)
| 1
Error: Interface mismatch in dummy procedure ‘f’ at (1): ‘f’ is not a function
cubtri.f:173:20:

173 | CALL CUBRUL(F, VEC, W(1,J), IDATA, RDATA)
| 1
Error: Interface mismatch in dummy procedure ‘f’ at (1): ‘f’ is not a function
make: *** [Makefile:11: cubtri.o] Error 1
make: *** Waiting for unfinished jobs…
cp: cannot stat ‘./CalculiX/ccx_2.20/src//ccx_2.20_MT’: No such file or directory
chmod: cannot access ‘ccx_2.20_MT’: No such file or directory

** Something went wrong. Executable not created. Email info with the contents of the log.txt file **

and this was in a fresh directory.

Thanks for the help.

Interesting. Wondering if it is some fortran version issue. What’s your output of this command:

[feacluster@micro ~]$ gfortran --version
GNU Fortran (GCC) 8.5.0 20210514 (Red Hat 8.5.0-4)

This is my output
GNU Fortran (Ubuntu 11.3.0-1ubuntu1~22.04) 11.3.0

Try it again from a fresh folder. I made a change to the makefile based on this thread:

@ab5499
I have had the same problem and I believe the easy way to solve it is just to add the fortran compiler flags “-std=legacy” it worked for me.
From old fortran days all calls were calls by reference why it really didn’t matter what you put in as arguments in the caller and why most old fortran compilers by default doesn’t checked for this.
In case you wont success with the -std=legacy flag you will need to implement the new way of function declaration.
Remember 1’st col in fortran is comment and other should be placed from col 7. I couldn’t make the right indent in the reply

implicit none
c add the following after line 74 in cubtri,f
interface
function F()
real*8 :: F
end function F
end interface
c end of new function declaration
EXTERNAL F,rnderr

have fun

Nobody will.
This Makefile is good on linuxmint and it should be OK for Ubuntu as well, I suppose. You can check on rusty.

MY_INCLUDE = /usr/include
MY_LIB = /usr/lib/x86_64-linux-gnu
# -L $(MY_LIB) -I $(MY_INCLUDE)
CFLAGS = -w -O3 -DARCH=“Linux” -DMATRIXSTORAGE
FFLAGS = -w -O3 -fopenmp -m64 $(OPTIONS)
LIBS = -lm -lc -lpthread -ldl -L /usr/local/lib -larpack -lblas -llapack

# Spooles
CFLAGS += -I $(MY_INCLUDE)/spooles -DSPOOLES
LIBS += $(MY_LIB)/libspooles.so

# Multithreaded spooles
# CFLAGS += -DUSE_MT
# LIBS += $(MY_LIB)/spoolesMT.a

# ARPACK
LIBS += /usr/local/lib/libarpack.so
CFLAGS += -DARPACK

CC=gcc
FC=gfortran

OPTIONS = -w -fno-second-underscore -fcray-pointer -x f77-cpp-input
FPPSTOP= -x none

.SUFFIXES: .o .c .cu
.c.o :
$(CC) $(CFLAGS) -c $<
.f.o :
$(FC) $(FFLAGS) -c $<

include Makefile.inc

SCCXMAIN = ccx_2.11.c # put your version file

# OCCXCU = $(SCCXCU:.cu=.o)
OCCXF = $(SCCXF:.f=.o)
OCCXC = $(SCCXC:.c=.o)
OCCXMAIN = $(SCCXMAIN:.c=.o)

ccx: $(OCCXMAIN) ccx_2.11.a \ # ccx is a name of your new executable file
./date.pl; $(CC) $(CFLAGS) -c ccx_2.11.c;
$(FC) $(FFLAGS) -o $@ $(FPPSTOP) $(OCCXMAIN) ccx_2.11.a
-Wl,–start-group
$(LIBS)
-Wl,–end-group

ccx_2.11.a: $(OCCXCU) $(OCCXF) $(OCCXC)
ar vr $@ $?