Skip to content
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

Unable to install rpy2 in centos7/rhel7 with R4.4.0 #1107

Open
kelli-rstudio opened this issue May 8, 2024 · 1 comment
Open

Unable to install rpy2 in centos7/rhel7 with R4.4.0 #1107

kelli-rstudio opened this issue May 8, 2024 · 1 comment
Labels
bug Something isn't working

Comments

@kelli-rstudio
Copy link

Describe the issue or bug
I am unable to install rpy2 on centos7/rhel7 when using R4.4.0. But I can install rpy2 on centos/rhel7 on earlier versions of R (eg R4.3.2) and on other linux operating systems (eg. ubuntu22, rhel8/9) when using R4.4.0.

To Reproduce

I'm using Python 3.10.9 and I installed R4.4.0 with:

curl -O https://cdn.rstudio.com/r/centos-7/pkgs/R-4.4.0-1-1.x86_64.rpm
sudo yum install -y R-4.4.0-1-1.x86_64.rpm
sudo rm /usr/local/bin/R
sudo rm /usr/local/bin/Rscript
sudo ln -s /opt/R/4.4.0/bin/R /usr/local/bin/R
sudo ln -s /opt/R/4.4.0/bin/Rscript /usr/local/bin/Rscript

Then ran pip install -v -U rpy2.

Expected behavior
I expect to be able to install rpy2 on centos/rhel7 when using R4.4.0.

Error

