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

Fail to install pegasusio #112

Open
jiananwehi opened this issue Mar 8, 2024 · 2 comments
Open

Fail to install pegasusio #112

jiananwehi opened this issue Mar 8, 2024 · 2 comments

Comments

@jiananwehi
Copy link

I tried to install pegasusio by following commands:
git clone https://github.com/lilab-bcb/pegasusio.git
cd pegasusio
pip install -e .

The following shows errors:
building 'pegasusio.cylib.funcs' extension
creating /tmp/tmp1jxpsjv9.build-temp/ext_modules
gcc -std=gnu11 -pthread -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -fPIC -I/stornext/Bioinf/data/lab_speed/wang.j/python_package/myenv/include -I/stornext/System/data/apps/python/python-3.12.0/include/python3.12 -c ext_modules/fast_funcs.c -o /tmp/tmp1jxpsjv9.build-temp/ext_modules/fast_funcs.o
ext_modules/fast_funcs.c:1517:27: fatal error: stdatomic.h: No such file or directory
#include <stdatomic.h>
^
compilation terminated.
Traceback (most recent call last):
File "/tmp/pip-build-env-dc4w78cb/overlay/lib/python3.12/site-packages/setuptools/_distutils/unixccompiler.py", line 185, in _compile
self.spawn(compiler_so + cc_args + [src, '-o', obj] + extra_postargs)
File "/tmp/pip-build-env-dc4w78cb/overlay/lib/python3.12/site-packages/setuptools/_distutils/ccompiler.py", line 1041, in spawn
spawn(cmd, dry_run=self.dry_run, **kwargs)
File "/tmp/pip-build-env-dc4w78cb/overlay/lib/python3.12/site-packages/setuptools/_distutils/spawn.py", line 70, in spawn
raise DistutilsExecError(
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 "/tmp/pip-build-env-dc4w78cb/overlay/lib/python3.12/site-packages/setuptools/command/editable_wheel.py", line 150, in run
      self._create_wheel_file(bdist_wheel)
    File "/tmp/pip-build-env-dc4w78cb/overlay/lib/python3.12/site-packages/setuptools/command/editable_wheel.py", line 339, in _create_wheel_file
      files, mapping = self._run_build_commands(dist_name, unpacked, lib, tmp)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/tmp/pip-build-env-dc4w78cb/overlay/lib/python3.12/site-packages/setuptools/command/editable_wheel.py", line 262, in _run_build_commands
      self._run_build_subcommands()
    File "/tmp/pip-build-env-dc4w78cb/overlay/lib/python3.12/site-packages/setuptools/command/editable_wheel.py", line 289, in _run_build_subcommands
      self.run_command(name)
    File "/tmp/pip-build-env-dc4w78cb/overlay/lib/python3.12/site-packages/setuptools/_distutils/cmd.py", line 318, in run_command
      self.distribution.run_command(command)
    File "/tmp/pip-build-env-dc4w78cb/overlay/lib/python3.12/site-packages/setuptools/dist.py", line 963, in run_command
      super().run_command(command)
    File "/tmp/pip-build-env-dc4w78cb/overlay/lib/python3.12/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
      cmd_obj.run()
    File "/tmp/pip-build-env-dc4w78cb/overlay/lib/python3.12/site-packages/setuptools/command/build_ext.py", line 89, in run
      _build_ext.run(self)
    File "/tmp/pip-build-env-dc4w78cb/overlay/lib/python3.12/site-packages/setuptools/_distutils/command/build_ext.py", line 345, in run
      self.build_extensions()
    File "/tmp/pip-build-env-dc4w78cb/overlay/lib/python3.12/site-packages/setuptools/_distutils/command/build_ext.py", line 467, in build_extensions
      self._build_extensions_serial()
    File "/tmp/pip-build-env-dc4w78cb/overlay/lib/python3.12/site-packages/setuptools/_distutils/command/build_ext.py", line 493, in _build_extensions_serial
      self.build_extension(ext)
    File "/tmp/pip-build-env-dc4w78cb/overlay/lib/python3.12/site-packages/setuptools/command/build_ext.py", line 250, in build_extension
      _build_ext.build_extension(self, ext)
    File "/tmp/pip-build-env-dc4w78cb/overlay/lib/python3.12/site-packages/Cython/Distutils/build_ext.py", line 135, in build_extension
      super(build_ext, self).build_extension(ext)
    File "/tmp/pip-build-env-dc4w78cb/overlay/lib/python3.12/site-packages/setuptools/_distutils/command/build_ext.py", line 548, in build_extension
      objects = self.compiler.compile(
                ^^^^^^^^^^^^^^^^^^^^^^
    File "/tmp/pip-build-env-dc4w78cb/overlay/lib/python3.12/site-packages/setuptools/_distutils/ccompiler.py", line 600, in compile
      self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts)
    File "/tmp/pip-build-env-dc4w78cb/overlay/lib/python3.12/site-packages/setuptools/_distutils/unixccompiler.py", line 187, in _compile
      raise CompileError(msg)
  distutils.errors.CompileError: command '/usr/bin/gcc' failed with exit code 1
  /tmp/pip-build-env-dc4w78cb/overlay/lib/python3.12/site-packages/setuptools/_distutils/dist.py:988: _DebuggingTips: Problem in editable installation.
  !!
  
          ********************************************************************************
          An error happened while installing `pegasusio` in editable mode.
  
          The following steps are recommended to help debug this problem:
  
          - Try to install the project normally, without using the editable mode.
            Does the error still persist?
            (If it does, try fixing the problem before attempting the editable mode).
          - If you are using binary extensions, make sure you have all OS-level
            dependencies installed (e.g. compilers, toolchains, binary libraries, ...).
          - Try the latest version of setuptools (maybe the error was already fixed).
          - If you (or your project dependencies) are using any setuptools extension
            or customization, make sure they support the editable mode.
  
          After following the steps above, if the problem still persists and
          you think this is related to how setuptools handles editable installations,
          please submit a reproducible example
          (see https://stackoverflow.com/help/minimal-reproducible-example) to:
  
              https://github.com/pypa/setuptools/issues
  
          See https://setuptools.pypa.io/en/latest/userguide/development_mode.html for details.
          ********************************************************************************
  
  !!
    cmd_obj.run()
  error: command '/usr/bin/gcc' failed with exit code 1
  [end of output]

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

@yihming
Copy link
Member

yihming commented Mar 15, 2024

Hi @jiananwehi . As I replied in lilab-bcb/demuxEM#17, could you please check the version of GCC compiler in your system? Thanks!

@yihming
Copy link
Member

yihming commented Mar 15, 2024

Although not listed, I could confirm that pegasusio could be installed in Python 3.12 environment.

Based on https://stackoverflow.com/questions/20326604/stdatomic-h-in-gcc-4-8, it seems the issue with "stdatomic.h" file missing was fixed for GCC v4.9+.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants