Is the Error Building Cuba-2.1 Causing Faulty Outputs?

  • Thread starter Thread starter Angelos K
  • Start date Start date
  • Tags Tags
    Building Error
Click For Summary
SUMMARY

The forum discussion centers on issues encountered while building Cuba-2.1 on Ubuntu 10.04. The user, Angelos, successfully generates the necessary outputs, cuba.h and libcuba.a, but faces a compilation error related to the Fortran demo file, specifically a conflicting type for ‘integrand_’. Despite the error, some participants suggest that the outputs may still be usable, while others emphasize the importance of addressing the error to ensure library integrity. The consensus indicates that ignoring the error could lead to faulty outputs.

PREREQUISITES
  • Familiarity with building software from source using GNU Make
  • Understanding of C programming and its compilation process
  • Basic knowledge of Fortran, particularly in the context of mixed-language projects
  • Experience with Ubuntu 10.04 or similar Linux distributions
NEXT STEPS
  • Review the Makefile for references to the conflicting types and adjust as necessary
  • Investigate the GCC error codes and their implications during the build process
  • Explore the Cuba library documentation for any specific build instructions or troubleshooting tips
  • Consider testing the outputs with a simple C program to verify their functionality
USEFUL FOR

Developers working with the Cuba library, C programmers integrating Fortran code, and anyone troubleshooting build errors in mixed-language environments.

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
 
Technology 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:
 

Similar threads

  • · Replies 2 ·
Replies
2
Views
3K