Skip to content

Compilation fails on myradex part #45

@aqingo3o

Description

@aqingo3o

Hiii,
After I install specutils and astroquery, I try to install pyradex on macOS and here is environment info:

$ python -c "import sys, astropy, numpy; print(sys.version); print(numpy.__version__,astropy.__version__)"
3.10.18 (main, Jun  5 2025, 08:13:51) [Clang 14.0.6 ]
1.26.2 6.1.2
$ gfortran --version
GNU Fortran (Homebrew GCC 15.2.0) 15.2.0
Copyright (C) 2025 Free Software Foundation, Inc.
  • OS: macOS Sequoia 15.6.1
  • arch: x86-64 (by Rosetta2)
  • gfortran version: GNU Fortran (Homebrew GCC 15.2.0)
  • Python: 3.10 (conda venv)
  • numpy: 1.26.2
  • astropy: 6.1.2

I run the installation command and successfully got share object for RADEX (radex.so).
(so I remove the install_radex in the command.)

$ python3 setup.py install_myradex install

And the Fortran build step fails with a type mismatch error:

opkda1.f:1309:72:

 1309 |      2   IPFLAG, F, JAC)
      |                                                                        1
Error: Type mismatch in argument 'iwk' at (1); passed REAL(8) to INTEGER(4)
opkda1.f:9825:72:

 9825 |      5   ADDA)
      |                                                                        1
Error: Type mismatch in argument 'iwk' at (1); passed REAL(8) to INTEGER(4)

The full message appear in terminal belike:

Found shared object files=['radex.so'] for RADEX.  (if that is a blank, it means radex didn't install successfully)
Found shared object files=[] for RADEX.  (if that is a blank, it means fjdu's myradex didn't install successfully)
/Users/aqing/miniconda3_x86/envs/astro_py310/lib/python3.10/site-packages/setuptools/dist.py:530: UserWarning: Normalizing '0.4.2dev' to '0.4.2.dev0'
  warnings.warn(tmpl.format(**locals()))
running install_myradex
rm ./*.mod ./*.o
rm: ./*.mod: No such file or directory
rm: ./*.o: No such file or directory
make: *** [clean] Error 1
gfortran -O3 -fPIC -c sub_global_variables.f90
gfortran -O3 -fPIC -c sub_trivials.f90
gfortran -O3 -fPIC -c nleq1.f
gfortran -O3 -fPIC -c linalg_nleq1.f
gfortran -O3 -fPIC -c statistic_equilibrium.f90
gfortran -O3 -fPIC -c my_radex.f90
gfortran -O3 -fPIC -c opkda1.f
opkda1.f:2804:72:

 2804 |   6     j = j-1
      |                                                                        1
Warning: Fortran 2018 deleted feature: DO termination statement which is not END DO or CONTINUE with label 6 at (1)
opkda1.f:1311:72:

 1311 |      4   JAC)
      |                                                                        1
Error: Type mismatch in argument 'iwk' at (1); passed REAL(8) to INTEGER(4)
opkda1.f:9827:72:

 9827 |      5   ADDA)
      |                                                                        1
Error: Type mismatch in argument 'iwk' at (1); passed REAL(8) to INTEGER(4)
make: *** [opkda1.o] Error 1
make: `sub_trivials.o' is up to date.
rm ./*.mod ./*.o
running install
/Users/aqing/miniconda3_x86/envs/astro_py310/lib/python3.10/site-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.
  warnings.warn(
/Users/aqing/miniconda3_x86/envs/astro_py310/lib/python3.10/site-packages/setuptools/command/easy_install.py:144: EasyInstallDeprecationWarning: easy_install command is deprecated. Use build and pip and other standards-based tools.
  warnings.warn(
running bdist_egg
running egg_info
writing pyradex.egg-info/PKG-INFO
writing dependency_links to pyradex.egg-info/dependency_links.txt
writing requirements to pyradex.egg-info/requires.txt
writing top-level names to pyradex.egg-info/top_level.txt
reading manifest file 'pyradex.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
adding license file 'LICENSE.rst'
writing manifest file 'pyradex.egg-info/SOURCES.txt'
installing library code to build/bdist.macosx-10.15-x86_64/egg
running install_lib
running build_py
creating build/bdist.macosx-10.15-x86_64/egg
creating build/bdist.macosx-10.15-x86_64/egg/pyradex
creating build/bdist.macosx-10.15-x86_64/egg/pyradex/fjdu
copying build/lib/pyradex/fjdu/__init__.py -> build/bdist.macosx-10.15-x86_64/egg/pyradex/fjdu
copying build/lib/pyradex/fjdu/core.py -> build/bdist.macosx-10.15-x86_64/egg/pyradex/fjdu
copying build/lib/pyradex/version.py -> build/bdist.macosx-10.15-x86_64/egg/pyradex
creating build/bdist.macosx-10.15-x86_64/egg/pyradex/radex
copying build/lib/pyradex/radex/__init__.py -> build/bdist.macosx-10.15-x86_64/egg/pyradex/radex
copying build/lib/pyradex/radex/radex.so -> build/bdist.macosx-10.15-x86_64/egg/pyradex/radex
copying build/lib/pyradex/base_class.py -> build/bdist.macosx-10.15-x86_64/egg/pyradex
creating build/bdist.macosx-10.15-x86_64/egg/pyradex/tests
copying build/lib/pyradex/tests/test_fjdu.py -> build/bdist.macosx-10.15-x86_64/egg/pyradex/tests
copying build/lib/pyradex/tests/test_grid.py -> build/bdist.macosx-10.15-x86_64/egg/pyradex/tests
copying build/lib/pyradex/tests/__init__.py -> build/bdist.macosx-10.15-x86_64/egg/pyradex/tests
copying build/lib/pyradex/tests/test_synthspec.py -> build/bdist.macosx-10.15-x86_64/egg/pyradex/tests
copying build/lib/pyradex/tests/test_radex.py -> build/bdist.macosx-10.15-x86_64/egg/pyradex/tests
copying build/lib/pyradex/tests/test_radex_myradex_consistency.py -> build/bdist.macosx-10.15-x86_64/egg/pyradex/tests
copying build/lib/pyradex/tests/test_radex_install.py -> build/bdist.macosx-10.15-x86_64/egg/pyradex/tests
copying build/lib/pyradex/tests/setup_package_data.py -> build/bdist.macosx-10.15-x86_64/egg/pyradex/tests
creating build/bdist.macosx-10.15-x86_64/egg/pyradex/tests/data
copying build/lib/pyradex/tests/data/example.out -> build/bdist.macosx-10.15-x86_64/egg/pyradex/tests/data
copying build/lib/pyradex/__init__.py -> build/bdist.macosx-10.15-x86_64/egg/pyradex
copying build/lib/pyradex/core.py -> build/bdist.macosx-10.15-x86_64/egg/pyradex
copying build/lib/pyradex/read_radex.py -> build/bdist.macosx-10.15-x86_64/egg/pyradex
copying build/lib/pyradex/utils.py -> build/bdist.macosx-10.15-x86_64/egg/pyradex
copying build/lib/pyradex/grid_wrapper.py -> build/bdist.macosx-10.15-x86_64/egg/pyradex
copying build/lib/pyradex/despotic_interface.py -> build/bdist.macosx-10.15-x86_64/egg/pyradex
copying build/lib/pyradex/synthspec.py -> build/bdist.macosx-10.15-x86_64/egg/pyradex
byte-compiling build/bdist.macosx-10.15-x86_64/egg/pyradex/fjdu/__init__.py to __init__.cpython-310.pyc
byte-compiling build/bdist.macosx-10.15-x86_64/egg/pyradex/fjdu/core.py to core.cpython-310.pyc
byte-compiling build/bdist.macosx-10.15-x86_64/egg/pyradex/version.py to version.cpython-310.pyc
byte-compiling build/bdist.macosx-10.15-x86_64/egg/pyradex/radex/__init__.py to __init__.cpython-310.pyc
byte-compiling build/bdist.macosx-10.15-x86_64/egg/pyradex/base_class.py to base_class.cpython-310.pyc
byte-compiling build/bdist.macosx-10.15-x86_64/egg/pyradex/tests/test_fjdu.py to test_fjdu.cpython-310.pyc
byte-compiling build/bdist.macosx-10.15-x86_64/egg/pyradex/tests/test_grid.py to test_grid.cpython-310.pyc
byte-compiling build/bdist.macosx-10.15-x86_64/egg/pyradex/tests/__init__.py to __init__.cpython-310.pyc
byte-compiling build/bdist.macosx-10.15-x86_64/egg/pyradex/tests/test_synthspec.py to test_synthspec.cpython-310.pyc
byte-compiling build/bdist.macosx-10.15-x86_64/egg/pyradex/tests/test_radex.py to test_radex.cpython-310.pyc
byte-compiling build/bdist.macosx-10.15-x86_64/egg/pyradex/tests/test_radex_myradex_consistency.py to test_radex_myradex_consistency.cpython-310.pyc
byte-compiling build/bdist.macosx-10.15-x86_64/egg/pyradex/tests/test_radex_install.py to test_radex_install.cpython-310.pyc
byte-compiling build/bdist.macosx-10.15-x86_64/egg/pyradex/tests/setup_package_data.py to setup_package_data.cpython-310.pyc
byte-compiling build/bdist.macosx-10.15-x86_64/egg/pyradex/__init__.py to __init__.cpython-310.pyc
byte-compiling build/bdist.macosx-10.15-x86_64/egg/pyradex/core.py to core.cpython-310.pyc
byte-compiling build/bdist.macosx-10.15-x86_64/egg/pyradex/read_radex.py to read_radex.cpython-310.pyc
byte-compiling build/bdist.macosx-10.15-x86_64/egg/pyradex/utils.py to utils.cpython-310.pyc
byte-compiling build/bdist.macosx-10.15-x86_64/egg/pyradex/grid_wrapper.py to grid_wrapper.cpython-310.pyc
byte-compiling build/bdist.macosx-10.15-x86_64/egg/pyradex/despotic_interface.py to despotic_interface.cpython-310.pyc
byte-compiling build/bdist.macosx-10.15-x86_64/egg/pyradex/synthspec.py to synthspec.cpython-310.pyc
creating build/bdist.macosx-10.15-x86_64/egg/EGG-INFO
copying pyradex.egg-info/PKG-INFO -> build/bdist.macosx-10.15-x86_64/egg/EGG-INFO
copying pyradex.egg-info/SOURCES.txt -> build/bdist.macosx-10.15-x86_64/egg/EGG-INFO
copying pyradex.egg-info/dependency_links.txt -> build/bdist.macosx-10.15-x86_64/egg/EGG-INFO
copying pyradex.egg-info/not-zip-safe -> build/bdist.macosx-10.15-x86_64/egg/EGG-INFO
copying pyradex.egg-info/requires.txt -> build/bdist.macosx-10.15-x86_64/egg/EGG-INFO
copying pyradex.egg-info/top_level.txt -> build/bdist.macosx-10.15-x86_64/egg/EGG-INFO
writing build/bdist.macosx-10.15-x86_64/egg/EGG-INFO/native_libs.txt
creating 'dist/pyradex-0.4.2.dev0-py3.10.egg' and adding 'build/bdist.macosx-10.15-x86_64/egg' to it
removing 'build/bdist.macosx-10.15-x86_64/egg' (and everything under it)
Processing pyradex-0.4.2.dev0-py3.10.egg
removing '/Users/aqing/miniconda3_x86/envs/astro_py310/lib/python3.10/site-packages/pyradex-0.4.2.dev0-py3.10.egg' (and everything under it)
creating /Users/aqing/miniconda3_x86/envs/astro_py310/lib/python3.10/site-packages/pyradex-0.4.2.dev0-py3.10.egg
Extracting pyradex-0.4.2.dev0-py3.10.egg to /Users/aqing/miniconda3_x86/envs/astro_py310/lib/python3.10/site-packages
pyradex 0.4.2.dev0 is already the active version in easy-install.pth

Installed /Users/aqing/miniconda3_x86/envs/astro_py310/lib/python3.10/site-packages/pyradex-0.4.2.dev0-py3.10.egg
Processing dependencies for pyradex==0.4.2.dev0
Searching for requests==2.32.4
Best match: requests 2.32.4
Adding requests 2.32.4 to easy-install.pth file

Using /Users/aqing/miniconda3_x86/envs/astro_py310/lib/python3.10/site-packages
Searching for astropy==6.1.2
Best match: astropy 6.1.2
Adding astropy 6.1.2 to easy-install.pth file
Installing fits2bitmap script to /Users/aqing/miniconda3_x86/envs/astro_py310/bin
Installing fitscheck script to /Users/aqing/miniconda3_x86/envs/astro_py310/bin
Installing fitsdiff script to /Users/aqing/miniconda3_x86/envs/astro_py310/bin
Installing fitsheader script to /Users/aqing/miniconda3_x86/envs/astro_py310/bin
Installing fitsinfo script to /Users/aqing/miniconda3_x86/envs/astro_py310/bin
Installing samp_hub script to /Users/aqing/miniconda3_x86/envs/astro_py310/bin
Installing showtable script to /Users/aqing/miniconda3_x86/envs/astro_py310/bin
Installing volint script to /Users/aqing/miniconda3_x86/envs/astro_py310/bin
Installing wcslint script to /Users/aqing/miniconda3_x86/envs/astro_py310/bin

Using /Users/aqing/miniconda3_x86/envs/astro_py310/lib/python3.10/site-packages
Searching for certifi==2025.8.3
Best match: certifi 2025.8.3
Adding certifi 2025.8.3 to easy-install.pth file

Using /Users/aqing/miniconda3_x86/envs/astro_py310/lib/python3.10/site-packages
Searching for urllib3==2.5.0
Best match: urllib3 2.5.0
Adding urllib3 2.5.0 to easy-install.pth file

Using /Users/aqing/miniconda3_x86/envs/astro_py310/lib/python3.10/site-packages
Searching for idna==3.7
Best match: idna 3.7
Adding idna 3.7 to easy-install.pth file

Using /Users/aqing/miniconda3_x86/envs/astro_py310/lib/python3.10/site-packages
Searching for charset-normalizer==3.3.2
Best match: charset-normalizer 3.3.2
Adding charset-normalizer 3.3.2 to easy-install.pth file
Installing normalizer script to /Users/aqing/miniconda3_x86/envs/astro_py310/bin

Using /Users/aqing/miniconda3_x86/envs/astro_py310/lib/python3.10/site-packages
Searching for packaging==25.0
Best match: packaging 25.0
Adding packaging 25.0 to easy-install.pth file

Using /Users/aqing/miniconda3_x86/envs/astro_py310/lib/python3.10/site-packages
Searching for PyYAML==6.0.2
Best match: PyYAML 6.0.2
Adding PyYAML 6.0.2 to easy-install.pth file

Using /Users/aqing/miniconda3_x86/envs/astro_py310/lib/python3.10/site-packages
Searching for astropy-iers-data==0.2025.6.9.0.39.3
Best match: astropy-iers-data 0.2025.6.9.0.39.3
Adding astropy-iers-data 0.2025.6.9.0.39.3 to easy-install.pth file

Using /Users/aqing/miniconda3_x86/envs/astro_py310/lib/python3.10/site-packages
Searching for pyerfa==2.0.1.5
Best match: pyerfa 2.0.1.5
Adding pyerfa 2.0.1.5 to easy-install.pth file

Using /Users/aqing/miniconda3_x86/envs/astro_py310/lib/python3.10/site-packages
Searching for numpy==1.26.2
Best match: numpy 1.26.2
Adding numpy 1.26.2 to easy-install.pth file
Installing f2py script to /Users/aqing/miniconda3_x86/envs/astro_py310/bin

Using /Users/aqing/miniconda3_x86/envs/astro_py310/lib/python3.10/site-packages
Finished processing dependencies for pyradex==0.4.2.dev0
Installation has completed.  Make sure to set your RADEX_DATAPATH variable!

I've try this command but nothing change :(

$ FFLAGS='-arch i686 -arch x86_64 -fPIC' CFLAGS='-fno-strict-aliasing -fno-common -dynamic -arch i386 -arch x86_64 -g -O2' LDFLAGS='-arch i686 -arch x86_64 -undefined dynamic_lookup -bundle' python setup.py install_myradex

Thanks everyone so much for maintaining and improving pyradex!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions