From: Werner S. <sm...@ia...> - 2009-09-15 11:47:45
|
Hi, when I compile the latest revision of PLplot with MinGW 3.4.5 including the g77 compiler I get the following compiler error: Scanning dependencies of target x19f [ 88%] Building Fortran object examples/f77/CMakeFiles/x19f.dir/ x19f.f.obj E:\plbuild\examples\f77\x19f.f: In function `normalize_longitude': E:\plbuild\examples\f77\x19f.f:80: warning: times = floor ((abs(lon) + 180.0d0) / 360.0d0) ^ Reference to unimplemented intrinsic `FLOOR' at (^) (assumed EXTERNAL) E:\plbuild\examples\f77\x19f.f:80: times = floor ((abs(lon) + 180.0d0) / 360.0d0) ^ Invalid declaration of or reference to symbol `floor' at (^) [initially seen at (^)] E:\plbuild\examples\f77\x19f.f: In subroutine `geolocation_labeler': E:\plbuild\examples\f77\x19f.f:91: subroutine geolocation_labeler(axis, value, label, length) 1 E:\plbuild\examples\f77\x19f.f:95: (continued): character*(length) label 2 Invalid declaration of or reference to symbol `length' at (2) [initially seen at (1)] E:\plbuild\examples\f77\x19f.f: In program `x19f': E:\plbuild\examples\f77\x19f.f:161: warning: call plslabelfunc(geolocation_labeler) 1 E:\plbuild\examples\f77\x19f.f:177: (continued): call plslabelfunc(0) 2 Argument #1 of `plslabelfunc' is passed by reference at (2) but is a procedure at (1) [info -f g77 M GLOBALS] mingw32-make[2]: *** [examples/f77/CMakeFiles/x19f.dir/x19f.f.obj] Error 1 mingw32-make[1]: *** [examples/f77/CMakeFiles/x19f.dir/all] Error 2 mingw32-make: *** [all] Error 2 Maybe someone who is more knowledgeable about Fortran can help me out make this example work. Thanks, Werner -- Dr. Werner Smekal Institut fuer Allgemeine Physik Technische Universitaet Wien Wiedner Hauptstr 8-10 A-1040 Wien Austria DVR-Nr: 0005886 email: sm...@ia... web: http://www.iap.tuwien.ac.at/~smekal phone: +43-(0)1-58801-13463 (office) +43-(0)1-58801-13469 (laboratory) fax: +43-(0)1-58801-13499 |
From: Arjen M. <arj...@de...> - 2009-09-15 11:56:07
|
Hi Werner, the floor function does not exist in FORTRAN 77, so you need to implement it, for instance: *234567 REAL FUNCTION FLOOR(X) REAL X FLOOR = FLOAT(INT(X)) RETURN END The declaration "character*(length) label" is a Fortran 90 facility. Use: character*(*) label This should actually be handled by the C interface (the string length is passed as a hidden argument ...) I do not have time the coming days to look into it closely, but I will try. You can not pass a null pointer (0) in FORTRAN 77. To turn the labeller off, I am afraid you will have to use either a separate routine (call plslabelfuncoff) or use a dummy routine. Regards, Arjen On 2009-09-15 13:47, Werner Smekal wrote: > Hi, > > when I compile the latest revision of PLplot with MinGW 3.4.5 > including the g77 compiler I get the following compiler error: > > Scanning dependencies of target x19f > [ 88%] Building Fortran object examples/f77/CMakeFiles/x19f.dir/ > x19f.f.obj > E:\plbuild\examples\f77\x19f.f: In function `normalize_longitude': > E:\plbuild\examples\f77\x19f.f:80: warning: > times = floor ((abs(lon) + 180.0d0) / 360.0d0) > ^ > Reference to unimplemented intrinsic `FLOOR' at (^) (assumed EXTERNAL) > E:\plbuild\examples\f77\x19f.f:80: > times = floor ((abs(lon) + 180.0d0) / 360.0d0) > ^ > Invalid declaration of or reference to symbol `floor' at (^) > [initially seen at (^)] > E:\plbuild\examples\f77\x19f.f: In subroutine `geolocation_labeler': > E:\plbuild\examples\f77\x19f.f:91: > subroutine geolocation_labeler(axis, value, label, length) > 1 > E:\plbuild\examples\f77\x19f.f:95: (continued): > character*(length) label > 2 > Invalid declaration of or reference to symbol `length' at (2) > [initially seen at (1)] > E:\plbuild\examples\f77\x19f.f: In program `x19f': > E:\plbuild\examples\f77\x19f.f:161: warning: > call plslabelfunc(geolocation_labeler) > 1 > E:\plbuild\examples\f77\x19f.f:177: (continued): > call plslabelfunc(0) > 2 > Argument #1 of `plslabelfunc' is passed by reference at (2) but is a > procedure at (1) [info -f g77 M GLOBALS] > mingw32-make[2]: *** [examples/f77/CMakeFiles/x19f.dir/x19f.f.obj] > Error 1 > mingw32-make[1]: *** [examples/f77/CMakeFiles/x19f.dir/all] Error 2 > mingw32-make: *** [all] Error 2 > > Maybe someone who is more knowledgeable about Fortran can help me out > make this example work. > > Thanks, > Werner > > -- > Dr. Werner Smekal > Institut fuer Allgemeine Physik > Technische Universitaet Wien > Wiedner Hauptstr 8-10 > A-1040 Wien > Austria > DVR-Nr: 0005886 > > email: sm...@ia... > web: http://www.iap.tuwien.ac.at/~smekal > phone: +43-(0)1-58801-13463 (office) > +43-(0)1-58801-13469 (laboratory) > fax: +43-(0)1-58801-13499 > > > ------------------------------------------------------------------------------ > Come build with us! The BlackBerry® Developer Conference in SF, CA > is the only developer event you need to attend this year. Jumpstart your > developing skills, take BlackBerry mobile applications to market and stay > ahead of the curve. Join us from November 9-12, 2009. Register now! > http://p.sf.net/sfu/devconf > _______________________________________________ > Plplot-devel mailing list > Plp...@li... > https://lists.sourceforge.net/lists/listinfo/plplot-devel > |
From: Hazen B. <hba...@ma...> - 2009-11-07 22:05:25
|
Hi Arjen, Since I just ran into exactly this problem myself (with mingw on windows)... Should we fix example x19f.f to work with f77? It is in the f77 examples folder so I think it is reasonable for the user to assume that it should be possible to compile this example with a f77 compiler. best, -Hazen Arjen Markus wrote: > Hi Werner, > > the floor function does not exist in FORTRAN 77, so you need > to implement it, for instance: > > *234567 > REAL FUNCTION FLOOR(X) > REAL X > FLOOR = FLOAT(INT(X)) > RETURN > END > > The declaration "character*(length) label" is a Fortran 90 > facility. Use: > > character*(*) label > > This should actually be handled by the C interface (the > string length is passed as a hidden argument ...) I do not > have time the coming days to look into it closely, but I > will try. > > You can not pass a null pointer (0) in FORTRAN 77. To turn the > labeller off, I am afraid you will have to use either a separate > routine (call plslabelfuncoff) or use a dummy routine. > > Regards, > > Arjen > > On 2009-09-15 13:47, Werner Smekal wrote: >> Hi, >> >> when I compile the latest revision of PLplot with MinGW 3.4.5 >> including the g77 compiler I get the following compiler error: >> >> Scanning dependencies of target x19f >> [ 88%] Building Fortran object examples/f77/CMakeFiles/x19f.dir/ >> x19f.f.obj >> E:\plbuild\examples\f77\x19f.f: In function `normalize_longitude': >> E:\plbuild\examples\f77\x19f.f:80: warning: >> times = floor ((abs(lon) + 180.0d0) / 360.0d0) >> ^ >> Reference to unimplemented intrinsic `FLOOR' at (^) (assumed EXTERNAL) >> E:\plbuild\examples\f77\x19f.f:80: >> times = floor ((abs(lon) + 180.0d0) / 360.0d0) >> ^ >> Invalid declaration of or reference to symbol `floor' at (^) >> [initially seen at (^)] >> E:\plbuild\examples\f77\x19f.f: In subroutine `geolocation_labeler': >> E:\plbuild\examples\f77\x19f.f:91: >> subroutine geolocation_labeler(axis, value, label, length) >> 1 >> E:\plbuild\examples\f77\x19f.f:95: (continued): >> character*(length) label >> 2 >> Invalid declaration of or reference to symbol `length' at (2) >> [initially seen at (1)] >> E:\plbuild\examples\f77\x19f.f: In program `x19f': >> E:\plbuild\examples\f77\x19f.f:161: warning: >> call plslabelfunc(geolocation_labeler) >> 1 >> E:\plbuild\examples\f77\x19f.f:177: (continued): >> call plslabelfunc(0) >> 2 >> Argument #1 of `plslabelfunc' is passed by reference at (2) but is a >> procedure at (1) [info -f g77 M GLOBALS] >> mingw32-make[2]: *** [examples/f77/CMakeFiles/x19f.dir/x19f.f.obj] >> Error 1 >> mingw32-make[1]: *** [examples/f77/CMakeFiles/x19f.dir/all] Error 2 >> mingw32-make: *** [all] Error 2 >> >> Maybe someone who is more knowledgeable about Fortran can help me out >> make this example work. >> >> Thanks, >> Werner >> >> -- >> Dr. Werner Smekal >> Institut fuer Allgemeine Physik >> Technische Universitaet Wien >> Wiedner Hauptstr 8-10 >> A-1040 Wien >> Austria >> DVR-Nr: 0005886 >> >> email: sm...@ia... >> web: http://www.iap.tuwien.ac.at/~smekal >> phone: +43-(0)1-58801-13463 (office) >> +43-(0)1-58801-13469 (laboratory) >> fax: +43-(0)1-58801-13499 >> >> >> ------------------------------------------------------------------------------ >> Come build with us! The BlackBerry® Developer Conference in SF, CA >> is the only developer event you need to attend this year. Jumpstart your >> developing skills, take BlackBerry mobile applications to market and stay >> ahead of the curve. Join us from November 9-12, 2009. Register now! >> http://p.sf.net/sfu/devconf >> _______________________________________________ >> Plplot-devel mailing list >> Plp...@li... >> https://lists.sourceforge.net/lists/listinfo/plplot-devel >> > > ------------------------------------------------------------------------------ > Come build with us! The BlackBerry® Developer Conference in SF, CA > is the only developer event you need to attend this year. Jumpstart your > developing skills, take BlackBerry mobile applications to market and stay > ahead of the curve. Join us from November 9-12, 2009. Register now! > http://p.sf.net/sfu/devconf > _______________________________________________ > Plplot-devel mailing list > Plp...@li... > https://lists.sourceforge.net/lists/listinfo/plplot-devel > |
From: Arjen M. <arj...@de...> - 2009-11-10 08:45:11
|
Hi Hazen, I will make the corrections. Yes, it should work correctly, as it is all well within the capabilities of FORTRAN 77 (just a few Fortran 90 features that slipped in ...) Regards, Arjen On 2009-11-07 23:05, Hazen Babcock wrote: > > Hi Arjen, > > Since I just ran into exactly this problem myself (with mingw on > windows)... Should we fix example x19f.f to work with f77? It is in the > f77 examples folder so I think it is reasonable for the user to assume > that it should be possible to compile this example with a f77 compiler. > > best, > -Hazen > > Arjen Markus wrote: >> Hi Werner, >> >> the floor function does not exist in FORTRAN 77, so you need >> to implement it, for instance: >> >> *234567 >> REAL FUNCTION FLOOR(X) >> REAL X >> FLOOR = FLOAT(INT(X)) >> RETURN >> END >> >> The declaration "character*(length) label" is a Fortran 90 >> facility. Use: >> >> character*(*) label >> >> This should actually be handled by the C interface (the >> string length is passed as a hidden argument ...) I do not >> have time the coming days to look into it closely, but I >> will try. >> >> You can not pass a null pointer (0) in FORTRAN 77. To turn the >> labeller off, I am afraid you will have to use either a separate >> routine (call plslabelfuncoff) or use a dummy routine. >> >> Regards, >> >> Arjen >> >> On 2009-09-15 13:47, Werner Smekal wrote: >>> Hi, >>> >>> when I compile the latest revision of PLplot with MinGW 3.4.5 >>> including the g77 compiler I get the following compiler error: >>> >>> Scanning dependencies of target x19f >>> [ 88%] Building Fortran object examples/f77/CMakeFiles/x19f.dir/ >>> x19f.f.obj >>> E:\plbuild\examples\f77\x19f.f: In function `normalize_longitude': >>> E:\plbuild\examples\f77\x19f.f:80: warning: >>> times = floor ((abs(lon) + 180.0d0) / 360.0d0) >>> ^ >>> Reference to unimplemented intrinsic `FLOOR' at (^) (assumed EXTERNAL) >>> E:\plbuild\examples\f77\x19f.f:80: >>> times = floor ((abs(lon) + 180.0d0) / 360.0d0) >>> ^ >>> Invalid declaration of or reference to symbol `floor' at (^) >>> [initially seen at (^)] >>> E:\plbuild\examples\f77\x19f.f: In subroutine `geolocation_labeler': >>> E:\plbuild\examples\f77\x19f.f:91: >>> subroutine geolocation_labeler(axis, value, label, length) >>> 1 >>> E:\plbuild\examples\f77\x19f.f:95: (continued): >>> character*(length) label >>> 2 >>> Invalid declaration of or reference to symbol `length' at (2) >>> [initially seen at (1)] >>> E:\plbuild\examples\f77\x19f.f: In program `x19f': >>> E:\plbuild\examples\f77\x19f.f:161: warning: >>> call plslabelfunc(geolocation_labeler) >>> 1 >>> E:\plbuild\examples\f77\x19f.f:177: (continued): >>> call plslabelfunc(0) >>> 2 >>> Argument #1 of `plslabelfunc' is passed by reference at (2) but is a >>> procedure at (1) [info -f g77 M GLOBALS] >>> mingw32-make[2]: *** [examples/f77/CMakeFiles/x19f.dir/x19f.f.obj] >>> Error 1 >>> mingw32-make[1]: *** [examples/f77/CMakeFiles/x19f.dir/all] Error 2 >>> mingw32-make: *** [all] Error 2 >>> >>> Maybe someone who is more knowledgeable about Fortran can help me >>> out make this example work. >>> >>> Thanks, >>> Werner >>> >>> -- >>> Dr. Werner Smekal >>> Institut fuer Allgemeine Physik >>> Technische Universitaet Wien >>> Wiedner Hauptstr 8-10 >>> A-1040 Wien >>> Austria >>> DVR-Nr: 0005886 >>> >>> email: sm...@ia... >>> web: http://www.iap.tuwien.ac.at/~smekal >>> phone: +43-(0)1-58801-13463 (office) >>> +43-(0)1-58801-13469 (laboratory) >>> fax: +43-(0)1-58801-13499 >>> >>> >>> ------------------------------------------------------------------------------ >>> >>> Come build with us! The BlackBerry® Developer Conference in SF, CA >>> is the only developer event you need to attend this year. Jumpstart your >>> developing skills, take BlackBerry mobile applications to market and >>> stay ahead of the curve. Join us from November 9-12, 2009. >>> Register now! >>> http://p.sf.net/sfu/devconf >>> _______________________________________________ >>> Plplot-devel mailing list >>> Plp...@li... >>> https://lists.sourceforge.net/lists/listinfo/plplot-devel >>> >> >> ------------------------------------------------------------------------------ >> >> Come build with us! The BlackBerry® Developer Conference in SF, CA >> is the only developer event you need to attend this year. Jumpstart your >> developing skills, take BlackBerry mobile applications to market and >> stay ahead of the curve. Join us from November 9-12, 2009. >> Register now! >> http://p.sf.net/sfu/devconf >> _______________________________________________ >> Plplot-devel mailing list >> Plp...@li... >> https://lists.sourceforge.net/lists/listinfo/plplot-devel >> > > |
From: Arjen M. <arj...@de...> - 2009-11-11 12:10:56
|
Hi Hazen, just now I started to include the changes for x19f.f, when I realised that the label argument poses a bit of a problem: Fortran expects a hidden argument to hold the actual string length. For the other interfaces we can circumvent that issue and in the F95 interface this is solved by using "length" explicitly. Well, the changes should work, unfortunately I do not have access right now to a proper build environment to really test it. Please let me know if there is any trouble. Regards, Arjen On 2009-11-07 23:05, Hazen Babcock wrote: > > Hi Arjen, > > Since I just ran into exactly this problem myself (with mingw on > windows)... Should we fix example x19f.f to work with f77? It is in the > f77 examples folder so I think it is reasonable for the user to assume > that it should be possible to compile this example with a f77 compiler. > > best, > -Hazen > > Arjen Markus wrote: >> Hi Werner, >> >> the floor function does not exist in FORTRAN 77, so you need >> to implement it, for instance: >> >> *234567 >> REAL FUNCTION FLOOR(X) >> REAL X >> FLOOR = FLOAT(INT(X)) >> RETURN >> END >> >> The declaration "character*(length) label" is a Fortran 90 >> facility. Use: >> >> character*(*) label >> >> This should actually be handled by the C interface (the >> string length is passed as a hidden argument ...) I do not >> have time the coming days to look into it closely, but I >> will try. >> >> You can not pass a null pointer (0) in FORTRAN 77. To turn the >> labeller off, I am afraid you will have to use either a separate >> routine (call plslabelfuncoff) or use a dummy routine. >> >> Regards, >> >> Arjen >> >> On 2009-09-15 13:47, Werner Smekal wrote: >>> Hi, >>> >>> when I compile the latest revision of PLplot with MinGW 3.4.5 >>> including the g77 compiler I get the following compiler error: >>> >>> Scanning dependencies of target x19f >>> [ 88%] Building Fortran object examples/f77/CMakeFiles/x19f.dir/ >>> x19f.f.obj >>> E:\plbuild\examples\f77\x19f.f: In function `normalize_longitude': >>> E:\plbuild\examples\f77\x19f.f:80: warning: >>> times = floor ((abs(lon) + 180.0d0) / 360.0d0) >>> ^ >>> Reference to unimplemented intrinsic `FLOOR' at (^) (assumed EXTERNAL) >>> E:\plbuild\examples\f77\x19f.f:80: >>> times = floor ((abs(lon) + 180.0d0) / 360.0d0) >>> ^ >>> Invalid declaration of or reference to symbol `floor' at (^) >>> [initially seen at (^)] >>> E:\plbuild\examples\f77\x19f.f: In subroutine `geolocation_labeler': >>> E:\plbuild\examples\f77\x19f.f:91: >>> subroutine geolocation_labeler(axis, value, label, length) >>> 1 >>> E:\plbuild\examples\f77\x19f.f:95: (continued): >>> character*(length) label >>> 2 >>> Invalid declaration of or reference to symbol `length' at (2) >>> [initially seen at (1)] >>> E:\plbuild\examples\f77\x19f.f: In program `x19f': >>> E:\plbuild\examples\f77\x19f.f:161: warning: >>> call plslabelfunc(geolocation_labeler) >>> 1 >>> E:\plbuild\examples\f77\x19f.f:177: (continued): >>> call plslabelfunc(0) >>> 2 >>> Argument #1 of `plslabelfunc' is passed by reference at (2) but is a >>> procedure at (1) [info -f g77 M GLOBALS] >>> mingw32-make[2]: *** [examples/f77/CMakeFiles/x19f.dir/x19f.f.obj] >>> Error 1 >>> mingw32-make[1]: *** [examples/f77/CMakeFiles/x19f.dir/all] Error 2 >>> mingw32-make: *** [all] Error 2 >>> >>> Maybe someone who is more knowledgeable about Fortran can help me >>> out make this example work. >>> >>> Thanks, >>> Werner >>> >>> -- >>> Dr. Werner Smekal >>> Institut fuer Allgemeine Physik >>> Technische Universitaet Wien >>> Wiedner Hauptstr 8-10 >>> A-1040 Wien >>> Austria >>> DVR-Nr: 0005886 >>> >>> email: sm...@ia... >>> web: http://www.iap.tuwien.ac.at/~smekal >>> phone: +43-(0)1-58801-13463 (office) >>> +43-(0)1-58801-13469 (laboratory) >>> fax: +43-(0)1-58801-13499 >>> >>> >>> ------------------------------------------------------------------------------ >>> >>> Come build with us! The BlackBerry® Developer Conference in SF, CA >>> is the only developer event you need to attend this year. Jumpstart your >>> developing skills, take BlackBerry mobile applications to market and >>> stay ahead of the curve. Join us from November 9-12, 2009. >>> Register now! >>> http://p.sf.net/sfu/devconf >>> _______________________________________________ >>> Plplot-devel mailing list >>> Plp...@li... >>> https://lists.sourceforge.net/lists/listinfo/plplot-devel >>> >> >> ------------------------------------------------------------------------------ >> >> Come build with us! The BlackBerry® Developer Conference in SF, CA >> is the only developer event you need to attend this year. Jumpstart your >> developing skills, take BlackBerry mobile applications to market and >> stay ahead of the curve. Join us from November 9-12, 2009. >> Register now! >> http://p.sf.net/sfu/devconf >> _______________________________________________ >> Plplot-devel mailing list >> Plp...@li... >> https://lists.sourceforge.net/lists/listinfo/plplot-devel >> > > |
From: Hazen B. <hba...@ma...> - 2009-11-11 18:31:02
|
Hi Arjen, Thanks for working on this. Unfortunately I'm still getting the error about the floor function. I thought perhaps I needed to add something like "external floor" in the normalize_longitude function but that only gave me a different error. "times = call floor (..)" also does not seem to work. Adding a "return" statement to the floor procedure similarly failed. I assume that is must somehow be possible to call functions in fortran but I'm quite puzzled about how one actually goes about it. I also get what appears to be a warning about the call to plslabelfunc(). "Argument #1 of 'plslabelfunc' is passed by reference at (2) but is a procedure at (1)". thanks, -Hazen Arjen Markus wrote: > Hi Hazen, > > just now I started to include the changes for x19f.f, when I realised > that the label argument poses a bit of a problem: Fortran expects a > hidden argument to hold the actual string length. For the other > interfaces we can circumvent that issue and in the F95 interface > this is solved by using "length" explicitly. > > Well, the changes should work, unfortunately I do not have access > right now to a proper build environment to really test it. Please > let me know if there is any trouble. > > Regards, > > Arjen > > On 2009-11-07 23:05, Hazen Babcock wrote: >> >> Hi Arjen, >> >> Since I just ran into exactly this problem myself (with mingw on >> windows)... Should we fix example x19f.f to work with f77? It is in >> the f77 examples folder so I think it is reasonable for the user to >> assume that it should be possible to compile this example with a f77 >> compiler. >> >> best, >> -Hazen >> >> Arjen Markus wrote: >>> Hi Werner, >>> >>> the floor function does not exist in FORTRAN 77, so you need >>> to implement it, for instance: >>> >>> *234567 >>> REAL FUNCTION FLOOR(X) >>> REAL X >>> FLOOR = FLOAT(INT(X)) >>> RETURN >>> END >>> >>> The declaration "character*(length) label" is a Fortran 90 >>> facility. Use: >>> >>> character*(*) label >>> >>> This should actually be handled by the C interface (the >>> string length is passed as a hidden argument ...) I do not >>> have time the coming days to look into it closely, but I >>> will try. >>> >>> You can not pass a null pointer (0) in FORTRAN 77. To turn the >>> labeller off, I am afraid you will have to use either a separate >>> routine (call plslabelfuncoff) or use a dummy routine. >>> >>> Regards, >>> >>> Arjen >>> >>> On 2009-09-15 13:47, Werner Smekal wrote: >>>> Hi, >>>> >>>> when I compile the latest revision of PLplot with MinGW 3.4.5 >>>> including the g77 compiler I get the following compiler error: >>>> >>>> Scanning dependencies of target x19f >>>> [ 88%] Building Fortran object examples/f77/CMakeFiles/x19f.dir/ >>>> x19f.f.obj >>>> E:\plbuild\examples\f77\x19f.f: In function `normalize_longitude': >>>> E:\plbuild\examples\f77\x19f.f:80: warning: >>>> times = floor ((abs(lon) + 180.0d0) / 360.0d0) >>>> ^ >>>> Reference to unimplemented intrinsic `FLOOR' at (^) (assumed EXTERNAL) >>>> E:\plbuild\examples\f77\x19f.f:80: >>>> times = floor ((abs(lon) + 180.0d0) / 360.0d0) >>>> ^ >>>> Invalid declaration of or reference to symbol `floor' at (^) >>>> [initially seen at (^)] >>>> E:\plbuild\examples\f77\x19f.f: In subroutine `geolocation_labeler': >>>> E:\plbuild\examples\f77\x19f.f:91: >>>> subroutine geolocation_labeler(axis, value, label, length) >>>> 1 >>>> E:\plbuild\examples\f77\x19f.f:95: (continued): >>>> character*(length) label >>>> 2 >>>> Invalid declaration of or reference to symbol `length' at (2) >>>> [initially seen at (1)] >>>> E:\plbuild\examples\f77\x19f.f: In program `x19f': >>>> E:\plbuild\examples\f77\x19f.f:161: warning: >>>> call plslabelfunc(geolocation_labeler) >>>> 1 >>>> E:\plbuild\examples\f77\x19f.f:177: (continued): >>>> call plslabelfunc(0) >>>> 2 >>>> Argument #1 of `plslabelfunc' is passed by reference at (2) but is >>>> a procedure at (1) [info -f g77 M GLOBALS] >>>> mingw32-make[2]: *** [examples/f77/CMakeFiles/x19f.dir/x19f.f.obj] >>>> Error 1 >>>> mingw32-make[1]: *** [examples/f77/CMakeFiles/x19f.dir/all] Error 2 >>>> mingw32-make: *** [all] Error 2 >>>> >>>> Maybe someone who is more knowledgeable about Fortran can help me >>>> out make this example work. >>>> >>>> Thanks, >>>> Werner >>>> >>>> -- >>>> Dr. Werner Smekal >>>> Institut fuer Allgemeine Physik >>>> Technische Universitaet Wien >>>> Wiedner Hauptstr 8-10 >>>> A-1040 Wien >>>> Austria >>>> DVR-Nr: 0005886 >>>> >>>> email: sm...@ia... >>>> web: http://www.iap.tuwien.ac.at/~smekal >>>> phone: +43-(0)1-58801-13463 (office) >>>> +43-(0)1-58801-13469 (laboratory) >>>> fax: +43-(0)1-58801-13499 >>>> >>>> >>>> ------------------------------------------------------------------------------ >>>> >>>> Come build with us! The BlackBerry® Developer Conference in SF, CA >>>> is the only developer event you need to attend this year. Jumpstart >>>> your >>>> developing skills, take BlackBerry mobile applications to market and >>>> stay ahead of the curve. Join us from November 9-12, 2009. >>>> Register now! >>>> http://p.sf.net/sfu/devconf >>>> _______________________________________________ >>>> Plplot-devel mailing list >>>> Plp...@li... >>>> https://lists.sourceforge.net/lists/listinfo/plplot-devel >>>> >>> >>> ------------------------------------------------------------------------------ >>> >>> Come build with us! The BlackBerry® Developer Conference in SF, CA >>> is the only developer event you need to attend this year. Jumpstart your >>> developing skills, take BlackBerry mobile applications to market and >>> stay ahead of the curve. Join us from November 9-12, 2009. >>> Register now! >>> http://p.sf.net/sfu/devconf >>> _______________________________________________ >>> Plplot-devel mailing list >>> Plp...@li... >>> https://lists.sourceforge.net/lists/listinfo/plplot-devel >>> >> >> > |
From: Arjen M. <arj...@de...> - 2009-11-12 08:00:31
|
Hi Hazen, hm, I will have to look into these issues. Functions in Fortran are actually rather simple (*): y = floor(x) should work, but I may need to add some declarations (my FORTRAN 77 skills are getting a bit rusty, as Fortran 95 offers much better tools to make the compiler agree with you). (*) Within the definition of the function, the name of the function acts as a special variable that holds the value of the function. So not a value on the return statement like with C-like languages. Regards, Arjen On 2009-11-11 19:30, Hazen Babcock wrote: > > Hi Arjen, > > Thanks for working on this. Unfortunately I'm still getting the error > about the floor function. I thought perhaps I needed to add something > like "external floor" in the normalize_longitude function but that only > gave me a different error. "times = call floor (..)" also does not seem > to work. Adding a "return" statement to the floor procedure similarly > failed. I assume that is must somehow be possible to call functions in > fortran but I'm quite puzzled about how one actually goes about it. > > I also get what appears to be a warning about the call to > plslabelfunc(). "Argument #1 of 'plslabelfunc' is passed by reference at > (2) but is a procedure at (1)". > > thanks, > -Hazen > > Arjen Markus wrote: >> Hi Hazen, >> >> just now I started to include the changes for x19f.f, when I realised >> that the label argument poses a bit of a problem: Fortran expects a >> hidden argument to hold the actual string length. For the other >> interfaces we can circumvent that issue and in the F95 interface >> this is solved by using "length" explicitly. >> >> Well, the changes should work, unfortunately I do not have access >> right now to a proper build environment to really test it. Please >> let me know if there is any trouble. >> >> Regards, >> >> Arjen >> >> On 2009-11-07 23:05, Hazen Babcock wrote: >>> >>> Hi Arjen, >>> >>> Since I just ran into exactly this problem myself (with mingw on >>> windows)... Should we fix example x19f.f to work with f77? It is in >>> the f77 examples folder so I think it is reasonable for the user to >>> assume that it should be possible to compile this example with a f77 >>> compiler. >>> >>> best, >>> -Hazen >>> >>> Arjen Markus wrote: >>>> Hi Werner, >>>> >>>> the floor function does not exist in FORTRAN 77, so you need >>>> to implement it, for instance: >>>> >>>> *234567 >>>> REAL FUNCTION FLOOR(X) >>>> REAL X >>>> FLOOR = FLOAT(INT(X)) >>>> RETURN >>>> END >>>> >>>> The declaration "character*(length) label" is a Fortran 90 >>>> facility. Use: >>>> >>>> character*(*) label >>>> >>>> This should actually be handled by the C interface (the >>>> string length is passed as a hidden argument ...) I do not >>>> have time the coming days to look into it closely, but I >>>> will try. >>>> >>>> You can not pass a null pointer (0) in FORTRAN 77. To turn the >>>> labeller off, I am afraid you will have to use either a separate >>>> routine (call plslabelfuncoff) or use a dummy routine. >>>> >>>> Regards, >>>> >>>> Arjen >>>> >>>> On 2009-09-15 13:47, Werner Smekal wrote: >>>>> Hi, >>>>> >>>>> when I compile the latest revision of PLplot with MinGW 3.4.5 >>>>> including the g77 compiler I get the following compiler error: >>>>> >>>>> Scanning dependencies of target x19f >>>>> [ 88%] Building Fortran object examples/f77/CMakeFiles/x19f.dir/ >>>>> x19f.f.obj >>>>> E:\plbuild\examples\f77\x19f.f: In function `normalize_longitude': >>>>> E:\plbuild\examples\f77\x19f.f:80: warning: >>>>> times = floor ((abs(lon) + 180.0d0) / 360.0d0) >>>>> ^ >>>>> Reference to unimplemented intrinsic `FLOOR' at (^) (assumed EXTERNAL) >>>>> E:\plbuild\examples\f77\x19f.f:80: >>>>> times = floor ((abs(lon) + 180.0d0) / 360.0d0) >>>>> ^ >>>>> Invalid declaration of or reference to symbol `floor' at (^) >>>>> [initially seen at (^)] >>>>> E:\plbuild\examples\f77\x19f.f: In subroutine `geolocation_labeler': >>>>> E:\plbuild\examples\f77\x19f.f:91: >>>>> subroutine geolocation_labeler(axis, value, label, length) >>>>> 1 >>>>> E:\plbuild\examples\f77\x19f.f:95: (continued): >>>>> character*(length) label >>>>> 2 >>>>> Invalid declaration of or reference to symbol `length' at (2) >>>>> [initially seen at (1)] >>>>> E:\plbuild\examples\f77\x19f.f: In program `x19f': >>>>> E:\plbuild\examples\f77\x19f.f:161: warning: >>>>> call plslabelfunc(geolocation_labeler) >>>>> 1 >>>>> E:\plbuild\examples\f77\x19f.f:177: (continued): >>>>> call plslabelfunc(0) >>>>> 2 >>>>> Argument #1 of `plslabelfunc' is passed by reference at (2) but is >>>>> a procedure at (1) [info -f g77 M GLOBALS] >>>>> mingw32-make[2]: *** [examples/f77/CMakeFiles/x19f.dir/x19f.f.obj] >>>>> Error 1 >>>>> mingw32-make[1]: *** [examples/f77/CMakeFiles/x19f.dir/all] Error 2 >>>>> mingw32-make: *** [all] Error 2 >>>>> >>>>> Maybe someone who is more knowledgeable about Fortran can help me >>>>> out make this example work. >>>>> >>>>> Thanks, >>>>> Werner >>>>> >>>>> -- >>>>> Dr. Werner Smekal >>>>> Institut fuer Allgemeine Physik >>>>> Technische Universitaet Wien >>>>> Wiedner Hauptstr 8-10 >>>>> A-1040 Wien >>>>> Austria >>>>> DVR-Nr: 0005886 >>>>> >>>>> email: sm...@ia... >>>>> web: http://www.iap.tuwien.ac.at/~smekal >>>>> phone: +43-(0)1-58801-13463 (office) >>>>> +43-(0)1-58801-13469 (laboratory) >>>>> fax: +43-(0)1-58801-13499 >>>>> >>>>> >>>>> ------------------------------------------------------------------------------ >>>>> >>>>> Come build with us! The BlackBerry® Developer Conference in SF, CA >>>>> is the only developer event you need to attend this year. Jumpstart >>>>> your >>>>> developing skills, take BlackBerry mobile applications to market >>>>> and stay ahead of the curve. Join us from November 9-12, 2009. >>>>> Register now! >>>>> http://p.sf.net/sfu/devconf >>>>> _______________________________________________ >>>>> Plplot-devel mailing list >>>>> Plp...@li... >>>>> https://lists.sourceforge.net/lists/listinfo/plplot-devel >>>>> >>>> >>>> ------------------------------------------------------------------------------ >>>> >>>> Come build with us! The BlackBerry® Developer Conference in SF, CA >>>> is the only developer event you need to attend this year. Jumpstart >>>> your >>>> developing skills, take BlackBerry mobile applications to market and >>>> stay ahead of the curve. Join us from November 9-12, 2009. >>>> Register now! >>>> http://p.sf.net/sfu/devconf >>>> _______________________________________________ >>>> Plplot-devel mailing list >>>> Plp...@li... >>>> https://lists.sourceforge.net/lists/listinfo/plplot-devel >>>> >>> >>> >> > > |
From: Davide C. <dc...@ar...> - 2009-11-12 08:27:53
|
Hi, since floor is declared as function, you need something like times = floor() times = call floor() is definitely wrong; maybe, if you have declared "implicit none", you need to declare floor as real at the beginning of the program unit, something like: real floor Davide Hazen Babcock ha scritto: > Hi Arjen, > > Thanks for working on this. Unfortunately I'm still getting the error > about the floor function. I thought perhaps I needed to add something > like "external floor" in the normalize_longitude function but that only > gave me a different error. "times = call floor (..)" also does not seem > to work. Adding a "return" statement to the floor procedure similarly > failed. I assume that is must somehow be possible to call functions in > fortran but I'm quite puzzled about how one actually goes about it. > > I also get what appears to be a warning about the call to > plslabelfunc(). "Argument #1 of 'plslabelfunc' is passed by reference at > (2) but is a procedure at (1)". > > thanks, > -Hazen > > Arjen Markus wrote: >> Hi Hazen, >> >> just now I started to include the changes for x19f.f, when I realised >> that the label argument poses a bit of a problem: Fortran expects a >> hidden argument to hold the actual string length. For the other >> interfaces we can circumvent that issue and in the F95 interface >> this is solved by using "length" explicitly. >> >> Well, the changes should work, unfortunately I do not have access >> right now to a proper build environment to really test it. Please >> let me know if there is any trouble. >> >> Regards, >> >> Arjen >> >> On 2009-11-07 23:05, Hazen Babcock wrote: >>> Hi Arjen, >>> >>> Since I just ran into exactly this problem myself (with mingw on >>> windows)... Should we fix example x19f.f to work with f77? It is in >>> the f77 examples folder so I think it is reasonable for the user to >>> assume that it should be possible to compile this example with a f77 >>> compiler. >>> >>> best, >>> -Hazen >>> >>> Arjen Markus wrote: >>>> Hi Werner, >>>> >>>> the floor function does not exist in FORTRAN 77, so you need >>>> to implement it, for instance: >>>> >>>> *234567 >>>> REAL FUNCTION FLOOR(X) >>>> REAL X >>>> FLOOR = FLOAT(INT(X)) >>>> RETURN >>>> END >>>> >>>> The declaration "character*(length) label" is a Fortran 90 >>>> facility. Use: >>>> >>>> character*(*) label >>>> >>>> This should actually be handled by the C interface (the >>>> string length is passed as a hidden argument ...) I do not >>>> have time the coming days to look into it closely, but I >>>> will try. >>>> >>>> You can not pass a null pointer (0) in FORTRAN 77. To turn the >>>> labeller off, I am afraid you will have to use either a separate >>>> routine (call plslabelfuncoff) or use a dummy routine. >>>> >>>> Regards, >>>> >>>> Arjen >>>> >>>> On 2009-09-15 13:47, Werner Smekal wrote: >>>>> Hi, >>>>> >>>>> when I compile the latest revision of PLplot with MinGW 3.4.5 >>>>> including the g77 compiler I get the following compiler error: >>>>> >>>>> Scanning dependencies of target x19f >>>>> [ 88%] Building Fortran object examples/f77/CMakeFiles/x19f.dir/ >>>>> x19f.f.obj >>>>> E:\plbuild\examples\f77\x19f.f: In function `normalize_longitude': >>>>> E:\plbuild\examples\f77\x19f.f:80: warning: >>>>> times = floor ((abs(lon) + 180.0d0) / 360.0d0) >>>>> ^ >>>>> Reference to unimplemented intrinsic `FLOOR' at (^) (assumed EXTERNAL) >>>>> E:\plbuild\examples\f77\x19f.f:80: >>>>> times = floor ((abs(lon) + 180.0d0) / 360.0d0) >>>>> ^ >>>>> Invalid declaration of or reference to symbol `floor' at (^) >>>>> [initially seen at (^)] >>>>> E:\plbuild\examples\f77\x19f.f: In subroutine `geolocation_labeler': >>>>> E:\plbuild\examples\f77\x19f.f:91: >>>>> subroutine geolocation_labeler(axis, value, label, length) >>>>> 1 >>>>> E:\plbuild\examples\f77\x19f.f:95: (continued): >>>>> character*(length) label >>>>> 2 >>>>> Invalid declaration of or reference to symbol `length' at (2) >>>>> [initially seen at (1)] >>>>> E:\plbuild\examples\f77\x19f.f: In program `x19f': >>>>> E:\plbuild\examples\f77\x19f.f:161: warning: >>>>> call plslabelfunc(geolocation_labeler) >>>>> 1 >>>>> E:\plbuild\examples\f77\x19f.f:177: (continued): >>>>> call plslabelfunc(0) >>>>> 2 >>>>> Argument #1 of `plslabelfunc' is passed by reference at (2) but is >>>>> a procedure at (1) [info -f g77 M GLOBALS] >>>>> mingw32-make[2]: *** [examples/f77/CMakeFiles/x19f.dir/x19f.f.obj] >>>>> Error 1 >>>>> mingw32-make[1]: *** [examples/f77/CMakeFiles/x19f.dir/all] Error 2 >>>>> mingw32-make: *** [all] Error 2 >>>>> >>>>> Maybe someone who is more knowledgeable about Fortran can help me >>>>> out make this example work. >>>>> >>>>> Thanks, >>>>> Werner >>>>> >>>>> -- >>>>> Dr. Werner Smekal >>>>> Institut fuer Allgemeine Physik >>>>> Technische Universitaet Wien >>>>> Wiedner Hauptstr 8-10 >>>>> A-1040 Wien >>>>> Austria >>>>> DVR-Nr: 0005886 >>>>> >>>>> email: sm...@ia... >>>>> web: http://www.iap.tuwien.ac.at/~smekal >>>>> phone: +43-(0)1-58801-13463 (office) >>>>> +43-(0)1-58801-13469 (laboratory) >>>>> fax: +43-(0)1-58801-13499 >>>>> >>>>> >>>>> ------------------------------------------------------------------------------ >>>>> >>>>> Come build with us! The BlackBerry® Developer Conference in SF, CA >>>>> is the only developer event you need to attend this year. Jumpstart >>>>> your >>>>> developing skills, take BlackBerry mobile applications to market and >>>>> stay ahead of the curve. Join us from November 9-12, 2009. >>>>> Register now! >>>>> http://p.sf.net/sfu/devconf >>>>> _______________________________________________ >>>>> Plplot-devel mailing list >>>>> Plp...@li... >>>>> https://lists.sourceforge.net/lists/listinfo/plplot-devel >>>>> >>>> ------------------------------------------------------------------------------ >>>> >>>> Come build with us! The BlackBerry® Developer Conference in SF, CA >>>> is the only developer event you need to attend this year. Jumpstart your >>>> developing skills, take BlackBerry mobile applications to market and >>>> stay ahead of the curve. Join us from November 9-12, 2009. >>>> Register now! >>>> http://p.sf.net/sfu/devconf >>>> _______________________________________________ >>>> Plplot-devel mailing list >>>> Plp...@li... >>>> https://lists.sourceforge.net/lists/listinfo/plplot-devel >>>> >>> > > > ------------------------------------------------------------------------------ > Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day > trial. Simplify your report design, integration and deployment - and focus on > what you do best, core application coding. Discover what's new with > Crystal Reports now. http://p.sf.net/sfu/bobj-july > _______________________________________________ > Plplot-devel mailing list > Plp...@li... > https://lists.sourceforge.net/lists/listinfo/plplot-devel > -- ============================= Davide Cesari ============================ Servizio IdroMeteorologico ARPA Emilia Romagna Area Modellistica Numerica e Radarmeteorologia Phone/Fax: +39 051525926/+39 0516497501 E-mail: dc...@ar... Home page: http://www.webalice.it/o.drofa/davide/ Address: ARPA-SIM, Viale Silvani 6, 40122 Bologna, Italy ======================================================================== This message has been scanned for malware by Websense. www.websense.com |
From: Arjen M. <arj...@de...> - 2009-11-12 08:32:10
|
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 On 2009-11-12 08:58, Davide Cesari wrote: > Hi, > since floor is declared as function, you need something like > > times = floor() > > times = call floor() is definitely wrong; maybe, if you have declared > "implicit none", you need to declare floor as real at the beginning of > the program unit, something like: > > real floor > > Davide > > Hazen Babcock ha scritto: >> Hi Arjen, >> >> Thanks for working on this. Unfortunately I'm still getting the error >> about the floor function. I thought perhaps I needed to add something >> like "external floor" in the normalize_longitude function but that only >> gave me a different error. "times = call floor (..)" also does not seem >> to work. Adding a "return" statement to the floor procedure similarly >> failed. I assume that is must somehow be possible to call functions in >> fortran but I'm quite puzzled about how one actually goes about it. >> >> I also get what appears to be a warning about the call to >> plslabelfunc(). "Argument #1 of 'plslabelfunc' is passed by reference at >> (2) but is a procedure at (1)". >> >> thanks, >> -Hazen >> >> Arjen Markus wrote: >>> Hi Hazen, >>> >>> just now I started to include the changes for x19f.f, when I realised >>> that the label argument poses a bit of a problem: Fortran expects a >>> hidden argument to hold the actual string length. For the other >>> interfaces we can circumvent that issue and in the F95 interface >>> this is solved by using "length" explicitly. >>> >>> Well, the changes should work, unfortunately I do not have access >>> right now to a proper build environment to really test it. Please >>> let me know if there is any trouble. >>> >>> Regards, >>> >>> Arjen >>> >>> On 2009-11-07 23:05, Hazen Babcock wrote: >>>> Hi Arjen, >>>> >>>> Since I just ran into exactly this problem myself (with mingw on >>>> windows)... Should we fix example x19f.f to work with f77? It is in >>>> the f77 examples folder so I think it is reasonable for the user to >>>> assume that it should be possible to compile this example with a f77 >>>> compiler. >>>> >>>> best, >>>> -Hazen >>>> >>>> Arjen Markus wrote: >>>>> Hi Werner, >>>>> >>>>> the floor function does not exist in FORTRAN 77, so you need >>>>> to implement it, for instance: >>>>> >>>>> *234567 >>>>> REAL FUNCTION FLOOR(X) >>>>> REAL X >>>>> FLOOR = FLOAT(INT(X)) >>>>> RETURN >>>>> END >>>>> >>>>> The declaration "character*(length) label" is a Fortran 90 >>>>> facility. Use: >>>>> >>>>> character*(*) label >>>>> >>>>> This should actually be handled by the C interface (the >>>>> string length is passed as a hidden argument ...) I do not >>>>> have time the coming days to look into it closely, but I >>>>> will try. >>>>> >>>>> You can not pass a null pointer (0) in FORTRAN 77. To turn the >>>>> labeller off, I am afraid you will have to use either a separate >>>>> routine (call plslabelfuncoff) or use a dummy routine. >>>>> >>>>> Regards, >>>>> >>>>> Arjen >>>>> >>>>> On 2009-09-15 13:47, Werner Smekal wrote: >>>>>> Hi, >>>>>> >>>>>> when I compile the latest revision of PLplot with MinGW 3.4.5 >>>>>> including the g77 compiler I get the following compiler error: >>>>>> >>>>>> Scanning dependencies of target x19f >>>>>> [ 88%] Building Fortran object examples/f77/CMakeFiles/x19f.dir/ >>>>>> x19f.f.obj >>>>>> E:\plbuild\examples\f77\x19f.f: In function `normalize_longitude': >>>>>> E:\plbuild\examples\f77\x19f.f:80: warning: >>>>>> times = floor ((abs(lon) + 180.0d0) / 360.0d0) >>>>>> ^ >>>>>> Reference to unimplemented intrinsic `FLOOR' at (^) (assumed EXTERNAL) >>>>>> E:\plbuild\examples\f77\x19f.f:80: >>>>>> times = floor ((abs(lon) + 180.0d0) / 360.0d0) >>>>>> ^ >>>>>> Invalid declaration of or reference to symbol `floor' at (^) >>>>>> [initially seen at (^)] >>>>>> E:\plbuild\examples\f77\x19f.f: In subroutine `geolocation_labeler': >>>>>> E:\plbuild\examples\f77\x19f.f:91: >>>>>> subroutine geolocation_labeler(axis, value, label, length) >>>>>> 1 >>>>>> E:\plbuild\examples\f77\x19f.f:95: (continued): >>>>>> character*(length) label >>>>>> 2 >>>>>> Invalid declaration of or reference to symbol `length' at (2) >>>>>> [initially seen at (1)] >>>>>> E:\plbuild\examples\f77\x19f.f: In program `x19f': >>>>>> E:\plbuild\examples\f77\x19f.f:161: warning: >>>>>> call plslabelfunc(geolocation_labeler) >>>>>> 1 >>>>>> E:\plbuild\examples\f77\x19f.f:177: (continued): >>>>>> call plslabelfunc(0) >>>>>> 2 >>>>>> Argument #1 of `plslabelfunc' is passed by reference at (2) but is >>>>>> a procedure at (1) [info -f g77 M GLOBALS] >>>>>> mingw32-make[2]: *** [examples/f77/CMakeFiles/x19f.dir/x19f.f.obj] >>>>>> Error 1 >>>>>> mingw32-make[1]: *** [examples/f77/CMakeFiles/x19f.dir/all] Error 2 >>>>>> mingw32-make: *** [all] Error 2 >>>>>> >>>>>> Maybe someone who is more knowledgeable about Fortran can help me >>>>>> out make this example work. >>>>>> >>>>>> Thanks, >>>>>> Werner >>>>>> >>>>>> -- >>>>>> Dr. Werner Smekal >>>>>> Institut fuer Allgemeine Physik >>>>>> Technische Universitaet Wien >>>>>> Wiedner Hauptstr 8-10 >>>>>> A-1040 Wien >>>>>> Austria >>>>>> DVR-Nr: 0005886 >>>>>> >>>>>> email: sm...@ia... >>>>>> web: http://www.iap.tuwien.ac.at/~smekal >>>>>> phone: +43-(0)1-58801-13463 (office) >>>>>> +43-(0)1-58801-13469 (laboratory) >>>>>> fax: +43-(0)1-58801-13499 >>>>>> >>>>>> >>>>>> ------------------------------------------------------------------------------ >>>>>> >>>>>> Come build with us! The BlackBerry® Developer Conference in SF, CA >>>>>> is the only developer event you need to attend this year. Jumpstart >>>>>> your >>>>>> developing skills, take BlackBerry mobile applications to market and >>>>>> stay ahead of the curve. Join us from November 9-12, 2009. >>>>>> Register now! >>>>>> http://p.sf.net/sfu/devconf >>>>>> _______________________________________________ >>>>>> Plplot-devel mailing list >>>>>> Plp...@li... >>>>>> https://lists.sourceforge.net/lists/listinfo/plplot-devel >>>>>> >>>>> ------------------------------------------------------------------------------ >>>>> >>>>> Come build with us! The BlackBerry® Developer Conference in SF, CA >>>>> is the only developer event you need to attend this year. Jumpstart your >>>>> developing skills, take BlackBerry mobile applications to market and >>>>> stay ahead of the curve. Join us from November 9-12, 2009. >>>>> Register now! >>>>> http://p.sf.net/sfu/devconf >>>>> _______________________________________________ >>>>> Plplot-devel mailing list >>>>> Plp...@li... >>>>> https://lists.sourceforge.net/lists/listinfo/plplot-devel >>>>> >> >> ------------------------------------------------------------------------------ >> Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day >> trial. Simplify your report design, integration and deployment - and focus on >> what you do best, core application coding. Discover what's new with >> Crystal Reports now. http://p.sf.net/sfu/bobj-july >> _______________________________________________ >> Plplot-devel mailing list >> Plp...@li... >> https://lists.sourceforge.net/lists/listinfo/plplot-devel >> > > |
From: Hazen B. <hba...@ma...> - 2009-11-18 17:00:46
|
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 |
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 > > |
From: Arjen M. <arj...@de...> - 2009-11-19 08:16:39
|
Hi Davide, Hazen, I have just repaired it. FYI: The wrapper C function has to be duplicated - the second version has an underscore appended. This way the linker can choose between func_with_underscore_() and func_with_underscore__(). The solution is not particularly elegant, but it works. Regards, Arjen On 2009-11-19 09:04, Arjen Markus wrote: > 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. |
From: Davide C. <dc...@ar...> - 2009-11-19 08:01:56
|
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 -- ============================= Davide Cesari ============================ Servizio IdroMeteorologico ARPA Emilia Romagna Area Modellistica Numerica e Radarmeteorologia Phone/Fax: +39 051525926/+39 0516497501 E-mail: dc...@ar... Home page: http://www.webalice.it/o.drofa/davide/ Address: ARPA-SIM, Viale Silvani 6, 40122 Bologna, Italy ======================================================================== This message has been scanned for malware by Websense. www.websense.com |
From: Davide C. <dc...@ar...> - 2009-11-12 09:24:11
|
Hi Arjen, Arjen Markus ha scritto: > 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. Apart from being a warning, this will probably not work because a literal 0 means passing a pointer to a zero value, not a NULL pointer, so the C will see it as a valid pointer and try to call it with unpredictable results. I think there is no clean, portable way to pass a null pointer in f77; the only solution in my view here -ugly, I agree- if f77 support has to be maintained, is to change the API for fortran and do some kind of plslabeldisablefunc() or something like that. In f90 it can be done cleanly by defining an interface to 2 subroutines, one receiving a procedure and one receiving an integer, the second can then call a C wrapper passing the null pointer, something similar is done in f90gl for glutNullFunc (see: http://math.nist.gov/f90gl/ ) Hope this helps, Davide > > Regards, > > Arjen > > On 2009-11-12 08:58, Davide Cesari wrote: >> Hi, >> since floor is declared as function, you need something like >> >> times = floor() >> >> times = call floor() is definitely wrong; maybe, if you have declared >> "implicit none", you need to declare floor as real at the beginning of >> the program unit, something like: >> >> real floor >> >> Davide >> >> Hazen Babcock ha scritto: >>> Hi Arjen, >>> >>> Thanks for working on this. Unfortunately I'm still getting the error >>> about the floor function. I thought perhaps I needed to add something >>> like "external floor" in the normalize_longitude function but that >>> only gave me a different error. "times = call floor (..)" also does >>> not seem to work. Adding a "return" statement to the floor procedure >>> similarly failed. I assume that is must somehow be possible to call >>> functions in fortran but I'm quite puzzled about how one actually >>> goes about it. >>> >>> I also get what appears to be a warning about the call to >>> plslabelfunc(). "Argument #1 of 'plslabelfunc' is passed by reference >>> at (2) but is a procedure at (1)". >>> >>> thanks, >>> -Hazen >>> >>> Arjen Markus wrote: >>>> Hi Hazen, >>>> >>>> just now I started to include the changes for x19f.f, when I realised >>>> that the label argument poses a bit of a problem: Fortran expects a >>>> hidden argument to hold the actual string length. For the other >>>> interfaces we can circumvent that issue and in the F95 interface >>>> this is solved by using "length" explicitly. >>>> >>>> Well, the changes should work, unfortunately I do not have access >>>> right now to a proper build environment to really test it. Please >>>> let me know if there is any trouble. >>>> >>>> Regards, >>>> >>>> Arjen >>>> >>>> On 2009-11-07 23:05, Hazen Babcock wrote: >>>>> Hi Arjen, >>>>> >>>>> Since I just ran into exactly this problem myself (with mingw on >>>>> windows)... Should we fix example x19f.f to work with f77? It is in >>>>> the f77 examples folder so I think it is reasonable for the user to >>>>> assume that it should be possible to compile this example with a >>>>> f77 compiler. >>>>> >>>>> best, >>>>> -Hazen >>>>> >>>>> Arjen Markus wrote: >>>>>> Hi Werner, >>>>>> >>>>>> the floor function does not exist in FORTRAN 77, so you need >>>>>> to implement it, for instance: >>>>>> >>>>>> *234567 >>>>>> REAL FUNCTION FLOOR(X) >>>>>> REAL X >>>>>> FLOOR = FLOAT(INT(X)) >>>>>> RETURN >>>>>> END >>>>>> >>>>>> The declaration "character*(length) label" is a Fortran 90 >>>>>> facility. Use: >>>>>> >>>>>> character*(*) label >>>>>> >>>>>> This should actually be handled by the C interface (the >>>>>> string length is passed as a hidden argument ...) I do not >>>>>> have time the coming days to look into it closely, but I >>>>>> will try. >>>>>> >>>>>> You can not pass a null pointer (0) in FORTRAN 77. To turn the >>>>>> labeller off, I am afraid you will have to use either a separate >>>>>> routine (call plslabelfuncoff) or use a dummy routine. >>>>>> >>>>>> Regards, >>>>>> >>>>>> Arjen >>>>>> >>>>>> On 2009-09-15 13:47, Werner Smekal wrote: >>>>>>> Hi, >>>>>>> >>>>>>> when I compile the latest revision of PLplot with MinGW 3.4.5 >>>>>>> including the g77 compiler I get the following compiler error: >>>>>>> >>>>>>> Scanning dependencies of target x19f >>>>>>> [ 88%] Building Fortran object examples/f77/CMakeFiles/x19f.dir/ >>>>>>> x19f.f.obj >>>>>>> E:\plbuild\examples\f77\x19f.f: In function `normalize_longitude': >>>>>>> E:\plbuild\examples\f77\x19f.f:80: warning: >>>>>>> times = floor ((abs(lon) + 180.0d0) / 360.0d0) >>>>>>> ^ >>>>>>> Reference to unimplemented intrinsic `FLOOR' at (^) (assumed >>>>>>> EXTERNAL) >>>>>>> E:\plbuild\examples\f77\x19f.f:80: >>>>>>> times = floor ((abs(lon) + 180.0d0) / 360.0d0) >>>>>>> ^ >>>>>>> Invalid declaration of or reference to symbol `floor' at (^) >>>>>>> [initially seen at (^)] >>>>>>> E:\plbuild\examples\f77\x19f.f: In subroutine `geolocation_labeler': >>>>>>> E:\plbuild\examples\f77\x19f.f:91: >>>>>>> subroutine geolocation_labeler(axis, value, label, length) >>>>>>> 1 >>>>>>> E:\plbuild\examples\f77\x19f.f:95: (continued): >>>>>>> character*(length) label >>>>>>> 2 >>>>>>> Invalid declaration of or reference to symbol `length' at (2) >>>>>>> [initially seen at (1)] >>>>>>> E:\plbuild\examples\f77\x19f.f: In program `x19f': >>>>>>> E:\plbuild\examples\f77\x19f.f:161: warning: >>>>>>> call plslabelfunc(geolocation_labeler) >>>>>>> 1 >>>>>>> E:\plbuild\examples\f77\x19f.f:177: (continued): >>>>>>> call plslabelfunc(0) >>>>>>> 2 >>>>>>> Argument #1 of `plslabelfunc' is passed by reference at (2) but >>>>>>> is a procedure at (1) [info -f g77 M GLOBALS] >>>>>>> mingw32-make[2]: *** >>>>>>> [examples/f77/CMakeFiles/x19f.dir/x19f.f.obj] Error 1 >>>>>>> mingw32-make[1]: *** [examples/f77/CMakeFiles/x19f.dir/all] Error 2 >>>>>>> mingw32-make: *** [all] Error 2 >>>>>>> >>>>>>> Maybe someone who is more knowledgeable about Fortran can help me >>>>>>> out make this example work. >>>>>>> >>>>>>> Thanks, >>>>>>> Werner >>>>>>> >>>>>>> -- >>>>>>> Dr. Werner Smekal >>>>>>> Institut fuer Allgemeine Physik >>>>>>> Technische Universitaet Wien >>>>>>> Wiedner Hauptstr 8-10 >>>>>>> A-1040 Wien >>>>>>> Austria >>>>>>> DVR-Nr: 0005886 >>>>>>> >>>>>>> email: sm...@ia... >>>>>>> web: http://www.iap.tuwien.ac.at/~smekal >>>>>>> phone: +43-(0)1-58801-13463 (office) >>>>>>> +43-(0)1-58801-13469 (laboratory) >>>>>>> fax: +43-(0)1-58801-13499 >>>>>>> >>>>>>> >>>>>>> ------------------------------------------------------------------------------ >>>>>>> >>>>>>> Come build with us! The BlackBerry® Developer Conference in >>>>>>> SF, CA >>>>>>> is the only developer event you need to attend this year. >>>>>>> Jumpstart your >>>>>>> developing skills, take BlackBerry mobile applications to market >>>>>>> and stay ahead of the curve. Join us from November 9-12, >>>>>>> 2009. Register now! >>>>>>> http://p.sf.net/sfu/devconf >>>>>>> _______________________________________________ >>>>>>> Plplot-devel mailing list >>>>>>> Plp...@li... >>>>>>> https://lists.sourceforge.net/lists/listinfo/plplot-devel >>>>>>> >>>>>> ------------------------------------------------------------------------------ >>>>>> >>>>>> Come build with us! The BlackBerry® Developer Conference in >>>>>> SF, CA >>>>>> is the only developer event you need to attend this year. >>>>>> Jumpstart your >>>>>> developing skills, take BlackBerry mobile applications to market >>>>>> and stay ahead of the curve. Join us from November 9-12, 2009. >>>>>> Register now! >>>>>> http://p.sf.net/sfu/devconf >>>>>> _______________________________________________ >>>>>> Plplot-devel mailing list >>>>>> Plp...@li... >>>>>> https://lists.sourceforge.net/lists/listinfo/plplot-devel >>>>>> >>> >>> ------------------------------------------------------------------------------ >>> >>> Let Crystal Reports handle the reporting - Free Crystal Reports 2008 >>> 30-Day trial. Simplify your report design, integration and deployment >>> - and focus on what you do best, core application coding. Discover >>> what's new with >>> Crystal Reports now. http://p.sf.net/sfu/bobj-july >>> _______________________________________________ >>> Plplot-devel mailing list >>> Plp...@li... >>> https://lists.sourceforge.net/lists/listinfo/plplot-devel >>> >> >> > -- ============================= Davide Cesari ============================ Servizio IdroMeteorologico ARPA Emilia Romagna Area Modellistica Numerica e Radarmeteorologia Phone/Fax: +39 051525926/+39 0516497501 E-mail: dc...@ar... Home page: http://www.webalice.it/o.drofa/davide/ Address: ARPA-SIM, Viale Silvani 6, 40122 Bologna, Italy ======================================================================== This message has been scanned for malware by Websense. www.websense.com |
From: Arjen M. <arj...@de...> - 2009-11-12 09:29:12
|
Hi Davide, On 2009-11-12 10:22, Davide Cesari wrote: > Hi Arjen, > > Arjen Markus ha scritto: >> 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. > > Apart from being a warning, this will probably not work because a > literal 0 means passing a pointer to a zero value, not a NULL pointer, > so the C will see it as a valid pointer and try to call it with > unpredictable results. I think there is no clean, portable way to pass a > null pointer in f77; the only solution in my view here -ugly, I agree- > if f77 support has to be maintained, is to change the API for fortran > and do some kind of plslabeldisablefunc() or something like that. > In f90 it can be done cleanly by defining an interface to 2 subroutines, > one receiving a procedure and one receiving an integer, the second can > then call a C wrapper passing the null pointer, something similar is > done in f90gl for glutNullFunc (see: http://math.nist.gov/f90gl/ ) > Hope this helps, Davide > Actually, that is a very good point! The current Fortran 95 bindings do not take care of this properly either. I will implement your suggestion. For the F77 bindings we can not do anything like that, except to check whether the _literal_ value at the address is zero (though it may not be legal to take the _value_ of an address that is actually a function pointer ...) Regards, Arjen |
From: Andrew R. <and...@us...> - 2009-11-12 09:50:51
|
A further warning which I think results from your recent changes (this is with gfortran 4.4.1) [100%] Building C object bindings/f77/CMakeFiles/plplotf77cd.dir/scstubs.c.o /home/andrew/software/plplot/plplot/bindings/f77/scstubs.c: In function plslabelfunc_: /home/andrew/software/plplot/plplot/bindings/f77/scstubs.c:850: warning: assignm ent from incompatible pointer type Cheers Andrew On Wed, Nov 11, 2009 at 01:30:47PM -0500, Hazen Babcock wrote: > > Hi Arjen, > > Thanks for working on this. Unfortunately I'm still getting the error > about the floor function. I thought perhaps I needed to add something > like "external floor" in the normalize_longitude function but that only > gave me a different error. "times = call floor (..)" also does not seem > to work. Adding a "return" statement to the floor procedure similarly > failed. I assume that is must somehow be possible to call functions in > fortran but I'm quite puzzled about how one actually goes about it. > > I also get what appears to be a warning about the call to > plslabelfunc(). "Argument #1 of 'plslabelfunc' is passed by reference at > (2) but is a procedure at (1)". > > thanks, > -Hazen > > Arjen Markus wrote: > > Hi Hazen, > > > > just now I started to include the changes for x19f.f, when I realised > > that the label argument poses a bit of a problem: Fortran expects a > > hidden argument to hold the actual string length. For the other > > interfaces we can circumvent that issue and in the F95 interface > > this is solved by using "length" explicitly. > > > > Well, the changes should work, unfortunately I do not have access > > right now to a proper build environment to really test it. Please > > let me know if there is any trouble. > > > > Regards, > > > > Arjen > > > > On 2009-11-07 23:05, Hazen Babcock wrote: > >> > >> Hi Arjen, > >> > >> Since I just ran into exactly this problem myself (with mingw on > >> windows)... Should we fix example x19f.f to work with f77? It is in > >> the f77 examples folder so I think it is reasonable for the user to > >> assume that it should be possible to compile this example with a f77 > >> compiler. > >> > >> best, > >> -Hazen > >> > >> Arjen Markus wrote: > >>> Hi Werner, > >>> > >>> the floor function does not exist in FORTRAN 77, so you need > >>> to implement it, for instance: > >>> > >>> *234567 > >>> REAL FUNCTION FLOOR(X) > >>> REAL X > >>> FLOOR = FLOAT(INT(X)) > >>> RETURN > >>> END > >>> > >>> The declaration "character*(length) label" is a Fortran 90 > >>> facility. Use: > >>> > >>> character*(*) label > >>> > >>> This should actually be handled by the C interface (the > >>> string length is passed as a hidden argument ...) I do not > >>> have time the coming days to look into it closely, but I > >>> will try. > >>> > >>> You can not pass a null pointer (0) in FORTRAN 77. To turn the > >>> labeller off, I am afraid you will have to use either a separate > >>> routine (call plslabelfuncoff) or use a dummy routine. > >>> > >>> Regards, > >>> > >>> Arjen > >>> > >>> On 2009-09-15 13:47, Werner Smekal wrote: > >>>> Hi, > >>>> > >>>> when I compile the latest revision of PLplot with MinGW 3.4.5 > >>>> including the g77 compiler I get the following compiler error: > >>>> > >>>> Scanning dependencies of target x19f > >>>> [ 88%] Building Fortran object examples/f77/CMakeFiles/x19f.dir/ > >>>> x19f.f.obj > >>>> E:\plbuild\examples\f77\x19f.f: In function `normalize_longitude': > >>>> E:\plbuild\examples\f77\x19f.f:80: warning: > >>>> times = floor ((abs(lon) + 180.0d0) / 360.0d0) > >>>> ^ > >>>> Reference to unimplemented intrinsic `FLOOR' at (^) (assumed EXTERNAL) > >>>> E:\plbuild\examples\f77\x19f.f:80: > >>>> times = floor ((abs(lon) + 180.0d0) / 360.0d0) > >>>> ^ > >>>> Invalid declaration of or reference to symbol `floor' at (^) > >>>> [initially seen at (^)] > >>>> E:\plbuild\examples\f77\x19f.f: In subroutine `geolocation_labeler': > >>>> E:\plbuild\examples\f77\x19f.f:91: > >>>> subroutine geolocation_labeler(axis, value, label, length) > >>>> 1 > >>>> E:\plbuild\examples\f77\x19f.f:95: (continued): > >>>> character*(length) label > >>>> 2 > >>>> Invalid declaration of or reference to symbol `length' at (2) > >>>> [initially seen at (1)] > >>>> E:\plbuild\examples\f77\x19f.f: In program `x19f': > >>>> E:\plbuild\examples\f77\x19f.f:161: warning: > >>>> call plslabelfunc(geolocation_labeler) > >>>> 1 > >>>> E:\plbuild\examples\f77\x19f.f:177: (continued): > >>>> call plslabelfunc(0) > >>>> 2 > >>>> Argument #1 of `plslabelfunc' is passed by reference at (2) but is > >>>> a procedure at (1) [info -f g77 M GLOBALS] > >>>> mingw32-make[2]: *** [examples/f77/CMakeFiles/x19f.dir/x19f.f.obj] > >>>> Error 1 > >>>> mingw32-make[1]: *** [examples/f77/CMakeFiles/x19f.dir/all] Error 2 > >>>> mingw32-make: *** [all] Error 2 > >>>> > >>>> Maybe someone who is more knowledgeable about Fortran can help me > >>>> out make this example work. > >>>> > >>>> Thanks, > >>>> Werner > >>>> > >>>> -- > >>>> Dr. Werner Smekal > >>>> Institut fuer Allgemeine Physik > >>>> Technische Universitaet Wien > >>>> Wiedner Hauptstr 8-10 > >>>> A-1040 Wien > >>>> Austria > >>>> DVR-Nr: 0005886 > >>>> > >>>> email: sm...@ia... > >>>> web: http://www.iap.tuwien.ac.at/~smekal > >>>> phone: +43-(0)1-58801-13463 (office) > >>>> +43-(0)1-58801-13469 (laboratory) > >>>> fax: +43-(0)1-58801-13499 > >>>> > >>>> > >>>> ------------------------------------------------------------------------------ > >>>> > >>>> Come build with us! The BlackBerry® Developer Conference in SF, CA > >>>> is the only developer event you need to attend this year. Jumpstart > >>>> your > >>>> developing skills, take BlackBerry mobile applications to market and > >>>> stay ahead of the curve. Join us from November 9-12, 2009. > >>>> Register now! > >>>> http://p.sf.net/sfu/devconf > >>>> _______________________________________________ > >>>> Plplot-devel mailing list > >>>> Plp...@li... > >>>> https://lists.sourceforge.net/lists/listinfo/plplot-devel > >>>> > >>> > >>> ------------------------------------------------------------------------------ > >>> > >>> Come build with us! The BlackBerry® Developer Conference in SF, CA > >>> is the only developer event you need to attend this year. Jumpstart your > >>> developing skills, take BlackBerry mobile applications to market and > >>> stay ahead of the curve. Join us from November 9-12, 2009. > >>> Register now! > >>> http://p.sf.net/sfu/devconf > >>> _______________________________________________ > >>> Plplot-devel mailing list > >>> Plp...@li... > >>> https://lists.sourceforge.net/lists/listinfo/plplot-devel > >>> > >> > >> > > > > > ------------------------------------------------------------------------------ > Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day > trial. Simplify your report design, integration and deployment - and focus on > what you do best, core application coding. Discover what's new with > Crystal Reports now. http://p.sf.net/sfu/bobj-july > _______________________________________________ > Plplot-devel mailing list > Plp...@li... > https://lists.sourceforge.net/lists/listinfo/plplot-devel > |
From: Hazen B. <hba...@ma...> - 2009-11-19 22:06:19
|
Arjen Markus wrote: > Hi Davide, Hazen, > > I have just repaired it. FYI: The wrapper C function has to be > duplicated - the second version has an underscore appended. > This way the linker can choose between func_with_underscore_() and > func_with_underscore__(). The solution is not particularly > elegant, but it works. Works for me. Thank you Arjen! Just one last thing. I'm getting a few warning messages from example 29: [ 75%] Building Fortran object examples/f77/CMakeFiles/x29f.dir/x29f.f.obj C:\users\hazen\plplot_build\examples\f77\x29f.f: In subroutine `plot4': C:\users\hazen\plplot_build\examples\f77\x29f.f:277: warning: call plctime(1950,0,2,0,0,0.,xmin) 1 C:\users\hazen\plplot_build\examples\f77\x29f.f:288: (continued): call plctime(1961,7,1,0,0,1.64757d0-.20d0, xmin) 2 Argument #6 of `plctime' is one precision at (2) but is some other precision at (1) [info -f g77 M GLOBALS] C:\users\hazen\plplot_build\examples\f77\x29f.f:277: warning: call plctime(1950,0,2,0,0,0.,xmin) 1 C:\users\hazen\plplot_build\examples\f77\x29f.f:289: (continued): call plctime(1961,7,1,0,0,1.64757d0+.20d0, xmax) 2 Argument #6 of `plctime' is one precision at (2) but is some other precision at (1) [info -f g77 M GLOBALS] C:\users\hazen\plplot_build\examples\f77\x29f.f:277: warning: call plctime(1950,0,2,0,0,0.,xmin) 1 C:\users\hazen\plplot_build\examples\f77\x29f.f:304: (continued): call plctime(1963,10,1,0,0,2.6972788d0-.20d0, xmin) 2 Argument #6 of `plctime' is one precision at (2) but is some other precision at (1) [info -f g77 M GLOBALS] C:\users\hazen\plplot_build\examples\f77\x29f.f:277: warning: call plctime(1950,0,2,0,0,0.,xmin) 1 C:\users\hazen\plplot_build\examples\f77\x29f.f:305: (continued): call plctime(1963,10,1,0,0,2.6972788d0+.20d0, xmax) 2 Argument #6 of `plctime' is one precision at (2) but is some other precision at (1) [info -f g77 M GLOBALS] C:\users\hazen\plplot_build\examples\f77\x29f.f:277: warning: call plctime(1950,0,2,0,0,0.,xmin) 1 C:\users\hazen\plplot_build\examples\f77\x29f.f:320: (continued): call plctime(2009,0,1,0,0,34.d0-5.d0,xmin) 2 Argument #6 of `plctime' is one precision at (2) but is some other precision at (1) [info -f g77 M GLOBALS] C:\users\hazen\plplot_build\examples\f77\x29f.f:277: warning: call plctime(1950,0,2,0,0,0.,xmin) 1 C:\users\hazen\plplot_build\examples\f77\x29f.f:321: (continued): call plctime(2009,0,1,0,0,34.d0+5.d0,xmax) 2 Argument #6 of `plctime' is one precision at (2) but is some other precision at (1) [info -f g77 M GLOBALS] C:\users\hazen\plplot_build\examples\f77\x29f.f:277: warning: call plctime(1950,0,2,0,0,0.,xmin) 1 C:\users\hazen\plplot_build\examples\f77\x29f.f:350: (continued): call plctime(utc_year, utc_month, utc_day, utc_hour, 2 Argument #6 of `plctime' is one precision at (2) but is some other precision at (1) [info -f g77 M GLOBALS] Linking Fortran executable x29f.exe -Hazen |
From: Alan W. I. <ir...@be...> - 2009-11-19 23:21:59
|
On 2009-11-19 17:05-0500 Hazen Babcock wrote: > Just one last thing. I'm getting a few warning messages from example 29: > [ 75%] Building Fortran object examples/f77/CMakeFiles/x29f.dir/x29f.f.obj > C:\users\hazen\plplot_build\examples\f77\x29f.f: In subroutine `plot4': > C:\users\hazen\plplot_build\examples\f77\x29f.f:277: warning: > call plctime(1950,0,2,0,0,0.,xmin) > 1 > C:\users\hazen\plplot_build\examples\f77\x29f.f:288: (continued): > call plctime(1961,7,1,0,0,1.64757d0-.20d0, xmin) > 2 > Argument #6 of `plctime' is one precision at (2) but is some other > precision at (1) [info -f g77 M GLOBALS] Please let me know if revision 10616 gets rid of all these type of warning messages. Alan __________________________ Alan W. Irwin Astronomical research affiliation with Department of Physics and Astronomy, University of Victoria (astrowww.phys.uvic.ca). Programming affiliations with the FreeEOS equation-of-state implementation for stellar interiors (freeeos.sf.net); PLplot scientific plotting software package (plplot.org); the libLASi project (unifont.org/lasi); the Loads of Linux Links project (loll.sf.net); and the Linux Brochure Project (lbproject.sf.net). __________________________ Linux-powered Science __________________________ |