Dear JeanMarc,
I am trying to compile FAST in Ubuntu 14.04, I have to admit this is my first compiling experience so I am a bit lost…
First I’ve checked if I have gfortran and gcc installed and they are and their versions are 4.8.2 both of them.
I made some changes in the makefile indicating some paths and changing the compiler instructions to the ones you indicated for gfortran. I save and copy the file into …/Source folder.
In addition I patched SysGnuLinux.f90 as indicated in your post.
Now, I open a terminal, go to …/FAST_v8.10.00a-bjj/Source folder and execute the command “make” and I get the following message.
[code]borja@borja-HP:~/FAST/FAST_v8.10.00a-bjj/Source$ make
gfortran -I Obj_lin64 -c /home/borja/FAST/FAST_v8.10.00a-bjj/Source/dependencies/NWTC_Library/SysGnuLinux.f90 -o Obj_lin64/SysGnuLinux.obj -J Obj_lin64 -B Obj_lin64
Warning: /home/borja/FAST/FAST_v8.10.00a-bjj/Source/dependencies/NWTC_Library/SysGnuLinux.f90:399: Illegal preprocessor directive
Warning: /home/borja/FAST/FAST_v8.10.00a-bjj/Source/dependencies/NWTC_Library/SysGnuLinux.f90:413: Illegal preprocessor directive
/home/borja/FAST/FAST_v8.10.00a-bjj/Source/dependencies/NWTC_Library/SysGnuLinux.f90:95.1:
1
Error: Invalid character in name at (1)
/home/borja/FAST/FAST_v8.10.00a-bjj/Source/dependencies/NWTC_Library/SysGnuLinux.f90:96.1:
1
Error: Invalid character in name at (1)
/home/borja/FAST/FAST_v8.10.00a-bjj/Source/dependencies/NWTC_Library/SysGnuLinux.f90:97.1:
+#ifndef GFORTRAN
1
Error: Invalid character in name at (1)
/home/borja/FAST/FAST_v8.10.00a-bjj/Source/dependencies/NWTC_Library/SysGnuLinux.f90:98.1:
- USE IFPORT
1
Error: Invalid character in name at (1)
/home/borja/FAST/FAST_v8.10.00a-bjj/Source/dependencies/NWTC_Library/SysGnuLinux.f90:99.1:
+#else
1
Error: Invalid character in name at (1)
/home/borja/FAST/FAST_v8.10.00a-bjj/Source/dependencies/NWTC_Library/SysGnuLinux.f90:100.1:
+#endif
1
Error: Invalid character in name at (1)
/home/borja/FAST/FAST_v8.10.00a-bjj/Source/dependencies/NWTC_Library/SysGnuLinux.f90:157.1:
1
Error: Invalid character in name at (1)
/home/borja/FAST/FAST_v8.10.00a-bjj/Source/dependencies/NWTC_Library/SysGnuLinux.f90:158.1:
+#ifndef GFORTRAN
1
Error: Invalid character in name at (1)
/home/borja/FAST/FAST_v8.10.00a-bjj/Source/dependencies/NWTC_Library/SysGnuLinux.f90:159.1:
- USE IFPORT
1
Error: Invalid character in name at (1)
/home/borja/FAST/FAST_v8.10.00a-bjj/Source/dependencies/NWTC_Library/SysGnuLinux.f90:160.1:
+#else
1
Error: Invalid character in name at (1)
/home/borja/FAST/FAST_v8.10.00a-bjj/Source/dependencies/NWTC_Library/SysGnuLinux.f90:161.1:
+#endif
1
Error: Invalid character in name at (1)
/home/borja/FAST/FAST_v8.10.00a-bjj/Source/dependencies/NWTC_Library/SysGnuLinux.f90:445.1:
1
Error: Invalid character in name at (1)
/home/borja/FAST/FAST_v8.10.00a-bjj/Source/dependencies/NWTC_Library/SysGnuLinux.f90:446.1:
+#ifndef GFORTRAN
1
Error: Invalid character in name at (1)
/home/borja/FAST/FAST_v8.10.00a-bjj/Source/dependencies/NWTC_Library/SysGnuLinux.f90:447.1:
1
Error: Invalid character in name at (1)
/home/borja/FAST/FAST_v8.10.00a-bjj/Source/dependencies/NWTC_Library/SysGnuLinux.f90:448.1:
+#else
1
Error: Invalid character in name at (1)
/home/borja/FAST/FAST_v8.10.00a-bjj/Source/dependencies/NWTC_Library/SysGnuLinux.f90:449.1:
+#endif
1
Error: Invalid character in name at (1)
/home/borja/FAST/FAST_v8.10.00a-bjj/Source/dependencies/NWTC_Library/SysGnuLinux.f90:481.1:
1
Error: Invalid character in name at (1)
/home/borja/FAST/FAST_v8.10.00a-bjj/Source/dependencies/NWTC_Library/SysGnuLinux.f90:482.1:
+#ifndef GFORTRAN
1
Error: Invalid character in name at (1)
/home/borja/FAST/FAST_v8.10.00a-bjj/Source/dependencies/NWTC_Library/SysGnuLinux.f90:483.1:
1
Error: Invalid character in name at (1)
/home/borja/FAST/FAST_v8.10.00a-bjj/Source/dependencies/NWTC_Library/SysGnuLinux.f90:484.1:
+#else
1
Error: Invalid character in name at (1)
/home/borja/FAST/FAST_v8.10.00a-bjj/Source/dependencies/NWTC_Library/SysGnuLinux.f90:485.1:
+#endif
1
Error: Invalid character in name at (1)
/home/borja/FAST/FAST_v8.10.00a-bjj/Source/dependencies/NWTC_Library/SysGnuLinux.f90:490.1:
1
Error: Invalid character in name at (1)
/home/borja/FAST/FAST_v8.10.00a-bjj/Source/dependencies/NWTC_Library/SysGnuLinux.f90:491.1:
+#ifndef GFORTRAN
1
Error: Invalid character in name at (1)
/home/borja/FAST/FAST_v8.10.00a-bjj/Source/dependencies/NWTC_Library/SysGnuLinux.f90:492.1:
1
Error: Invalid character in name at (1)
/home/borja/FAST/FAST_v8.10.00a-bjj/Source/dependencies/NWTC_Library/SysGnuLinux.f90:493.1:
+#else
1
Error: Invalid character in name at (1)
Fatal Error: Error count reached limit of 25.
make: *** [SysGnuLinux.obj] Error 1[/code]
At this point I don’t know if I am doing the right thing or not, but seems like my gfortran does not like some expressions in the patched SysGnuLinux.f90 file.
If I try to run the same command without patching it I get also bad results.
[code]borja@borja-HP:~/FAST/FAST_v8.10.00a-bjj/Source$ make
gfortran -I Obj_lin64 -c /home/borja/FAST/FAST_v8.10.00a-bjj/Source/dependencies/NWTC_Library/SysGnuLinux.f90 -o Obj_lin64/SysGnuLinux.obj -J Obj_lin64 -B Obj_lin64
Warning: /home/borja/FAST/FAST_v8.10.00a-bjj/Source/dependencies/NWTC_Library/SysGnuLinux.f90:390: Illegal preprocessor directive
Warning: /home/borja/FAST/FAST_v8.10.00a-bjj/Source/dependencies/NWTC_Library/SysGnuLinux.f90:404: Illegal preprocessor directive
Warning: /home/borja/FAST/FAST_v8.10.00a-bjj/Source/dependencies/NWTC_Library/SysGnuLinux.f90:531: Illegal preprocessor directive
Warning: /home/borja/FAST/FAST_v8.10.00a-bjj/Source/dependencies/NWTC_Library/SysGnuLinux.f90:585: Illegal preprocessor directive
Warning: /home/borja/FAST/FAST_v8.10.00a-bjj/Source/dependencies/NWTC_Library/SysGnuLinux.f90:609: Illegal preprocessor directive
Warning: /home/borja/FAST/FAST_v8.10.00a-bjj/Source/dependencies/NWTC_Library/SysGnuLinux.f90:638: Illegal preprocessor directive
/home/borja/FAST/FAST_v8.10.00a-bjj/Source/dependencies/NWTC_Library/SysGnuLinux.f90:533.32:
INTERFACE !linux API routines
1
Error: Unexpected INTERFACE statement at (1)
/home/borja/FAST/FAST_v8.10.00a-bjj/Source/dependencies/NWTC_Library/SysGnuLinux.f90:537.6:
FUNCTION dlOpen(filename,mode) BIND(C,NAME="dlopen")
1
Error: Unclassifiable statement at (1)
/home/borja/FAST/FAST_v8.10.00a-bjj/Source/dependencies/NWTC_Library/SysGnuLinux.f90:539.26:
USE ISO_C_BINDING
1
Error: Unexpected USE statement at (1)
/home/borja/FAST/FAST_v8.10.00a-bjj/Source/dependencies/NWTC_Library/SysGnuLinux.f90:540.22:
IMPLICIT NONE
1
Error: Unexpected IMPLICIT NONE statement at (1)
/home/borja/FAST/FAST_v8.10.00a-bjj/Source/dependencies/NWTC_Library/SysGnuLinux.f90:541.48:
TYPE(C_PTR) :: dlOpen
1
Error: Unexpected data declaration statement at (1)
/home/borja/FAST/FAST_v8.10.00a-bjj/Source/dependencies/NWTC_Library/SysGnuLinux.f90:542.53:
CHARACTER(C_CHAR), INTENT(IN) :: filename(*)
1
Error: Unexpected data declaration statement at (1)
/home/borja/FAST/FAST_v8.10.00a-bjj/Source/dependencies/NWTC_Library/SysGnuLinux.f90:543.46:
INTEGER(C_INT), VALUE :: mode
1
Error: Unexpected data declaration statement at (1)
/home/borja/FAST/FAST_v8.10.00a-bjj/Source/dependencies/NWTC_Library/SysGnuLinux.f90:544.9:
END FUNCTION
1
Error: Expecting END SUBROUTINE statement at (1)
/home/borja/FAST/FAST_v8.10.00a-bjj/Source/dependencies/NWTC_Library/SysGnuLinux.f90:546.6:
FUNCTION dlSym(handle,name) BIND(C,NAME="dlsym")
1
Error: Unclassifiable statement at (1)
/home/borja/FAST/FAST_v8.10.00a-bjj/Source/dependencies/NWTC_Library/SysGnuLinux.f90:548.26:
USE ISO_C_BINDING
1
Error: Unexpected USE statement at (1)
/home/borja/FAST/FAST_v8.10.00a-bjj/Source/dependencies/NWTC_Library/SysGnuLinux.f90:549.22:
IMPLICIT NONE
1
Error: Unexpected IMPLICIT NONE statement at (1)
/home/borja/FAST/FAST_v8.10.00a-bjj/Source/dependencies/NWTC_Library/SysGnuLinux.f90:550.68:
TYPE(C_FUNPTR) :: dlSym ! A function pointer
1
Error: Unexpected data declaration statement at (1)
/home/borja/FAST/FAST_v8.10.00a-bjj/Source/dependencies/NWTC_Library/SysGnuLinux.f90:551.48:
TYPE(C_PTR), VALUE :: handle
1
Error: Unexpected data declaration statement at (1)
/home/borja/FAST/FAST_v8.10.00a-bjj/Source/dependencies/NWTC_Library/SysGnuLinux.f90:552.49:
CHARACTER(C_CHAR), INTENT(IN) :: name(*)
1
Error: Unexpected data declaration statement at (1)
/home/borja/FAST/FAST_v8.10.00a-bjj/Source/dependencies/NWTC_Library/SysGnuLinux.f90:553.9:
END FUNCTION
1
Error: Expecting END SUBROUTINE statement at (1)
/home/borja/FAST/FAST_v8.10.00a-bjj/Source/dependencies/NWTC_Library/SysGnuLinux.f90:555.6:
END INTERFACE
1
Error: Expecting END SUBROUTINE statement at (1)
/home/borja/FAST/FAST_v8.10.00a-bjj/Source/dependencies/NWTC_Library/SysGnuLinux.f90:611.31:
INTERFACE !linux API routine
1
Error: Unexpected INTERFACE statement at (1)
/home/borja/FAST/FAST_v8.10.00a-bjj/Source/dependencies/NWTC_Library/SysGnuLinux.f90:614.6:
FUNCTION dlClose(handle) BIND(C,NAME="dlclose")
1
Error: Unclassifiable statement at (1)
/home/borja/FAST/FAST_v8.10.00a-bjj/Source/dependencies/NWTC_Library/SysGnuLinux.f90:616.26:
USE ISO_C_BINDING
1
Error: Unexpected USE statement at (1)
/home/borja/FAST/FAST_v8.10.00a-bjj/Source/dependencies/NWTC_Library/SysGnuLinux.f90:617.22:
IMPLICIT NONE
1
Error: Unexpected IMPLICIT NONE statement at (1)
/home/borja/FAST/FAST_v8.10.00a-bjj/Source/dependencies/NWTC_Library/SysGnuLinux.f90:618.40:
INTEGER(C_INT) :: dlClose
1
Error: Unexpected data declaration statement at (1)
/home/borja/FAST/FAST_v8.10.00a-bjj/Source/dependencies/NWTC_Library/SysGnuLinux.f90:619.39:
TYPE(C_PTR), VALUE :: handle
1
Error: Unexpected data declaration statement at (1)
/home/borja/FAST/FAST_v8.10.00a-bjj/Source/dependencies/NWTC_Library/SysGnuLinux.f90:620.9:
END FUNCTION
1
Error: Expecting END SUBROUTINE statement at (1)
/home/borja/FAST/FAST_v8.10.00a-bjj/Source/dependencies/NWTC_Library/SysGnuLinux.f90:622.6:
END INTERFACE
1
Error: Expecting END SUBROUTINE statement at (1)
/home/borja/FAST/FAST_v8.10.00a-bjj/Source/dependencies/NWTC_Library/SysGnuLinux.f90:628.13:
Success = dlClose( DLL%FileAddrX ) !The function dlclose() returns 0 on succ
1
Error: Function ‘dlclose’ at (1) has no IMPLICIT type
Fatal Error: Error count reached limit of 25.
make: *** [SysGnuLinux.obj] Error 1[/code]
Analysing the message I see that expressions like #ifndef are not recognised…

I would really appreciate any help on this.
Best regards,
Borja