-
Notifications
You must be signed in to change notification settings - Fork 22
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
While compiling pyferret error #125
Comments
Hi Raju,
There will be several Warning messages if you look through all of the
compiler outputs. These point out older constructs in the Fortran code,
some of which is quite old. I believe that these warnings such as the
one about a DO loop can safely be ignored.
What operating system and compiler are you using? I use gfortran/ gcc
version 9.4.0 under Ubuntu and I do not see the error you are seeing.
I do not know what this error message means, but the flag that is
mentioned, -fno-allow-invalid-boz is not listed in the suggested flags
in the platform_specific_flags files in the source code for PyFerret. I
see "-fallow-invalid-boz" in the flags file
platform_specific.mk.intel-mac. You might try adding that flag to the
lists given by FFLAGS and PPLUS_FFLAGS in your platform_specific file.
…On 9/21/2022 2:28 AM, DevenderRaju wrote:
Hello,
Can anybody help me with the below error.
Warning: Fortran 2018 deleted feature: DO termination statement which
is not END DO or CONTINUE with label 21 at (1)
/usr/bin/gfortran -m64 -fPIC -fno-automatic -fno-second-underscore
-fdollar-ok -ffixed-line-length-132 -fno-backslash
-Dcrptd_cat_argument -Ddouble_p -Dgfortran -Dreclen_in_bytes -Dunix
-Dxgks -DG77 -DG77_SIGNAL -DINTERNAL_READ_FORMAT_BUG
-DMANDATORY_FORMAT_WIDTHS -DNEED_IAND -DNO_DOUBLE_ESCAPE_SLASH
-DNO_OPEN_CARRIAGECONTROL -DNO_OPEN_READONLY -DNO_OPEN_RECORDTYPE
-DNO_OPEN_SHARED -DNO_PASSED_CONCAT -DNO_PREPEND_STRING
-DSTAR_1_SUPPORTED -I/usr/include/python3.9
-I/root/PyFerret/fer/common -I/root/PyFerret/fer/grdel
-I/root/PyFerret/fer/cferbind -I/root/PyFerret/fer/ccr
-I/root/PyFerret/fmt/cmn -I/root/PyFerret/ppl/include
-I/root/PyFerret/ppl/tmap_inc -I/root/PyFerret/pyfermod
-I/root/PyFerret/external_functions/ef_utility -I/usr/lib64/../include
-I/usr/lib64/../include -I/usr/lib64/../include
-I/usr/lib64/../include/cairo -I/usr/lib64/../include
-I/usr/lib64/../include/pango-1.0 -I/usr/lib64/../include/glib-2.0
-I/usr/lib64/glib-2.0/include -O0 -c strmar.F -o strmar.o
/usr/bin/gfortran -m64 -fPIC -fno-automatic -fno-second-underscore
-fdollar-ok -ffixed-line-length-132 -fno-backslash
-Dcrptd_cat_argument -Ddouble_p -Dgfortran -Dreclen_in_bytes -Dunix
-Dxgks -DG77 -DG77_SIGNAL -DINTERNAL_READ_FORMAT_BUG
-DMANDATORY_FORMAT_WIDTHS -DNEED_IAND -DNO_DOUBLE_ESCAPE_SLASH
-DNO_OPEN_CARRIAGECONTROL -DNO_OPEN_READONLY -DNO_OPEN_RECORDTYPE
-DNO_OPEN_SHARED -DNO_PASSED_CONCAT -DNO_PREPEND_STRING
-DSTAR_1_SUPPORTED -I/usr/include/python3.9
-I/root/PyFerret/fer/common -I/root/PyFerret/fer/grdel
-I/root/PyFerret/fer/cferbind -I/root/PyFerret/fer/ccr
-I/root/PyFerret/fmt/cmn -I/root/PyFerret/ppl/include
-I/root/PyFerret/ppl/tmap_inc -I/root/PyFerret/pyfermod
-I/root/PyFerret/external_functions/ef_utility -I/usr/lib64/../include
-I/usr/lib64/../include -I/usr/lib64/../include
-I/usr/lib64/../include/cairo -I/usr/lib64/../include
-I/usr/lib64/../include/pango-1.0 -I/usr/lib64/../include/glib-2.0
-I/usr/lib64/glib-2.0/include -O0 -c upnsquish.F -o upnsquish.o
upnsquish.F:73:23:
73 | x char(iand('DF'x,ichar(instr(i:i))))
| 1
Error: BOZ constant at (1) uses nonstandard postfix syntax [see
‘-fno-allow-invalid-boz’]
make[4]: *** [Makefile:25: upnsquish.o] Error 1
regards,
Raju
—
Reply to this email directly, view it on GitHub
<#125>, or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AOZLFOOV6RMBKIHQBNQDY4DV7LIMNANCNFSM6AAAAAAQR35PQE>.
You are receiving this because you are subscribed to this
thread.Message ID: ***@***.***>
|
Dear Support,
I am using CentOS 9 with gfortran/ gcc 11 version.
Regards,
Raju
Get Outlook for Android<https://aka.ms/AAb9ysg>
________________________________
From: ACManke ***@***.***>
Sent: Thursday, September 22, 2022 6:57:26 AM
To: NOAA-PMEL/PyFerret ***@***.***>
Cc: Raju Devender ***@***.***>; Author ***@***.***>
Subject: Re: [NOAA-PMEL/PyFerret] While compiling pyferret error (Issue #125)
Hi Raju,
There will be several Warning messages if you look through all of the
compiler outputs. These point out older constructs in the Fortran code,
some of which is quite old. I believe that these warnings such as the
one about a DO loop can safely be ignored.
What operating system and compiler are you using? I use gfortran/ gcc
version 9.4.0 under Ubuntu and I do not see the error you are seeing.
I do not know what this error message means, but the flag that is
mentioned, -fno-allow-invalid-boz is not listed in the suggested flags
in the platform_specific_flags files in the source code for PyFerret. I
see "-fallow-invalid-boz" in the flags file
platform_specific.mk.intel-mac. You might try adding that flag to the
lists given by FFLAGS and PPLUS_FFLAGS in your platform_specific file.
On 9/21/2022 2:28 AM, DevenderRaju wrote:
Hello,
Can anybody help me with the below error.
Warning: Fortran 2018 deleted feature: DO termination statement which
is not END DO or CONTINUE with label 21 at (1)
/usr/bin/gfortran -m64 -fPIC -fno-automatic -fno-second-underscore
-fdollar-ok -ffixed-line-length-132 -fno-backslash
-Dcrptd_cat_argument -Ddouble_p -Dgfortran -Dreclen_in_bytes -Dunix
-Dxgks -DG77 -DG77_SIGNAL -DINTERNAL_READ_FORMAT_BUG
-DMANDATORY_FORMAT_WIDTHS -DNEED_IAND -DNO_DOUBLE_ESCAPE_SLASH
-DNO_OPEN_CARRIAGECONTROL -DNO_OPEN_READONLY -DNO_OPEN_RECORDTYPE
-DNO_OPEN_SHARED -DNO_PASSED_CONCAT -DNO_PREPEND_STRING
-DSTAR_1_SUPPORTED -I/usr/include/python3.9
-I/root/PyFerret/fer/common -I/root/PyFerret/fer/grdel
-I/root/PyFerret/fer/cferbind -I/root/PyFerret/fer/ccr
-I/root/PyFerret/fmt/cmn -I/root/PyFerret/ppl/include
-I/root/PyFerret/ppl/tmap_inc -I/root/PyFerret/pyfermod
-I/root/PyFerret/external_functions/ef_utility -I/usr/lib64/../include
-I/usr/lib64/../include -I/usr/lib64/../include
-I/usr/lib64/../include/cairo -I/usr/lib64/../include
-I/usr/lib64/../include/pango-1.0 -I/usr/lib64/../include/glib-2.0
-I/usr/lib64/glib-2.0/include -O0 -c strmar.F -o strmar.o
/usr/bin/gfortran -m64 -fPIC -fno-automatic -fno-second-underscore
-fdollar-ok -ffixed-line-length-132 -fno-backslash
-Dcrptd_cat_argument -Ddouble_p -Dgfortran -Dreclen_in_bytes -Dunix
-Dxgks -DG77 -DG77_SIGNAL -DINTERNAL_READ_FORMAT_BUG
-DMANDATORY_FORMAT_WIDTHS -DNEED_IAND -DNO_DOUBLE_ESCAPE_SLASH
-DNO_OPEN_CARRIAGECONTROL -DNO_OPEN_READONLY -DNO_OPEN_RECORDTYPE
-DNO_OPEN_SHARED -DNO_PASSED_CONCAT -DNO_PREPEND_STRING
-DSTAR_1_SUPPORTED -I/usr/include/python3.9
-I/root/PyFerret/fer/common -I/root/PyFerret/fer/grdel
-I/root/PyFerret/fer/cferbind -I/root/PyFerret/fer/ccr
-I/root/PyFerret/fmt/cmn -I/root/PyFerret/ppl/include
-I/root/PyFerret/ppl/tmap_inc -I/root/PyFerret/pyfermod
-I/root/PyFerret/external_functions/ef_utility -I/usr/lib64/../include
-I/usr/lib64/../include -I/usr/lib64/../include
-I/usr/lib64/../include/cairo -I/usr/lib64/../include
-I/usr/lib64/../include/pango-1.0 -I/usr/lib64/../include/glib-2.0
-I/usr/lib64/glib-2.0/include -O0 -c upnsquish.F -o upnsquish.o
upnsquish.F:73:23:
73 | x char(iand('DF'x,ichar(instr(i:i))))
| 1
Error: BOZ constant at (1) uses nonstandard postfix syntax [see
‘-fno-allow-invalid-boz’]
make[4]: *** [Makefile:25: upnsquish.o] Error 1
regards,
Raju
—
Reply to this email directly, view it on GitHub
<#125>, or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AOZLFOOV6RMBKIHQBNQDY4DV7LIMNANCNFSM6AAAAAAQR35PQE>.
You are receiving this because you are subscribed to this
thread.Message ID: ***@***.***>
—
Reply to this email directly, view it on GitHub<#125 (comment)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/AXQ4AIBMGCMUAHOWWZAFXDLV7OYX5ANCNFSM6AAAAAAQR35PQE>.
You are receiving this because you authored the thread.Message ID: ***@***.***>
|
The code in the routine "ppl/tmapadds/upnsquish.F" uses out-of-date function calls for changing a string to upper-case form. I have not run into build errors with this, but elsewhere in the Ferret/PyFerret code, such functionality is done with calls to the C routine str_upcase.c. I would suggest an experiment: Replace the code in your local copy with the contents of the file I will attach here: |
Hello ACManke, I will make try after replacing the F file and let you know the status. regards, |
Dear ACManke, The earlier error gone but new error came up with the below. Can you help me. /usr/bin/gfortran -m64 -fPIC -fno-automatic -fno-second-underscore -fdollar-ok -ffixed-line-length-132 -fno-backslash -Dcrptd_cat_argument -Ddouble_p -Dgfortran -Dreclen_in_bytes -Dunix -Dxgks -DG77 -DG77_SIGNAL -DINTERNAL_READ_FORMAT_BUG -DMANDATORY_FORMAT_WIDTHS -DNEED_IAND -DNO_DOUBLE_ESCAPE_SLASH -DNO_OPEN_CARRIAGECONTROL -DNO_OPEN_READONLY -DNO_OPEN_RECORDTYPE -DNO_OPEN_SHARED -DNO_PASSED_CONCAT -DNO_PREPEND_STRING -DSTAR_1_SUPPORTED -I/usr/include/python3.9 -I/root/git/PyFerret/fer/common -I/root/git/PyFerret/fer/grdel -I/root/git/PyFerret/fer/cferbind -I/root/git/PyFerret/fer/ccr -I/root/git/PyFerret/fmt/cmn -I/root/git/PyFerret/ppl/include -I/root/git/PyFerret/ppl/tmap_inc -I/root/git/PyFerret/pyfermod -I/root/git/PyFerret/external_functions/ef_utility -I/usr/lib64/../include -I/usr/lib64/../include -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -O0 -c alphas.F -o alphas.o 84 | CALL CHOUT(US,1) regards, |
Hello, I suggest that you add the flag -std=legacy. This will be placed in the platform_specific_flags file, and is needed only in the PPLUS_FLAGS section:
|
Adding some general information to this ticket. The -std option is documented here: https://gcc.gnu.org/onlinedocs/gfortran/Fortran-Dialect-Options.html and a short discussion of -std=legacy is here: https://www.scivision.dev/gcc-gfortran-std-legacy/ The Gfortran flag -std=legacy disables warning for very out-of-date non-standard Fortran syntax that should not be used anymore. However, where you are using a legacy package where the code isn’t being changed, using -std=legacy can be necessary, particularly for Gfortran ≥ 8. -std=legacy should not be used when developing code, but for code that is never changed, or for building but not developing PyFerret, this is fine. |
Dear ACManke, The previous error gone after -std=legacy in Flags. After that two more error came that i have solved, but one error below i couldn't solve. Please help me. /usr/bin/gfortran -m64 -fPIC -std=legacy -fallow-invalid-boz -fno-automatic -fno-second-underscore -fdollar-ok -ffixed-line-length-132 -fallow-argument-mismatch -ffpe-trap=overflow -fno-backslash -fimplicit-none -fdefault-real-8 -fdefault-double-8 -Dcrptd_cat_argument -Ddouble_p -Dgfortran -Dreclen_in_bytes -Dunix -Dxgks -DG77 -DG77_SIGNAL -DINTERNAL_READ_FORMAT_BUG -DMANDATORY_FORMAT_WIDTHS -DNEED_IAND -DNO_DOUBLE_ESCAPE_SLASH -DNO_OPEN_CARRIAGECONTROL -DNO_OPEN_READONLY -DNO_OPEN_RECORDTYPE -DNO_OPEN_SHARED -DNO_PASSED_CONCAT -DNO_PREPEND_STRING -DSTAR_1_SUPPORTED -I/usr/include/python3.9 -I/root/git/PyFerret/fer/common -I/root/git/PyFerret/fer/grdel -I/root/git/PyFerret/fer/cferbind -I/root/git/PyFerret/fer/ccr -I/root/git/PyFerret/fmt/cmn -I/root/git/PyFerret/ppl/include -I/root/git/PyFerret/ppl/tmap_inc -I/root/git/PyFerret/pyfermod -I/root/git/PyFerret/external_functions/ef_utility -I/usr/lib64/../include -I/usr/lib64/../include -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -O -DNDEBUG -c do_internal_gc_fcn.F -o do_internal_gc_fcn.o 1157 | . buff(:TM_LENSTR1(buff)), *5000 ) regards, |
Hi, At the end of the file fer/doo/do_internal_gc_fcn.F there is a call to an error routine. The last few lines of this file should be as follows:
In the code base, there is currently a comma at the end of the line that ends with indexing, but that line should end with the characters // If you change your copy of this routine I believe we will get beyond this error. |
Hi ACManke, The above error has gone after replacing the text in the F file. Now there is an error regarding the python. Below the is the error. Is Pyferret support for Version 3.9. CCompilerOpt.generate_dispatch_header[2245] : dispatch header dir build/src.linux-x86_64-3.9/numpy/distutils/include does not exist, creating it Regards, |
Hi Raju, What I do under Ubuntu is to install PyFerret using the miniconda installation method. Then in my build of PyFerret from source, I use the Python and other libraries from the miniconda directory. I directed the miniconda installation to use python3.9:
Once the installation is complete, I set my site_specific.mk file so that all of the LIBDIR statements point to the library location under the miniconda installation. Here is part of my site_specific.mk file:
Before building PyFerret I enable the miniconda environment so that python from that environment is used in the build:
|
Dear ACManke,
I have installed the PyFerret for the python 3.9 by using the following below steps and got success and running smoothly without the conda nor to make a build. And i thank you for your support.
1. Installing PyFerret dependencies installation (For python 3.9) centos 9
* yum install pip epel-release python3-qt5-base python3-qt5 netcdf-fortran netcdf-fortran-devel netcdf-devel netcdf
* pip install --upgrade pip
* pip install numpy pyshp scipy pyside2
2. Installing PyFerret
* Get PyFerret file from (https://anaconda.org/conda-forge/pyferret/7.6.5/download/linux-64/pyferret-7.6.5-py39hbde9d65_1.tar.bz2).
* Get Ferret Datasets file from (https://anaconda.org/conda-forge/ferret_datasets/7.6/download/linux-64/ferret_datasets-7.6-0.tar.bz2)
* Make a directory in /usr/local/ferret
* Move downloaded files into the folder /usr/local/ferret and extract it using command tar -xf filename.
* Go to the folder bin and run ./Finstall (Give Proper paths of the folder).
Mainly my purpose of the installing the PyFerret is for LAS 9 on CentOS 9. Here we are running las 8 now we want to upgrade to the las 9.
Regards,
Raju Devender
From: ACManke ***@***.***>
Sent: 15 October 2022 04:57
To: NOAA-PMEL/PyFerret ***@***.***>
Cc: Raju Devender ***@***.***>; Author ***@***.***>
Subject: Re: [NOAA-PMEL/PyFerret] While compiling pyferret error (Issue #125)
Hi Raju,
I am knowledgeable only about the Fortran and C in PyFerret, and about the Ferret command language. This error on the "build" step is not something I know about.
What I do under Ubuntu is to install PyFerret using the miniconda installation method. Then in my build of PyFerret from source, I use the Python and other libraries from the miniconda directory. I directed the miniconda installation to use python3.9:
conda create -n FERRET python=3.9 -c conda-forge pyferret ferret_datasets --yes
Once the installation is complete, I set my site_specific.mk file so that all of the LIBDIR statements point to the library location under the miniconda installation. Here is part of my site_specific.mk file:
...
## =========================
## Directory containing the Cairo static libraries (v1.12 or later).
## Include files are assumed to be located in an "include" sibling directory.
## If given and not empty, the Cairo static libraries found under this directory will be used.
## If empty or not given, the system's Cairo shared libraries will be used.
## =========================
CAIRO_LIBDIR = /home/acm/miniconda3/envs/FERRET/lib
## =========================
## Directory containing the Pixman static libraries used by the above Cairo static libraries.
## Include files are assumed to be located in an "include" sibling directory.
## If given and not empty, the Pixman-1 static libraries found in this directory will be used.
## If empty or not given, the system's Pixman-1 shared library will be used.
## This value should be empty or not given if CAIRO_LIBDIR is empty or not given.
## =========================
PIXMAN_LIBDIR = /home/acm/miniconda3/envs/FERRET/lib
...
## =========================
## Location of the NetCDF libraries.
## Include files are assumed to be located in an "include" sibling directory.
## If HDF5_LIBDIR is given and not empty, the static libraries will be used
## (along with the HDF5 static libraries).
## If HDF5_LIBDIR is empty or not given, NetCDF shared libraries will be used.
## =========================
NETCDF_LIBDIR = /home/acm/miniconda3/envs/FERRET/lib
Before building PyFerret I enable the miniconda environment so that python from that environment is used in the build:
conda activate FERRET
make
make install
—
Reply to this email directly, view it on GitHub<#125 (comment)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/AXQ4AID5R7NHZMJNXZBTUA3WDHT4ZANCNFSM6AAAAAAQR35PQE>.
You are receiving this because you authored the thread.Message ID: ***@***.***>
|
Hello,
Can anybody help me with the below error.
Warning: Fortran 2018 deleted feature: DO termination statement which is not END DO or CONTINUE with label 21 at (1)
/usr/bin/gfortran -m64 -fPIC -fno-automatic -fno-second-underscore -fdollar-ok -ffixed-line-length-132 -fno-backslash -Dcrptd_cat_argument -Ddouble_p -Dgfortran -Dreclen_in_bytes -Dunix -Dxgks -DG77 -DG77_SIGNAL -DINTERNAL_READ_FORMAT_BUG -DMANDATORY_FORMAT_WIDTHS -DNEED_IAND -DNO_DOUBLE_ESCAPE_SLASH -DNO_OPEN_CARRIAGECONTROL -DNO_OPEN_READONLY -DNO_OPEN_RECORDTYPE -DNO_OPEN_SHARED -DNO_PASSED_CONCAT -DNO_PREPEND_STRING -DSTAR_1_SUPPORTED -I/usr/include/python3.9 -I/root/PyFerret/fer/common -I/root/PyFerret/fer/grdel -I/root/PyFerret/fer/cferbind -I/root/PyFerret/fer/ccr -I/root/PyFerret/fmt/cmn -I/root/PyFerret/ppl/include -I/root/PyFerret/ppl/tmap_inc -I/root/PyFerret/pyfermod -I/root/PyFerret/external_functions/ef_utility -I/usr/lib64/../include -I/usr/lib64/../include -I/usr/lib64/../include -I/usr/lib64/../include/cairo -I/usr/lib64/../include -I/usr/lib64/../include/pango-1.0 -I/usr/lib64/../include/glib-2.0 -I/usr/lib64/glib-2.0/include -O0 -c strmar.F -o strmar.o
/usr/bin/gfortran -m64 -fPIC -fno-automatic -fno-second-underscore -fdollar-ok -ffixed-line-length-132 -fno-backslash -Dcrptd_cat_argument -Ddouble_p -Dgfortran -Dreclen_in_bytes -Dunix -Dxgks -DG77 -DG77_SIGNAL -DINTERNAL_READ_FORMAT_BUG -DMANDATORY_FORMAT_WIDTHS -DNEED_IAND -DNO_DOUBLE_ESCAPE_SLASH -DNO_OPEN_CARRIAGECONTROL -DNO_OPEN_READONLY -DNO_OPEN_RECORDTYPE -DNO_OPEN_SHARED -DNO_PASSED_CONCAT -DNO_PREPEND_STRING -DSTAR_1_SUPPORTED -I/usr/include/python3.9 -I/root/PyFerret/fer/common -I/root/PyFerret/fer/grdel -I/root/PyFerret/fer/cferbind -I/root/PyFerret/fer/ccr -I/root/PyFerret/fmt/cmn -I/root/PyFerret/ppl/include -I/root/PyFerret/ppl/tmap_inc -I/root/PyFerret/pyfermod -I/root/PyFerret/external_functions/ef_utility -I/usr/lib64/../include -I/usr/lib64/../include -I/usr/lib64/../include -I/usr/lib64/../include/cairo -I/usr/lib64/../include -I/usr/lib64/../include/pango-1.0 -I/usr/lib64/../include/glib-2.0 -I/usr/lib64/glib-2.0/include -O0 -c upnsquish.F -o upnsquish.o
upnsquish.F:73:23:
73 | x char(iand('DF'x,ichar(instr(i:i))))
| 1
Error: BOZ constant at (1) uses nonstandard postfix syntax [see ‘-fno-allow-invalid-boz’]
make[4]: *** [Makefile:25: upnsquish.o] Error 1
regards,
Raju
The text was updated successfully, but these errors were encountered: