From: Arjen M. <arj...@de...> - 2009-11-19 08:04:56
|
Hi Davide, Hazen, the Fortran bindings for PLplot already have a solution for this problem. I simply forgot about it - most PLplot functions avoid the underscore, so the issue does not arise. As Davide explains, it occurs with a number of compilers, most notably of the GNU lineage. I will repair this. Regards, Arjen On 2009-11-19 09:00, Davide Cesari wrote: > Hazen Babcock ha scritto: >> Arjen Markus wrote: >>> Hi Davide, Hazen, >>> >>> yes, g77 is complaining because of the "implicit none" statements. >>> I have now added "external floor" and "real*8 floor", so the error >>> messages are gone. >>> >>> The second (warning) message is about calling plslabelfunc with a >>> literal 0, rather than a procedure name. gfortran ignores this, >>> but g77 gives a warning. I am not sure how to proceed here - I >>> will look into it later on. >>> >>> Regards, >>> >>> Arjen >> Now I get the following error message: >> >> [ 67%] Built target x18f >> Linking Fortran executable x19f.exe >> CMakeFiles\x19f.dir\x19f.f.obj:x19f.f:(.text+0x5b4): undefined reference >> to `plslabelfunc_none__' >> collect2: ld returned 1 exit status >> mingw32-make[2]: *** [examples/f77/x19f.exe] Error 1 >> mingw32-make[1]: *** [examples/f77/CMakeFiles/x19f.dir/all] Error 2 >> mingw32-make: *** [all] Error 2 >> >> -Hazen > > Hi, that is probably due to the old-fashioned external name behavior of g77: > > 1. a f77 call to a function whose name does not contain underscores > translates to a call to a C function with the same name in lowercase > with an appended underscore > 2. a f77 call to a function whose name contains underscores translates > to a call to a C function with the same name in lowercase with TWO > appended underscores > > Most of the other fortran compilers used on Linux, including gfortran, > behave as in 1, even when one or more underscores are present in the > name; the simplest solution is to always use the -fno-second-underscore > parameter with g77, which could however not work on very old > implementations of g77. Alternatively, I do not know whether cmake > provides some tests and conditions on the fortran compilers for these > kind of things, I am not familiar with cmake, autoconf does. > bye, Davide > > |