Is the Error Building Cuba-2.1 Causing Faulty Outputs?

  • Thread starter Thread starter Angelos K
  • Start date Start date
  • Tags Tags
    Building Error
Join the discussion
Registration is free. Ask a follow-up in this thread, or start your own.
3 replies · 3K views
Angelos K
Messages
43
Reaction score
0
Hi, all!

Unfortunately I'm not much of a computer guy, so I'm sorry if I leave out anything important.

I'm attempting to build Cuba-2.1. The distribution I'm using is:

DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=10.04
DISTRIB_CODENAME=lucid
DISTRIB_DESCRIPTION="Ubuntu 10.04.2 LTS"

I go inside the directory containing all Cuba files and do:

./configure

whereupon everything looks fine.

Then I do

make all

whereupon a huge amount of output is produced, ending:

ranlib libcuba.a
gcc -O0 -fomit-frame-pointer -ffast-math -DHAVE_CONFIG_H -I./src/common -I. -I. -o demo-c ./demo/demo-c.c libcuba.a -lm
f77 -g -O2 -o demo-fortran ./demo/demo-fortran.F libcuba.a -lm
MAIN cubatest:
integrand:
<stdin>:119: error: conflicting types for ‘integrand_’
./demo/demo-fortran.F:34: note: previous declaration of ‘integrand_’ was here
/usr/bin/f77: aborting compilation
make: *** [demo-fortran] Error 1


The outputs I need - cuba.h and libcuba.a - are produced, buit of course I fear they are faulty. I am unsure whether the error concerns demo files or anything vital, but I need to do everything cleanly...

By the way: the output talks a lot about fortran. I won't use this in fortran, but only in pure C. In addition, I have tried the same procedure with the 3.0 beta release. The same (or very similar) things occurred.

Thank you for your time and any help,
Angelos
 
Physics news on Phys.org
It's probably not anything that you need to worry about. If it produced the library and the executable that you need, then it's fine.

Taken from a website describing the 'gcc make' Error codes:

[foo] Error NN’ ‘[foo] signal description’ These errors are not really make errors at all. They mean that a program that make invoked as part of a recipe returned a non-0 error code (‘Error NN’), which make interprets as failure, or it exited in some other abnormal fashion (with a signal of some type). See Errors in Recipes. If no * is attached to the message, then the subprocess failed but the rule in the makefile was prefixed with the - special character, so make ignored the error.

I've had that happen with several different libraries during the make process. It's usually not anything to worry about.
 
FourierFaux said:
It's probably not anything that you need to worry about. If it produced the library and the executable that you need, then it's fine.

Taken from a website describing the 'gcc make' Error codes:

[foo] Error NN’ ‘[foo] signal description’ These errors are not really make errors at all. They mean that a program that make invoked as part of a recipe returned a non-0 error code (‘Error NN’), which make interprets as failure, or it exited in some other abnormal fashion (with a signal of some type). See Errors in Recipes. If no * is attached to the message, then the subprocess failed but the rule in the makefile was prefixed with the - special character, so make ignored the error.

I've had that happen with several different libraries during the make process. It's usually not anything to worry about.

Uhh :rolleyes: the error you mention is not given.
Moreover the build output says 'aborting compilation', so make really did not ignore the error.

Apparently a test is executed as part of the build to verify the correct behavior of the library.
And that test failed! Ignore at your own peril.
Furthermore, the tests that came after were not executed, so there may be more that is wrong.



To the OP, perhaps you can check the content of your Makefile and find the references to:
1. MAIN cubatest:
2. integrand:
3. ./demo/demo-fortran.F line 34

If it's only a problem with the fortran file which you do not use, perhaps you can comment out the fortran module or something and redo the make.
 
make really did not ignore the error.

Oh... I didn't realize that it would do that. Sorry. :redface: