uclchem / UCLCHEM

UCLCHEM - A gas-grain chemical code for Astrochemistry.
MIT License
29 stars 15 forks source link

failed to install in Ubuntu #57

Closed tty1105 closed 4 months ago

tty1105 commented 4 months ago

I was trying to install UCLCHEM in my Ubuntu 23.04. After I created the environment, installed all the requirements, and "pip install -e .", there was a long error which was ended by:

      AttributeError: module 'distutils' has no attribute 'core'
      make: *** [Makefile:37: python] Error 1
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building editable for uclchem
Failed to build uclchem
ERROR: Could not build wheels for uclchem, which is required to install pyproject.toml-based projects

Besides, in the Docs of UCLCHEM, it is required to "conda install gfortran". But this package seems not available, and I have had installed gfortran with apt on my computer. Does it matter?

GijsVermarien commented 4 months ago

HI Tianyu, would you be so kind to try to install with pip install -v -e . and post the whole output? Which Python version, gfortran version and uclchem version are you using and trying to install? You can check which version of uclchem you have exactly with git log and send the output here.

Conda isn't required for installation on Ubuntu if you installed it with your package manager, we expect Linux users to be able to figure out their own dependencies, then just install it with pip install -e ., but this could be clarified in the installation documentation.

Thank you in advance.

tty1105 commented 4 months ago

Hi Gijs. Thank you for your reply! The python version is 3.10.14. The gfortran version is 9.5.0. The uclchem version is 3.3.3. The whole putput of pip install -v -e . is extremely long:

Using pip 24.0 from /home/hp/anaconda3/envs/uclchem_env/lib/python3.10/site-packages/pip (python 3.10)
Obtaining file:///home/hp/software/UCLCHEM
  Running command pip subprocess to install build dependencies
  Collecting setuptools
    Using cached setuptools-69.5.1-py3-none-any.whl.metadata (6.2 kB)
  Collecting setuptools-scm
    Using cached setuptools_scm-8.1.0-py3-none-any.whl.metadata (6.6 kB)
  Collecting numpy
    Using cached numpy-1.26.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (61 kB)
  Collecting wheel
    Using cached wheel-0.43.0-py3-none-any.whl.metadata (2.2 kB)
  Collecting setuptools-git-versioning<2
    Using cached setuptools_git_versioning-1.13.6-py3-none-any.whl.metadata (5.8 kB)
  Collecting packaging>=20 (from setuptools-scm)
    Using cached packaging-24.0-py3-none-any.whl.metadata (3.2 kB)
  Collecting tomli>=1 (from setuptools-scm)
    Using cached tomli-2.0.1-py3-none-any.whl.metadata (8.9 kB)
  Collecting toml>=0.10.2 (from setuptools-git-versioning<2)
    Using cached toml-0.10.2-py2.py3-none-any.whl.metadata (7.1 kB)
  Using cached setuptools-69.5.1-py3-none-any.whl (894 kB)
  Using cached setuptools_scm-8.1.0-py3-none-any.whl (43 kB)
  Using cached numpy-1.26.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (18.2 MB)
  Using cached wheel-0.43.0-py3-none-any.whl (65 kB)
  Using cached setuptools_git_versioning-1.13.6-py3-none-any.whl (10 kB)
  Using cached packaging-24.0-py3-none-any.whl (53 kB)
  Using cached toml-0.10.2-py2.py3-none-any.whl (16 kB)
  Using cached tomli-2.0.1-py3-none-any.whl (12 kB)
  Installing collected packages: wheel, tomli, toml, setuptools, packaging, numpy, setuptools-scm, setuptools-git-versioning
  Successfully installed numpy-1.26.4 packaging-24.0 setuptools-69.5.1 setuptools-git-versioning-1.13.6 setuptools-scm-8.1.0 toml-0.10.2 tomli-2.0.1 wheel-0.43.0
  Installing build dependencies ... done
  Running command Checking if build backend supports build_editable
  Checking if build backend supports build_editable ... done
  Running command Getting requirements to build editable
  running egg_info
  writing src/uclchem.egg-info/PKG-INFO
  writing dependency_links to src/uclchem.egg-info/dependency_links.txt
  writing requirements to src/uclchem.egg-info/requires.txt
  writing top-level names to src/uclchem.egg-info/top_level.txt
  adding license file 'LICENSE.txt'
  writing manifest file 'src/uclchem.egg-info/SOURCES.txt'
  Getting requirements to build editable ... done
  Running command Preparing editable metadata (pyproject.toml)
  running dist_info
  creating /tmp/pip-modern-metadata-jelxed26/uclchem.egg-info
  writing /tmp/pip-modern-metadata-jelxed26/uclchem.egg-info/PKG-INFO
  writing dependency_links to /tmp/pip-modern-metadata-jelxed26/uclchem.egg-info/dependency_links.txt
  writing requirements to /tmp/pip-modern-metadata-jelxed26/uclchem.egg-info/requires.txt
  writing top-level names to /tmp/pip-modern-metadata-jelxed26/uclchem.egg-info/top_level.txt
  writing manifest file '/tmp/pip-modern-metadata-jelxed26/uclchem.egg-info/SOURCES.txt'
  adding license file 'LICENSE.txt'
  writing manifest file '/tmp/pip-modern-metadata-jelxed26/uclchem.egg-info/SOURCES.txt'
  creating '/tmp/pip-modern-metadata-jelxed26/uclchem-3.3.3.post1+git.65fa1334.dist-info'
  Preparing editable metadata (pyproject.toml) ... done
Requirement already satisfied: pandas in /home/hp/anaconda3/envs/uclchem_env/lib/python3.10/site-packages (from uclchem==3.3.3.post1+git.65fa1334) (2.2.1)
Requirement already satisfied: numpy in /home/hp/anaconda3/envs/uclchem_env/lib/python3.10/site-packages (from uclchem==3.3.3.post1+git.65fa1334) (1.26.4)
Requirement already satisfied: pyyaml in /home/hp/anaconda3/envs/uclchem_env/lib/python3.10/site-packages (from uclchem==3.3.3.post1+git.65fa1334) (6.0.1)
Requirement already satisfied: matplotlib in /home/hp/anaconda3/envs/uclchem_env/lib/python3.10/site-packages (from uclchem==3.3.3.post1+git.65fa1334) (3.8.4)
Requirement already satisfied: seaborn in /home/hp/anaconda3/envs/uclchem_env/lib/python3.10/site-packages (from uclchem==3.3.3.post1+git.65fa1334) (0.12.2)
Requirement already satisfied: pytest in /home/hp/anaconda3/envs/uclchem_env/lib/python3.10/site-packages (from uclchem==3.3.3.post1+git.65fa1334) (7.4.0)
Requirement already satisfied: contourpy>=1.0.1 in /home/hp/anaconda3/envs/uclchem_env/lib/python3.10/site-packages (from matplotlib->uclchem==3.3.3.post1+git.65fa1334) (1.2.0)
Requirement already satisfied: cycler>=0.10 in /home/hp/anaconda3/envs/uclchem_env/lib/python3.10/site-packages (from matplotlib->uclchem==3.3.3.post1+git.65fa1334) (0.11.0)
Requirement already satisfied: fonttools>=4.22.0 in /home/hp/anaconda3/envs/uclchem_env/lib/python3.10/site-packages (from matplotlib->uclchem==3.3.3.post1+git.65fa1334) (4.51.0)
Requirement already satisfied: kiwisolver>=1.3.1 in /home/hp/anaconda3/envs/uclchem_env/lib/python3.10/site-packages (from matplotlib->uclchem==3.3.3.post1+git.65fa1334) (1.4.4)
Requirement already satisfied: packaging>=20.0 in /home/hp/anaconda3/envs/uclchem_env/lib/python3.10/site-packages (from matplotlib->uclchem==3.3.3.post1+git.65fa1334) (23.2)
Requirement already satisfied: pillow>=8 in /home/hp/anaconda3/envs/uclchem_env/lib/python3.10/site-packages (from matplotlib->uclchem==3.3.3.post1+git.65fa1334) (10.3.0)
Requirement already satisfied: pyparsing>=2.3.1 in /home/hp/anaconda3/envs/uclchem_env/lib/python3.10/site-packages (from matplotlib->uclchem==3.3.3.post1+git.65fa1334) (3.0.9)
Requirement already satisfied: python-dateutil>=2.7 in /home/hp/anaconda3/envs/uclchem_env/lib/python3.10/site-packages (from matplotlib->uclchem==3.3.3.post1+git.65fa1334) (2.8.2)
Requirement already satisfied: pytz>=2020.1 in /home/hp/anaconda3/envs/uclchem_env/lib/python3.10/site-packages (from pandas->uclchem==3.3.3.post1+git.65fa1334) (2024.1)
Requirement already satisfied: tzdata>=2022.7 in /home/hp/anaconda3/envs/uclchem_env/lib/python3.10/site-packages (from pandas->uclchem==3.3.3.post1+git.65fa1334) (2023.3)
Requirement already satisfied: iniconfig in /home/hp/anaconda3/envs/uclchem_env/lib/python3.10/site-packages (from pytest->uclchem==3.3.3.post1+git.65fa1334) (1.1.1)
Requirement already satisfied: pluggy<2.0,>=0.12 in /home/hp/anaconda3/envs/uclchem_env/lib/python3.10/site-packages (from pytest->uclchem==3.3.3.post1+git.65fa1334) (1.0.0)
Requirement already satisfied: exceptiongroup>=1.0.0rc8 in /home/hp/anaconda3/envs/uclchem_env/lib/python3.10/site-packages (from pytest->uclchem==3.3.3.post1+git.65fa1334) (1.2.0)
Requirement already satisfied: tomli>=1.0.0 in /home/hp/anaconda3/envs/uclchem_env/lib/python3.10/site-packages (from pytest->uclchem==3.3.3.post1+git.65fa1334) (2.0.1)
Requirement already satisfied: six>=1.5 in /home/hp/anaconda3/envs/uclchem_env/lib/python3.10/site-packages (from python-dateutil>=2.7->matplotlib->uclchem==3.3.3.post1+git.65fa1334) (1.16.0)
Building wheels for collected packages: uclchem
  Running command Building editable for uclchem (pyproject.toml)
  rm *.o *.mod *.so ../uclchem/*.so
  rm: cannot remove '*.so': No such file or directory
  rm: cannot remove '../uclchem/*.so': No such file or directory
  make: *** [Makefile:49: clean] Error 1
  gfortran -O3 -fPIC -ffree-line-length-0 -c constants.f90
  gfortran -O3 -fPIC -ffree-line-length-0 -c network.f90
  gfortran -O3 -fPIC -ffree-line-length-0 -c physics-core.f90
  gfortran -O3 -fPIC -ffree-line-length-0 -c cloud.f90
  gfortran -O3 -fPIC -ffree-line-length-0 -c hotcore.f90
  gfortran -O3 -fPIC -ffree-line-length-0 -c surfacereactions.f90
  gfortran -O3 -fPIC -ffree-line-length-0 -c sputtering.f90
  gfortran -O3 -fPIC -ffree-line-length-0 -c cshock.f90
  gfortran -O3 -fPIC -ffree-line-length-0 -c jshock.f90
  gfortran -O3 -fPIC -ffree-line-length-0 -c collapse.f90
  collapse.f90:49:14:

     47 |          IF (writePhysics) OPEN(unit=66,file=collapseFile,status='unknown',err=99)
        |                                                                                  2
     48 |          IF (successFlag .lt. 0) THEN
     49 |             99 write(*,*) "could not open physics output file",collapseFile
        |              1
  Warning: Legacy Extension: Label at (1) is not in the same block as the GOTO statement at (2)
  gfortran -O3 -fPIC -ffree-line-length-0 -c dvode.f90
  dvode.f90:15887:45:

  15887 | 20          LOWL(IV) = MIN(LOWL(IV),LOWL(IW))
        |                                             1
  Warning: Fortran 2018 deleted feature: DO termination statement which is not END DO or CONTINUE with label 20 at (1)
  dvode.f90:16008:28:

  16008 | 40        JCE = JCEP + JDISP
        |                            1
  Warning: Fortran 2018 deleted feature: DO termination statement which is not END DO or CONTINUE with label 40 at (1)
  dvode.f90:16261:23:

  16261 | 20        IW1(J) = IOLD
        |                       1
  Warning: Fortran 2018 deleted feature: DO termination statement which is not END DO or CONTINUE with label 20 at (1)
  dvode.f90:16457:47:

  16457 | 100         IW1(I,1) = IW1(I-1,1) + LENOFF(I-1)
        |                                               1
  Warning: Fortran 2018 deleted feature: DO termination statement which is not END DO or CONTINUE with label 100 at (1)
  dvode.f90:16558:36:

  16558 | 20        WROWL = WROWL + ABS(A(JJ))
        |                                    1
  Warning: Fortran 2018 deleted feature: DO termination statement which is not END DO or CONTINUE with label 20 at (1)
  dvode.f90:16567:37:

  16567 | 40        W(J) = MAX(ABS(A(JJ)),W(J))
        |                                     1
  Warning: Fortran 2018 deleted feature: DO termination statement which is not END DO or CONTINUE with label 40 at (1)
  gfortran -O3 -fPIC -ffree-line-length-0 -c photoreactions.f90
  gfortran -O3 -fPIC -ffree-line-length-0 -c chemistry.f90
  gfortran -O3 -fPIC -ffree-line-length-0 -c io.f90
  python3 -m numpy.f2py -c --fcompiler=gnu95  io.o physics-core.o cloud.o hotcore.o sputtering.o cshock.o jshock.o collapse.o dvode.o photoreactions.o surfacereactions.o chemistry.o network.o -m uclchemwrap wrap.f90
  running build
  running config_cc
  unifing config_cc, config, build_clib, build_ext, build commands --compiler options
  running config_fc
  unifing config_fc, config, build_clib, build_ext, build commands --fcompiler options
  running build_src
  build_src
  building extension "uclchemwrap" sources
  f2py options: []
  f2py:> /tmp/tmpa2rvgojf/src.linux-x86_64-3.6/uclchemwrapmodule.c
  creating /tmp/tmpa2rvgojf/src.linux-x86_64-3.6
  Reading fortran codes...
        Reading file 'wrap.f90' (format:free)
        Reading file 'defaultparameters.f90' (format:free)
        Reading file 'defaultparameters.f90' (format:free)
        Reading file 'defaultparameters.f90' (format:free)
  Post-processing...
        Block: uclchemwrap
                        Block: uclchemwrap
  In: :uclchemwrap:wrap.f90:uclchemwrap
  get_useparameters: no module physicscore info used by uclchemwrap
  In: :uclchemwrap:wrap.f90:uclchemwrap
  get_useparameters: no module chemistry info used by uclchemwrap
  In: :uclchemwrap:wrap.f90:uclchemwrap
  get_useparameters: no module io info used by uclchemwrap
  In: :uclchemwrap:wrap.f90:uclchemwrap
  get_useparameters: no module constants info used by uclchemwrap
                                Block: cloud
  In: :uclchemwrap:wrap.f90:uclchemwrap:cloud
  get_useparameters: no module physicscore info used by cloud
  In: :uclchemwrap:wrap.f90:uclchemwrap:cloud
  get_useparameters: no module chemistry info used by cloud
  In: :uclchemwrap:wrap.f90:uclchemwrap:cloud
  get_useparameters: no module io info used by cloud
  In: :uclchemwrap:wrap.f90:uclchemwrap:cloud
  get_useparameters: no module constants info used by cloud
  In: :uclchemwrap:wrap.f90:uclchemwrap:cloud
  get_useparameters: no module cloud_mod info used by cloud
                                Block: collapse
  In: :uclchemwrap:wrap.f90:uclchemwrap:collapse
  get_useparameters: no module physicscore info used by collapse
  In: :uclchemwrap:wrap.f90:uclchemwrap:collapse
  get_useparameters: no module chemistry info used by collapse
  In: :uclchemwrap:wrap.f90:uclchemwrap:collapse
  get_useparameters: no module io info used by collapse
  In: :uclchemwrap:wrap.f90:uclchemwrap:collapse
  get_useparameters: no module constants info used by collapse
  In: :uclchemwrap:wrap.f90:uclchemwrap:collapse
  get_useparameters: no module collapse_mod info used by collapse
                                Block: hot_core
  In: :uclchemwrap:wrap.f90:uclchemwrap:hot_core
  get_useparameters: no module physicscore info used by hot_core
  In: :uclchemwrap:wrap.f90:uclchemwrap:hot_core
  get_useparameters: no module chemistry info used by hot_core
  In: :uclchemwrap:wrap.f90:uclchemwrap:hot_core
  get_useparameters: no module io info used by hot_core
  In: :uclchemwrap:wrap.f90:uclchemwrap:hot_core
  get_useparameters: no module constants info used by hot_core
  In: :uclchemwrap:wrap.f90:uclchemwrap:hot_core
  get_useparameters: no module hotcore info used by hot_core
                                Block: cshock
  In: :uclchemwrap:wrap.f90:uclchemwrap:cshock
  get_useparameters: no module physicscore info used by cshock
  In: :uclchemwrap:wrap.f90:uclchemwrap:cshock
  get_useparameters: no module chemistry info used by cshock
  In: :uclchemwrap:wrap.f90:uclchemwrap:cshock
  get_useparameters: no module io info used by cshock
  In: :uclchemwrap:wrap.f90:uclchemwrap:cshock
  get_useparameters: no module constants info used by cshock
  In: :uclchemwrap:wrap.f90:uclchemwrap:cshock
  get_useparameters: no module cshock_mod info used by cshock
                                Block: jshock
  In: :uclchemwrap:wrap.f90:uclchemwrap:jshock
  get_useparameters: no module physicscore info used by jshock
  In: :uclchemwrap:wrap.f90:uclchemwrap:jshock
  get_useparameters: no module chemistry info used by jshock
  In: :uclchemwrap:wrap.f90:uclchemwrap:jshock
  get_useparameters: no module io info used by jshock
  In: :uclchemwrap:wrap.f90:uclchemwrap:jshock
  get_useparameters: no module constants info used by jshock
  In: :uclchemwrap:wrap.f90:uclchemwrap:jshock
  get_useparameters: no module jshock_mod info used by jshock
                                Block: get_rates
  In: :uclchemwrap:wrap.f90:uclchemwrap:get_rates
  get_useparameters: no module physicscore info used by get_rates
  In: :uclchemwrap:wrap.f90:uclchemwrap:get_rates
  get_useparameters: no module chemistry info used by get_rates
  In: :uclchemwrap:wrap.f90:uclchemwrap:get_rates
  get_useparameters: no module io info used by get_rates
  In: :uclchemwrap:wrap.f90:uclchemwrap:get_rates
  get_useparameters: no module constants info used by get_rates
  In: :uclchemwrap:wrap.f90:uclchemwrap:get_rates
  get_useparameters: no module cloud_mod info used by get_rates
  In: :uclchemwrap:wrap.f90:uclchemwrap:get_rates
  get_useparameters: no module network info used by get_rates
                                Block: get_odes
  In: :uclchemwrap:wrap.f90:uclchemwrap:get_odes
  get_useparameters: no module physicscore info used by get_odes
  In: :uclchemwrap:wrap.f90:uclchemwrap:get_odes
  get_useparameters: no module chemistry info used by get_odes
  In: :uclchemwrap:wrap.f90:uclchemwrap:get_odes
  get_useparameters: no module io info used by get_odes
  In: :uclchemwrap:wrap.f90:uclchemwrap:get_odes
  get_useparameters: no module constants info used by get_odes
  In: :uclchemwrap:wrap.f90:uclchemwrap:get_odes
  get_useparameters: no module cloud_mod info used by get_odes
  {}
  In: :uclchemwrap:wrap.f90:uclchemwrap:solveabundances:unknown_interface:sublimation
  vars2fortran: No typespec for argument "abund".
                                Block: solveabundances
  In: :uclchemwrap:wrap.f90:uclchemwrap:solveabundances
  get_useparameters: no module physicscore info used by solveabundances
  In: :uclchemwrap:wrap.f90:uclchemwrap:solveabundances
  get_useparameters: no module chemistry info used by solveabundances
  In: :uclchemwrap:wrap.f90:uclchemwrap:solveabundances
  get_useparameters: no module io info used by solveabundances
  In: :uclchemwrap:wrap.f90:uclchemwrap:solveabundances
  get_useparameters: no module constants info used by solveabundances
  In: :uclchemwrap:wrap.f90:uclchemwrap:solveabundances:unknown_interface
  get_useparameters: no module physicscore info used by unknown_interface
  In: :uclchemwrap:wrap.f90:uclchemwrap:solveabundances:unknown_interface
  get_useparameters: no module chemistry info used by unknown_interface
  In: :uclchemwrap:wrap.f90:uclchemwrap:solveabundances:unknown_interface
  get_useparameters: no module io info used by unknown_interface
  In: :uclchemwrap:wrap.f90:uclchemwrap:solveabundances:unknown_interface
  get_useparameters: no module constants info used by unknown_interface
                                                Block: modelinitializephysics
  In: :uclchemwrap:wrap.f90:uclchemwrap:solveabundances:unknown_interface:modelinitializephysics
  get_useparameters: no module physicscore info used by modelinitializephysics
  In: :uclchemwrap:wrap.f90:uclchemwrap:solveabundances:unknown_interface:modelinitializephysics
  get_useparameters: no module chemistry info used by modelinitializephysics
  In: :uclchemwrap:wrap.f90:uclchemwrap:solveabundances:unknown_interface:modelinitializephysics
  get_useparameters: no module io info used by modelinitializephysics
  In: :uclchemwrap:wrap.f90:uclchemwrap:solveabundances:unknown_interface:modelinitializephysics
  get_useparameters: no module constants info used by modelinitializephysics
  In: :uclchemwrap:wrap.f90:uclchemwrap:solveabundances:unknown_interface
  get_useparameters: no module physicscore info used by unknown_interface
  In: :uclchemwrap:wrap.f90:uclchemwrap:solveabundances:unknown_interface
  get_useparameters: no module chemistry info used by unknown_interface
  In: :uclchemwrap:wrap.f90:uclchemwrap:solveabundances:unknown_interface
  get_useparameters: no module io info used by unknown_interface
  In: :uclchemwrap:wrap.f90:uclchemwrap:solveabundances:unknown_interface
  get_useparameters: no module constants info used by unknown_interface
                                                Block: updatetargettime
  In: :uclchemwrap:wrap.f90:uclchemwrap:solveabundances:unknown_interface:updatetargettime
  get_useparameters: no module physicscore info used by updatetargettime
  In: :uclchemwrap:wrap.f90:uclchemwrap:solveabundances:unknown_interface:updatetargettime
  get_useparameters: no module chemistry info used by updatetargettime
  In: :uclchemwrap:wrap.f90:uclchemwrap:solveabundances:unknown_interface:updatetargettime
  get_useparameters: no module io info used by updatetargettime
  In: :uclchemwrap:wrap.f90:uclchemwrap:solveabundances:unknown_interface:updatetargettime
  get_useparameters: no module constants info used by updatetargettime
  In: :uclchemwrap:wrap.f90:uclchemwrap:solveabundances:unknown_interface
  get_useparameters: no module physicscore info used by unknown_interface
  In: :uclchemwrap:wrap.f90:uclchemwrap:solveabundances:unknown_interface
  get_useparameters: no module chemistry info used by unknown_interface
  In: :uclchemwrap:wrap.f90:uclchemwrap:solveabundances:unknown_interface
  get_useparameters: no module io info used by unknown_interface
  In: :uclchemwrap:wrap.f90:uclchemwrap:solveabundances:unknown_interface
  get_useparameters: no module constants info used by unknown_interface
                                                Block: modelupdatephysics
  In: :uclchemwrap:wrap.f90:uclchemwrap:solveabundances:unknown_interface:modelupdatephysics
  get_useparameters: no module physicscore info used by modelupdatephysics
  In: :uclchemwrap:wrap.f90:uclchemwrap:solveabundances:unknown_interface:modelupdatephysics
  get_useparameters: no module chemistry info used by modelupdatephysics
  In: :uclchemwrap:wrap.f90:uclchemwrap:solveabundances:unknown_interface:modelupdatephysics
  get_useparameters: no module io info used by modelupdatephysics
  In: :uclchemwrap:wrap.f90:uclchemwrap:solveabundances:unknown_interface:modelupdatephysics
  get_useparameters: no module constants info used by modelupdatephysics
  In: :uclchemwrap:wrap.f90:uclchemwrap:solveabundances:unknown_interface
  get_useparameters: no module physicscore info used by unknown_interface
  In: :uclchemwrap:wrap.f90:uclchemwrap:solveabundances:unknown_interface
  get_useparameters: no module chemistry info used by unknown_interface
  In: :uclchemwrap:wrap.f90:uclchemwrap:solveabundances:unknown_interface
  get_useparameters: no module io info used by unknown_interface
  In: :uclchemwrap:wrap.f90:uclchemwrap:solveabundances:unknown_interface
  get_useparameters: no module constants info used by unknown_interface
  {}
  In: :uclchemwrap:wrap.f90:uclchemwrap:solveabundances:unknown_interface:sublimation
  vars2fortran: No typespec for argument "abund".
                                                Block: sublimation
  In: :uclchemwrap:wrap.f90:uclchemwrap:solveabundances:unknown_interface:sublimation
  get_useparameters: no module physicscore info used by sublimation
  In: :uclchemwrap:wrap.f90:uclchemwrap:solveabundances:unknown_interface:sublimation
  get_useparameters: no module chemistry info used by sublimation
  In: :uclchemwrap:wrap.f90:uclchemwrap:solveabundances:unknown_interface:sublimation
  get_useparameters: no module io info used by sublimation
  In: :uclchemwrap:wrap.f90:uclchemwrap:solveabundances:unknown_interface:sublimation
  get_useparameters: no module constants info used by sublimation
                                Block: dictionaryparser
  In: :uclchemwrap:wrap.f90:uclchemwrap:dictionaryparser
  get_useparameters: no module physicscore info used by dictionaryparser
  In: :uclchemwrap:wrap.f90:uclchemwrap:dictionaryparser
  get_useparameters: no module chemistry info used by dictionaryparser
  In: :uclchemwrap:wrap.f90:uclchemwrap:dictionaryparser
  get_useparameters: no module io info used by dictionaryparser
  In: :uclchemwrap:wrap.f90:uclchemwrap:dictionaryparser
  get_useparameters: no module constants info used by dictionaryparser
                                Block: coefficientparser
  In: :uclchemwrap:wrap.f90:uclchemwrap:coefficientparser
  get_useparameters: no module physicscore info used by coefficientparser
  In: :uclchemwrap:wrap.f90:uclchemwrap:coefficientparser
  get_useparameters: no module chemistry info used by coefficientparser
  In: :uclchemwrap:wrap.f90:uclchemwrap:coefficientparser
  get_useparameters: no module io info used by coefficientparser
  In: :uclchemwrap:wrap.f90:uclchemwrap:coefficientparser
  get_useparameters: no module constants info used by coefficientparser
  Post-processing (stage 2)...
        Block: uclchemwrap
                Block: unknown_interface
                        Block: uclchemwrap
                                Block: cloud
                                Block: collapse
                                Block: hot_core
                                Block: cshock
                                Block: jshock
                                Block: get_rates
                                Block: get_odes
                                Block: solveabundances
                                Block: dictionaryparser
                                Block: coefficientparser
  Building modules...
        Constructing call-back function "cb_modelinitializephysics_in_solveabundances__user__routines"
          def modelinitializephysics(): return successflag
        Constructing call-back function "cb_updatetargettime_in_solveabundances__user__routines"
          def updatetargettime(): return
        Constructing call-back function "cb_modelupdatephysics_in_solveabundances__user__routines"
          def modelupdatephysics(): return
        Constructing call-back function "cb_sublimation_in_solveabundances__user__routines"
          def sublimation(abund): return
        Building module "uclchemwrap"...
                Constructing F90 module support for "uclchemwrap"...
                        Constructing wrapper function "uclchemwrap.cloud"...
                          abundance_out,successflag = cloud(dictionary,outspeciesin)
                        Constructing wrapper function "uclchemwrap.collapse"...
                          abundance_out,successflag = collapse(collapsein,collapsefilein,writeout,dictionary,outspeciesin)
                        Constructing wrapper function "uclchemwrap.hot_core"...
                          abundance_out,successflag = hot_core(temp_indx,max_temp,dictionary,outspeciesin)
                        Constructing wrapper function "uclchemwrap.cshock"...
                          abundance_out,dissipation_time,successflag = cshock(shock_vel,timestep_factor,minimum_temperature,dictionary,outspeciesin)
                        Constructing wrapper function "uclchemwrap.jshock"...
                          abundance_out,successflag = jshock(shock_vel,dictionary,outspeciesin)
                        Constructing wrapper function "uclchemwrap.get_rates"...
                          speciesrates,successflag,transfer,swap,bulk_layers = get_rates(dictionary,abundancesin,speciesindx,rateindxs)
                        Constructing wrapper function "uclchemwrap.get_odes"...
                          ratesout = get_odes(dictionary,abundancesin)
                        Constructing wrapper function "uclchemwrap.solveabundances"...
                          successflag = solveabundances(dictionary,outspeciesin,modelinitializephysics,modelupdatephysics,updatetargettime,sublimation,[modelinitializephysics_extra_args,modelupdatephysics_extra_args,updatetargettime_extra_args,sublimation_extra_args])
                        Constructing wrapper function "uclchemwrap.dictionaryparser"...
                          successflag = dictionaryparser(dictionary,outspeciesin)
                        Constructing wrapper function "uclchemwrap.coefficientparser"...
                          coefficientparser(coeffdictstring,coeffarray)
        Wrote C/API module "uclchemwrap" to file "/tmp/tmpa2rvgojf/src.linux-x86_64-3.6/uclchemwrapmodule.c"
        Fortran 90 wrappers are saved to "/tmp/tmpa2rvgojf/src.linux-x86_64-3.6/uclchemwrap-f2pywrappers2.f90"
    adding '/tmp/tmpa2rvgojf/src.linux-x86_64-3.6/fortranobject.c' to sources.
    adding '/tmp/tmpa2rvgojf/src.linux-x86_64-3.6' to include_dirs.
  copying /home/hp/software/casa-6.4.1-12-pipeline/casa-6.4.1-12-pipeline/lib/py/lib/python3.6/site-packages/numpy/f2py/src/fortranobject.c -> /tmp/tmpa2rvgojf/src.linux-x86_64-3.6
  copying /home/hp/software/casa-6.4.1-12-pipeline/casa-6.4.1-12-pipeline/lib/py/lib/python3.6/site-packages/numpy/f2py/src/fortranobject.h -> /tmp/tmpa2rvgojf/src.linux-x86_64-3.6
    adding '/tmp/tmpa2rvgojf/src.linux-x86_64-3.6/uclchemwrap-f2pywrappers2.f90' to sources.
  build_src: building npy-pkg config files
  getctype: "real(kind=dp)" is mapped to C "float" (to override define dict(real = dict(dp="<C typespec>")) in /home/hp/software/UCLCHEM/src/fortran_src/.f2py_f2cmap file).
  getctype: "real(kind=dp)" is mapped to C "float" (to override define dict(real = dict(dp="<C typespec>")) in /home/hp/software/UCLCHEM/src/fortran_src/.f2py_f2cmap file).
  getctype: "real(kind=dp)" is mapped to C "float" (to override define dict(real = dict(dp="<C typespec>")) in /home/hp/software/UCLCHEM/src/fortran_src/.f2py_f2cmap file).
  Traceback (most recent call last):
    File "/home/hp/software/casa-6.4.1-12-pipeline/casa-6.4.1-12-pipeline/lib/py/lib/python3.6/runpy.py", line 193, in _run_module_as_main
      "__main__", mod_spec)
    File "/home/hp/software/casa-6.4.1-12-pipeline/casa-6.4.1-12-pipeline/lib/py/lib/python3.6/runpy.py", line 85, in _run_code
      exec(code, run_globals)
    File "/home/hp/software/casa-6.4.1-12-pipeline/casa-6.4.1-12-pipeline/lib/py/lib/python3.6/site-packages/numpy/f2py/__main__.py", line 6, in <module>
      main()
    File "/home/hp/software/casa-6.4.1-12-pipeline/casa-6.4.1-12-pipeline/lib/py/lib/python3.6/site-packages/numpy/f2py/f2py2e.py", line 694, in main
      run_compile()
    File "/home/hp/software/casa-6.4.1-12-pipeline/casa-6.4.1-12-pipeline/lib/py/lib/python3.6/site-packages/numpy/f2py/f2py2e.py", line 661, in run_compile
      setup(ext_modules=[ext])
    File "/home/hp/software/casa-6.4.1-12-pipeline/casa-6.4.1-12-pipeline/lib/py/lib/python3.6/site-packages/numpy/distutils/core.py", line 171, in setup
      return old_setup(**new_attr)
    File "/home/hp/software/casa-6.4.1-12-pipeline/casa-6.4.1-12-pipeline/lib/py/lib/python3.6/site-packages/setuptools/__init__.py", line 129, in setup
      return distutils.core.setup(**attrs)
    File "/home/hp/software/casa-6.4.1-12-pipeline/casa-6.4.1-12-pipeline/lib/py/lib/python3.6/distutils/core.py", line 148, in setup
      dist.run_commands()
    File "/home/hp/software/casa-6.4.1-12-pipeline/casa-6.4.1-12-pipeline/lib/py/lib/python3.6/distutils/dist.py", line 955, in run_commands
      self.run_command(cmd)
    File "/home/hp/software/casa-6.4.1-12-pipeline/casa-6.4.1-12-pipeline/lib/py/lib/python3.6/distutils/dist.py", line 974, in run_command
      cmd_obj.run()
    File "/home/hp/software/casa-6.4.1-12-pipeline/casa-6.4.1-12-pipeline/lib/py/lib/python3.6/site-packages/numpy/distutils/command/build.py", line 42, in run
      old_build.run(self)
    File "/home/hp/software/casa-6.4.1-12-pipeline/casa-6.4.1-12-pipeline/lib/py/lib/python3.6/distutils/command/build.py", line 135, in run
      self.run_command(cmd_name)
    File "/home/hp/software/casa-6.4.1-12-pipeline/casa-6.4.1-12-pipeline/lib/py/lib/python3.6/distutils/cmd.py", line 313, in run_command
      self.distribution.run_command(command)
    File "/home/hp/software/casa-6.4.1-12-pipeline/casa-6.4.1-12-pipeline/lib/py/lib/python3.6/distutils/dist.py", line 974, in run_command
      cmd_obj.run()
    File "/home/hp/software/casa-6.4.1-12-pipeline/casa-6.4.1-12-pipeline/lib/py/lib/python3.6/site-packages/numpy/distutils/command/build_src.py", line 146, in run
      self.build_sources()
    File "/home/hp/software/casa-6.4.1-12-pipeline/casa-6.4.1-12-pipeline/lib/py/lib/python3.6/site-packages/numpy/distutils/command/build_src.py", line 166, in build_sources
      self.build_npy_pkg_config()
    File "/home/hp/software/casa-6.4.1-12-pipeline/casa-6.4.1-12-pipeline/lib/py/lib/python3.6/site-packages/numpy/distutils/command/build_src.py", line 235, in build_npy_pkg_config
      install_cmd = copy.copy(get_cmd('install'))
    File "/home/hp/software/casa-6.4.1-12-pipeline/casa-6.4.1-12-pipeline/lib/py/lib/python3.6/site-packages/numpy/distutils/misc_util.py", line 2110, in get_cmd
      dist = distutils.core._setup_distribution
  AttributeError: module 'distutils' has no attribute 'core'
  make: *** [Makefile:37: python] Error 1
  error: subprocess-exited-with-error

  × Building editable for uclchem (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> See above for output.

  note: This error originates from a subprocess, and is likely not a problem with pip.
  full command: /home/hp/anaconda3/envs/uclchem_env/bin/python /home/hp/anaconda3/envs/uclchem_env/lib/python3.10/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py build_editable /tmp/tmpx80h7228
  cwd: /home/hp/software/UCLCHEM
  Building editable for uclchem (pyproject.toml) ... error
  ERROR: Failed building editable for uclchem
Failed to build uclchem
ERROR: Could not build wheels for uclchem, which is required to install pyproject.toml-based projects
GijsVermarien commented 4 months ago

Hi Tianyu, I think your numpy install might not be alright, since it is referring to some prior installation of a CASA that has existed on the system in some way and trying to use their numpy, which was built for Python 3.6. This line hints at that:

/home/hp/software/casa-6.4.1-12-pipeline/casa-6.4.1-12-pipeline/lib/py/lib/python3.6/site-packages/numpy/f2py/src/fortranobject.c

It is weird however, since pip does get the right requirements at the start of installing the package. Maybe you could refer to your system administrator if this is an university system (which it appears to be from the paths I see in your logs).

tty1105 commented 4 months ago

Hi Gijs.You are right. After I remove CASA from my PATH, the installation succeeds. That weird. Thank you very much!