pip install -v -U rpy2
Using pip 22.3.1 from /opt/python/3.10.9/lib/python3.10/site-packages/pip (python 3.10)
Defaulting to user installation because normal site-packages is not writeable
Collecting rpy2
  Downloading rpy2-3.5.16.tar.gz (220 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 220.0/220.0 kB 10.3 MB/s eta 0:00:00
  Running command pip subprocess to install build dependencies
  Ignoring packaging: markers 'platform_system == "Windows"' don't match your environment
  Collecting setuptools>=61
    Using cached setuptools-69.5.1-py3-none-any.whl (894 kB)
  Collecting wheel
    Using cached wheel-0.43.0-py3-none-any.whl (65 kB)
  Collecting cffi>=1.15.0
    Downloading cffi-1.16.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (443 kB)
       ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 443.9/443.9 kB 1.9 MB/s eta 0:00:00
  Collecting pycparser
    Downloading pycparser-2.22-py3-none-any.whl (117 kB)
       ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 117.6/117.6 kB 26.0 MB/s eta 0:00:00
  Installing collected packages: wheel, setuptools, pycparser, cffi
  Successfully installed cffi-1.16.0 pycparser-2.22 setuptools-69.5.1 wheel-0.43.0

  [notice] A new release of pip available: 22.3.1 -> 24.0
  [notice] To update, run: /opt/python/3.10.9/bin/python3.10 -m pip install --upgrade pip
  Installing build dependencies ... done
  Running command Getting requirements to build wheel
  /usr/bin/ld: warning: libRblas.so, needed by /opt/R/4.4.0/lib/R/lib/libR.so, not found (try using -rpath or -rpath-link)
  /opt/R/4.4.0/lib/R/lib/libR.so: undefined reference to `drot_'
  /opt/R/4.4.0/lib/R/lib/libR.so: undefined reference to `drotg_'
  /opt/R/4.4.0/lib/R/lib/libR.so: undefined reference to `dswap_'
  /opt/R/4.4.0/lib/R/lib/libR.so: undefined reference to `dgemm_'
  /opt/R/4.4.0/lib/R/lib/libR.so: undefined reference to `dnrm2_'
  /opt/R/4.4.0/lib/R/lib/libR.so: undefined reference to `dscal_'
  /opt/R/4.4.0/lib/R/lib/libR.so: undefined reference to `zgemm_'
  /opt/R/4.4.0/lib/R/lib/libR.so: undefined reference to `dtrsm_'
  /opt/R/4.4.0/lib/R/lib/libR.so: undefined reference to `daxpy_'
  /opt/R/4.4.0/lib/R/lib/libR.so: undefined reference to `dcopy_'
  /opt/R/4.4.0/lib/R/lib/libR.so: undefined reference to `dsyrk_'
  /opt/R/4.4.0/lib/R/lib/libR.so: undefined reference to `dasum_'
  /opt/R/4.4.0/lib/R/lib/libR.so: undefined reference to `ddot_'
  /opt/R/4.4.0/lib/R/lib/libR.so: undefined reference to `dgemv_'
  collect2: error: ld returned 1 exit status
  Traceback (most recent call last):
    File "/tmp/pip-build-env-hv1b_832/overlay/lib/python3.10/site-packages/setuptools/_distutils/unixccompiler.py", line 269, in link
      self.spawn(linker + ld_args)
    File "/tmp/pip-build-env-hv1b_832/overlay/lib/python3.10/site-packages/setuptools/_distutils/ccompiler.py", line 1041, in spawn
      spawn(cmd, dry_run=self.dry_run, **kwargs)
    File "/tmp/pip-build-env-hv1b_832/overlay/lib/python3.10/site-packages/setuptools/_distutils/spawn.py", line 68, in spawn
      raise DistutilsExecError(f"command {cmd!r} failed with exit code {exitcode}")
  distutils.errors.DistutilsExecError: command '/usr/bin/gcc' failed with exit code 1

  During handling of the above exception, another exception occurred:

  Traceback (most recent call last):
    File "/opt/python/3.10.9/lib/python3.10/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 351, in <module>
      main()
    File "/opt/python/3.10.9/lib/python3.10/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 333, in main
      json_out['return_val'] = hook(**hook_input['kwargs'])
    File "/opt/python/3.10.9/lib/python3.10/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 118, in get_requires_for_build_wheel
      return hook(config_settings)
    File "/tmp/pip-build-env-hv1b_832/overlay/lib/python3.10/site-packages/setuptools/build_meta.py", line 325, in get_requires_for_build_wheel
      return self._get_build_requires(config_settings, requirements=['wheel'])
    File "/tmp/pip-build-env-hv1b_832/overlay/lib/python3.10/site-packages/setuptools/build_meta.py", line 295, in _get_build_requires
      self.run_setup()
    File "/tmp/pip-build-env-hv1b_832/overlay/lib/python3.10/site-packages/setuptools/build_meta.py", line 311, in run_setup
      exec(code, locals())
    File "<string>", line 141, in <module>
    File "<string>", line 121, in get_r_c_extension_status
    File "<string>", line 82, in get_c_extension_status
    File "/tmp/pip-build-env-hv1b_832/overlay/lib/python3.10/site-packages/setuptools/_distutils/ccompiler.py", line 781, in link_executable
      self.link(
    File "/tmp/pip-build-env-hv1b_832/overlay/lib/python3.10/site-packages/setuptools/_distutils/unixccompiler.py", line 271, in link
      raise LinkError(msg)
  distutils.errors.LinkError: command '/usr/bin/gcc' failed with exit code 1
  error: subprocess-exited-with-error

  × Getting requirements to build wheel 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: /opt/python/3.10.9/bin/python3.10 /opt/python/3.10.9/lib/python3.10/site-packages/pip/_vendor/pep517/in_process/_in_process.py get_requires_for_build_wheel /tmp/tmprgac1v87
  cwd: /tmp/pip-install-memgunyq/rpy2_961064ee4f144ec09b45576b360b941c
  Getting requirements to build wheel ... error
error: subprocess-exited-with-error

× Getting requirements to build wheel 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.
@kelli-rstudio kelli-rstudio added the bug Something isn't working label May 8, 2024
@lgautier
Copy link
Member

You have:

sudo rm /usr/local/bin/R
sudo rm /usr/local/bin/Rscript
sudo ln -s /opt/R/4.4.0/bin/R /usr/local/bin/R
sudo ln -s /opt/R/4.4.0/bin/Rscript /usr/local/bin/Rscript

I suggest instead:

export PATH=/opt/R/4.4.0/bin/:${PATH}
pip install -v -U rpy2

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants