GFORTRAN error in makefile installation

Hi all,

I'm a new Linux and gfortran user so facing this problem I could not figure out how to proceed. Trying to install a program with a makefile, at some point the installation stops showing the following error:

g++ -std=c++0x -O3   -o CAMILObash.exe ./objects/Class_SurfTri_CheckTools.o ./objects/Class_SurfTri_CleaningTools.o
 ./objects/Class_SurfTri_GenerationTools.o ./objects/Class_SurfTri_IOFunct.o ./objects/Class_SurfTri_Methods.o ./objects
/Class_SurfTri_SelectionTools.o ./objects/libRA_FFD.o ./objects/libRA_GEODESIC.o ./objects/libRA_Input.o ./objects/libRA_RGLocRef.o
 ./objects/libRA_SelectionI_O.o ./objects/lib_STL_IO.o ./objects/main.o ./objects/OptTri_IOFunct.o ./objects/Sort_Algorithms.o ./objects
/STL_IOFunct.o ./objects/VTK_IOFunct.o -L./loclibs/ -lskitLOCAL -L/usr/lib/ -llapack -lblas 
/usr/bin/ld: ./loclibs//libskitLOCAL.a(ilut.o): undefined reference to symbol '_gfortran_transfer_real_write@@GFORTRAN_1.4'
/usr/lib/x86_64-linux-gnu/libgfortran.so.3: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
make: *** [all] Error 1

Does anyone know what I could do to solve it?

Thanks in advance,
Jefferson

I am not really familiar with modern fortran. But is not g++ a compiler for the C++ language? Maybe you should try a fortran compiler? To test my guess I wrote a little "hello world" program in fortran. This might be my first fortran program since the 1970's, so slide me some slack here. Wow, I see that I must start my statements in column 7 still! But anyway here is ....

$
$
$ cat ftest.f
       program HelloWorld
       write (*,*) "Hello, world!"
       end program HelloWorld

$
$
$ g++ ftest.f -o ftest
/usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/crt1.o: In function `_start':
(.text+0x20): undefined reference to `main'
/tmp/cckZ95tO.o: In function `MAIN__':
ftest.f:(.text+0x1b): undefined reference to `_gfortran_set_std'
ftest.f:(.text+0x50): undefined reference to `_gfortran_st_write'
ftest.f:(.text+0x66): undefined reference to `_gfortran_transfer_character'
ftest.f:(.text+0x72): undefined reference to `_gfortran_st_write_done'
collect2: ld returned 1 exit status
$
$
$
$
$ gfortran ftest.f -o ftest
$ ./ftest
 Hello, world!
$
$

My little experiment suggests that my guess was right. Fortran code works well with the fortran compiler. But it doesn't really work with the C++ compiler. So I suggest that you switch to a fortran compiler.

1 Like

It worked, I just changed the compiler as you said.

Thank you.