skovaka / uncalled4

MIT License
43 stars 3 forks source link

Error in pip install uncalled4 - failed building wheel for uncalled4 #5

Closed heruiyang closed 8 months ago

heruiyang commented 8 months ago

Hi, I'm currently trying to install uncalled4 on a linux server running CentOS 7. I've created a new conda environement with python 3.9.18 (although I get the same error with 3.8.18) and get the following error when running pip install uncalled4:

Building wheels for collected packages: uncalled4
  Building wheel for uncalled4 (setup.py) ... error
  error: subprocess-exited-with-error

  × python setup.py bdist_wheel did not run successfully.
  │ exit code: 1
  ╰─> [519 lines of output]
      /gpfs/commons/home/rhe/.conda/envs/sc_analysis/lib/python3.9/site-packages/setuptools/__init__.py:84: _DeprecatedInstaller: setuptools.installer and fetch_build_eggs are deprecated.
      !!

              ********************************************************************************
              Requirements should be satisfied by a PEP 517 installer.
              If you are using pip, you can try `pip install --use-pep517`.
              ********************************************************************************

      !!
        dist.fetch_build_eggs(dist.setup_requires)
      /gpfs/commons/home/rhe/.conda/envs/sc_analysis/lib/python3.9/site-packages/setuptools/_distutils/dist.py:265: UserWarning: Unknown distribution option: 'build_backend'
        warnings.warn(msg)
      running bdist_wheel
      running build
      running build_py
      creating build
      creating build/lib.linux-x86_64-cpython-39
      creating build/lib.linux-x86_64-cpython-39/uncalled4
      copying src/uncalled4/__about__.py -> build/lib.linux-x86_64-cpython-39/uncalled4
      copying src/uncalled4/__init__.py -> build/lib.linux-x86_64-cpython-39/uncalled4
      copying src/uncalled4/__main__.py -> build/lib.linux-x86_64-cpython-39/uncalled4
      copying src/uncalled4/align.py -> build/lib.linux-x86_64-cpython-39/uncalled4
      copying src/uncalled4/argparse.py -> build/lib.linux-x86_64-cpython-39/uncalled4
      copying src/uncalled4/config.py -> build/lib.linux-x86_64-cpython-39/uncalled4
      copying src/uncalled4/moves.py -> build/lib.linux-x86_64-cpython-39/uncalled4
      copying src/uncalled4/params.py -> build/lib.linux-x86_64-cpython-39/uncalled4
      copying src/uncalled4/pore_model.py -> build/lib.linux-x86_64-cpython-39/uncalled4
      copying src/uncalled4/read_index.py -> build/lib.linux-x86_64-cpython-39/uncalled4
      copying src/uncalled4/ref_index.py -> build/lib.linux-x86_64-cpython-39/uncalled4
      copying src/uncalled4/signal_processor.py -> build/lib.linux-x86_64-cpython-39/uncalled4
      copying src/uncalled4/tracks.py -> build/lib.linux-x86_64-cpython-39/uncalled4
      copying src/uncalled4/train.py -> build/lib.linux-x86_64-cpython-39/uncalled4
      creating build/lib.linux-x86_64-cpython-39/uncalled4/io
      copying src/uncalled4/io/__init__.py -> build/lib.linux-x86_64-cpython-39/uncalled4/io
      copying src/uncalled4/io/bam.py -> build/lib.linux-x86_64-cpython-39/uncalled4/io
      copying src/uncalled4/io/eventalign.py -> build/lib.linux-x86_64-cpython-39/uncalled4/io
      copying src/uncalled4/io/m6anet.py -> build/lib.linux-x86_64-cpython-39/uncalled4/io
      copying src/uncalled4/io/model_trainer.py -> build/lib.linux-x86_64-cpython-39/uncalled4/io
      copying src/uncalled4/io/tombo.py -> build/lib.linux-x86_64-cpython-39/uncalled4/io
      copying src/uncalled4/io/tsv.py -> build/lib.linux-x86_64-cpython-39/uncalled4/io
      creating build/lib.linux-x86_64-cpython-39/uncalled4/stats
      copying src/uncalled4/stats/__init__.py -> build/lib.linux-x86_64-cpython-39/uncalled4/stats
      copying src/uncalled4/stats/layerstats.py -> build/lib.linux-x86_64-cpython-39/uncalled4/stats
      copying src/uncalled4/stats/readstats.py -> build/lib.linux-x86_64-cpython-39/uncalled4/stats
      copying src/uncalled4/stats/refstats.py -> build/lib.linux-x86_64-cpython-39/uncalled4/stats
      creating build/lib.linux-x86_64-cpython-39/uncalled4/vis
      copying src/uncalled4/vis/__init__.py -> build/lib.linux-x86_64-cpython-39/uncalled4/vis
      copying src/uncalled4/vis/browser.py -> build/lib.linux-x86_64-cpython-39/uncalled4/vis
      copying src/uncalled4/vis/dotplot.py -> build/lib.linux-x86_64-cpython-39/uncalled4/vis
      copying src/uncalled4/vis/refplot.py -> build/lib.linux-x86_64-cpython-39/uncalled4/vis
      copying src/uncalled4/vis/sigplot.py -> build/lib.linux-x86_64-cpython-39/uncalled4/vis
      copying src/uncalled4/vis/trackplot.py -> build/lib.linux-x86_64-cpython-39/uncalled4/vis
      running egg_info
      writing src/uncalled4.egg-info/PKG-INFO
      writing dependency_links to src/uncalled4.egg-info/dependency_links.txt
      writing entry points to src/uncalled4.egg-info/entry_points.txt
      writing requirements to src/uncalled4.egg-info/requires.txt
      writing top-level names to src/uncalled4.egg-info/top_level.txt
      reading manifest file 'src/uncalled4.egg-info/SOURCES.txt'
      reading manifest template 'MANIFEST.in'
      adding license file 'LICENSE'
      writing manifest file 'src/uncalled4.egg-info/SOURCES.txt'
      /gpfs/commons/home/rhe/.conda/envs/sc_analysis/lib/python3.9/site-packages/setuptools/command/build_py.py:204: _Warning: Package 'uncalled4.__pycache__' is absent from the `packages` configuration.
      !!

              ********************************************************************************
              ############################
              # Package would be ignored #
              ############################
              Python recognizes 'uncalled4.__pycache__' as an importable package[^1],
              but it is absent from setuptools' `packages` configuration.

              This leads to an ambiguous overall configuration. If you want to distribute this
              package, please make sure that 'uncalled4.__pycache__' is explicitly added
              to the `packages` configuration field.

              Alternatively, you can also rely on setuptools' discovery methods
              (for example by using `find_namespace_packages(...)`/`find_namespace:`
              instead of `find_packages(...)`/`find:`).

              You can read more about "package discovery" on setuptools documentation page:

              - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html

              If you don't want 'uncalled4.__pycache__' to be distributed and are
              already explicitly excluding 'uncalled4.__pycache__' via
              `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,
              you can try to use `exclude_package_data`, or `include-package-data=False` in
              combination with a more fine grained `package-data` configuration.

              You can read more about "package data files" on setuptools documentation page:

              - https://setuptools.pypa.io/en/latest/userguide/datafiles.html

              [^1]: For Python, any directory (with suitable naming) can be imported,
                    even if it does not contain any `.py` files.
                    On the other hand, currently there is no concept of package data
                    directory, all directories are treated like packages.
              ********************************************************************************

      !!
        check.warn(importable)
      /gpfs/commons/home/rhe/.conda/envs/sc_analysis/lib/python3.9/site-packages/setuptools/command/build_py.py:204: _Warning: Package 'uncalled4.io.__pycache__' is absent from the `packages` configuration.
      !!

              ********************************************************************************
              ############################
              # Package would be ignored #
              ############################
              Python recognizes 'uncalled4.io.__pycache__' as an importable package[^1],
              but it is absent from setuptools' `packages` configuration.

              This leads to an ambiguous overall configuration. If you want to distribute this
              package, please make sure that 'uncalled4.io.__pycache__' is explicitly added
              to the `packages` configuration field.

              Alternatively, you can also rely on setuptools' discovery methods
              (for example by using `find_namespace_packages(...)`/`find_namespace:`
              instead of `find_packages(...)`/`find:`).

              You can read more about "package discovery" on setuptools documentation page:

              - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html

              If you don't want 'uncalled4.io.__pycache__' to be distributed and are
              already explicitly excluding 'uncalled4.io.__pycache__' via
              `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,
              you can try to use `exclude_package_data`, or `include-package-data=False` in
              combination with a more fine grained `package-data` configuration.

              You can read more about "package data files" on setuptools documentation page:

              - https://setuptools.pypa.io/en/latest/userguide/datafiles.html

              [^1]: For Python, any directory (with suitable naming) can be imported,
                    even if it does not contain any `.py` files.
                    On the other hand, currently there is no concept of package data
                    directory, all directories are treated like packages.
              ********************************************************************************

      !!
        check.warn(importable)
      /gpfs/commons/home/rhe/.conda/envs/sc_analysis/lib/python3.9/site-packages/setuptools/command/build_py.py:204: _Warning: Package 'uncalled4.models' is absent from the `packages` configuration.
      !!

              ********************************************************************************
              ############################
              # Package would be ignored #
              ############################
              Python recognizes 'uncalled4.models' as an importable package[^1],
              but it is absent from setuptools' `packages` configuration.

              This leads to an ambiguous overall configuration. If you want to distribute this
              package, please make sure that 'uncalled4.models' is explicitly added
              to the `packages` configuration field.

              Alternatively, you can also rely on setuptools' discovery methods
              (for example by using `find_namespace_packages(...)`/`find_namespace:`
              instead of `find_packages(...)`/`find:`).

              You can read more about "package discovery" on setuptools documentation page:

              - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html

              If you don't want 'uncalled4.models' to be distributed and are
              already explicitly excluding 'uncalled4.models' via
              `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,
              you can try to use `exclude_package_data`, or `include-package-data=False` in
              combination with a more fine grained `package-data` configuration.

              You can read more about "package data files" on setuptools documentation page:

              - https://setuptools.pypa.io/en/latest/userguide/datafiles.html

              [^1]: For Python, any directory (with suitable naming) can be imported,
                    even if it does not contain any `.py` files.
                    On the other hand, currently there is no concept of package data
                    directory, all directories are treated like packages.
              ********************************************************************************

      !!
        check.warn(importable)
      /gpfs/commons/home/rhe/.conda/envs/sc_analysis/lib/python3.9/site-packages/setuptools/command/build_py.py:204: _Warning: Package 'uncalled4.models.tombo' is absent from the `packages` configuration.
      !!

              ********************************************************************************
              ############################
              # Package would be ignored #
              ############################
              Python recognizes 'uncalled4.models.tombo' as an importable package[^1],
              but it is absent from setuptools' `packages` configuration.

              This leads to an ambiguous overall configuration. If you want to distribute this
              package, please make sure that 'uncalled4.models.tombo' is explicitly added
              to the `packages` configuration field.

              Alternatively, you can also rely on setuptools' discovery methods
              (for example by using `find_namespace_packages(...)`/`find_namespace:`
              instead of `find_packages(...)`/`find:`).

              You can read more about "package discovery" on setuptools documentation page:

              - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html

              If you don't want 'uncalled4.models.tombo' to be distributed and are
              already explicitly excluding 'uncalled4.models.tombo' via
              `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,
              you can try to use `exclude_package_data`, or `include-package-data=False` in
              combination with a more fine grained `package-data` configuration.

              You can read more about "package data files" on setuptools documentation page:

              - https://setuptools.pypa.io/en/latest/userguide/datafiles.html

              [^1]: For Python, any directory (with suitable naming) can be imported,
                    even if it does not contain any `.py` files.
                    On the other hand, currently there is no concept of package data
                    directory, all directories are treated like packages.
              ********************************************************************************

      !!
        check.warn(importable)
      /gpfs/commons/home/rhe/.conda/envs/sc_analysis/lib/python3.9/site-packages/setuptools/command/build_py.py:204: _Warning: Package 'uncalled4.stats.__pycache__' is absent from the `packages` configuration.
      !!

              ********************************************************************************
              ############################
              # Package would be ignored #
              ############################
              Python recognizes 'uncalled4.stats.__pycache__' as an importable package[^1],
              but it is absent from setuptools' `packages` configuration.

              This leads to an ambiguous overall configuration. If you want to distribute this
              package, please make sure that 'uncalled4.stats.__pycache__' is explicitly added
              to the `packages` configuration field.

              Alternatively, you can also rely on setuptools' discovery methods
              (for example by using `find_namespace_packages(...)`/`find_namespace:`
              instead of `find_packages(...)`/`find:`).

              You can read more about "package discovery" on setuptools documentation page:

              - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html

              If you don't want 'uncalled4.stats.__pycache__' to be distributed and are
              already explicitly excluding 'uncalled4.stats.__pycache__' via
              `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,
              you can try to use `exclude_package_data`, or `include-package-data=False` in
              combination with a more fine grained `package-data` configuration.

              You can read more about "package data files" on setuptools documentation page:

              - https://setuptools.pypa.io/en/latest/userguide/datafiles.html

              [^1]: For Python, any directory (with suitable naming) can be imported,
                    even if it does not contain any `.py` files.
                    On the other hand, currently there is no concept of package data
                    directory, all directories are treated like packages.
              ********************************************************************************

      !!
        check.warn(importable)
      /gpfs/commons/home/rhe/.conda/envs/sc_analysis/lib/python3.9/site-packages/setuptools/command/build_py.py:204: _Warning: Package 'uncalled4.vis.__pycache__' is absent from the `packages` configuration.
      !!

              ********************************************************************************
              ############################
              # Package would be ignored #
              ############################
              Python recognizes 'uncalled4.vis.__pycache__' as an importable package[^1],
              but it is absent from setuptools' `packages` configuration.

              This leads to an ambiguous overall configuration. If you want to distribute this
              package, please make sure that 'uncalled4.vis.__pycache__' is explicitly added
              to the `packages` configuration field.

              Alternatively, you can also rely on setuptools' discovery methods
              (for example by using `find_namespace_packages(...)`/`find_namespace:`
              instead of `find_packages(...)`/`find:`).

              You can read more about "package discovery" on setuptools documentation page:

              - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html

              If you don't want 'uncalled4.vis.__pycache__' to be distributed and are
              already explicitly excluding 'uncalled4.vis.__pycache__' via
              `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,
              you can try to use `exclude_package_data`, or `include-package-data=False` in
              combination with a more fine grained `package-data` configuration.

              You can read more about "package data files" on setuptools documentation page:

              - https://setuptools.pypa.io/en/latest/userguide/datafiles.html

              [^1]: For Python, any directory (with suitable naming) can be imported,
                    even if it does not contain any `.py` files.
                    On the other hand, currently there is no concept of package data
                    directory, all directories are treated like packages.
              ********************************************************************************

      !!
        check.warn(importable)
      /gpfs/commons/home/rhe/.conda/envs/sc_analysis/lib/python3.9/site-packages/setuptools/command/build_py.py:204: _Warning: Package 'uncalled4.vis.assets' is absent from the `packages` configuration.
      !!

              ********************************************************************************
              ############################
              # Package would be ignored #
              ############################
              Python recognizes 'uncalled4.vis.assets' as an importable package[^1],
              but it is absent from setuptools' `packages` configuration.

              This leads to an ambiguous overall configuration. If you want to distribute this
              package, please make sure that 'uncalled4.vis.assets' is explicitly added
              to the `packages` configuration field.

              Alternatively, you can also rely on setuptools' discovery methods
              (for example by using `find_namespace_packages(...)`/`find_namespace:`
              instead of `find_packages(...)`/`find:`).

              You can read more about "package discovery" on setuptools documentation page:

              - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html

              If you don't want 'uncalled4.vis.assets' to be distributed and are
              already explicitly excluding 'uncalled4.vis.assets' via
              `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,
              you can try to use `exclude_package_data`, or `include-package-data=False` in
              combination with a more fine grained `package-data` configuration.

              You can read more about "package data files" on setuptools documentation page:

              - https://setuptools.pypa.io/en/latest/userguide/datafiles.html

              [^1]: For Python, any directory (with suitable naming) can be imported,
                    even if it does not contain any `.py` files.
                    On the other hand, currently there is no concept of package data
                    directory, all directories are treated like packages.
              ********************************************************************************

      !!
        check.warn(importable)
      creating build/lib.linux-x86_64-cpython-39/uncalled4/__pycache__
      copying src/uncalled4/__pycache__/__about__.cpython-38.pyc -> build/lib.linux-x86_64-cpython-39/uncalled4/__pycache__
      copying src/uncalled4/__pycache__/__init__.cpython-38.pyc -> build/lib.linux-x86_64-cpython-39/uncalled4/__pycache__
      copying src/uncalled4/__pycache__/__main__.cpython-38.pyc -> build/lib.linux-x86_64-cpython-39/uncalled4/__pycache__
      copying src/uncalled4/__pycache__/align.cpython-38.pyc -> build/lib.linux-x86_64-cpython-39/uncalled4/__pycache__
      copying src/uncalled4/__pycache__/aln.cpython-38.pyc -> build/lib.linux-x86_64-cpython-39/uncalled4/__pycache__
      copying src/uncalled4/__pycache__/aln_track.cpython-38.pyc -> build/lib.linux-x86_64-cpython-39/uncalled4/__pycache__
      copying src/uncalled4/__pycache__/argparse.cpython-38.pyc -> build/lib.linux-x86_64-cpython-39/uncalled4/__pycache__
      copying src/uncalled4/__pycache__/config.cpython-38.pyc -> build/lib.linux-x86_64-cpython-39/uncalled4/__pycache__
      copying src/uncalled4/__pycache__/dtw.cpython-38.pyc -> build/lib.linux-x86_64-cpython-39/uncalled4/__pycache__
      copying src/uncalled4/__pycache__/index.cpython-38.pyc -> build/lib.linux-x86_64-cpython-39/uncalled4/__pycache__
      copying src/uncalled4/__pycache__/layers.cpython-38.pyc -> build/lib.linux-x86_64-cpython-39/uncalled4/__pycache__
      copying src/uncalled4/__pycache__/moves.cpython-38.pyc -> build/lib.linux-x86_64-cpython-39/uncalled4/__pycache__
      copying src/uncalled4/__pycache__/params.cpython-38.pyc -> build/lib.linux-x86_64-cpython-39/uncalled4/__pycache__
      copying src/uncalled4/__pycache__/pore_model.cpython-38.pyc -> build/lib.linux-x86_64-cpython-39/uncalled4/__pycache__
      copying src/uncalled4/__pycache__/read_index.cpython-38.pyc -> build/lib.linux-x86_64-cpython-39/uncalled4/__pycache__
      copying src/uncalled4/__pycache__/ref_index.cpython-38.pyc -> build/lib.linux-x86_64-cpython-39/uncalled4/__pycache__
      copying src/uncalled4/__pycache__/signal_processor.cpython-38.pyc -> build/lib.linux-x86_64-cpython-39/uncalled4/__pycache__
      copying src/uncalled4/__pycache__/tracks.cpython-38.pyc -> build/lib.linux-x86_64-cpython-39/uncalled4/__pycache__
      copying src/uncalled4/__pycache__/train.cpython-38.pyc -> build/lib.linux-x86_64-cpython-39/uncalled4/__pycache__
      creating build/lib.linux-x86_64-cpython-39/uncalled4/models
      copying src/uncalled4/models/README.txt -> build/lib.linux-x86_64-cpython-39/uncalled4/models
      copying src/uncalled4/models/dna_r10.4.1_400bps_9mer.npz -> build/lib.linux-x86_64-cpython-39/uncalled4/models
      copying src/uncalled4/models/dna_r9.4.1_400bps_6mer.npz -> build/lib.linux-x86_64-cpython-39/uncalled4/models
      copying src/uncalled4/models/presets.tsv -> build/lib.linux-x86_64-cpython-39/uncalled4/models
      copying src/uncalled4/models/rna_r9.4.1_70bps_5mer.npz -> build/lib.linux-x86_64-cpython-39/uncalled4/models
      creating build/lib.linux-x86_64-cpython-39/uncalled4/models/tombo
      copying src/uncalled4/models/tombo/dna_r9.4.1_400bps_6mer.npz -> build/lib.linux-x86_64-cpython-39/uncalled4/models/tombo
      copying src/uncalled4/models/tombo/rna_r9.4.1_70bps_5mer.npz -> build/lib.linux-x86_64-cpython-39/uncalled4/models/tombo
      creating build/lib.linux-x86_64-cpython-39/uncalled4/io/__pycache__
      copying src/uncalled4/io/__pycache__/__init__.cpython-38.pyc -> build/lib.linux-x86_64-cpython-39/uncalled4/io/__pycache__
      copying src/uncalled4/io/__pycache__/bam.cpython-38.pyc -> build/lib.linux-x86_64-cpython-39/uncalled4/io/__pycache__
      copying src/uncalled4/io/__pycache__/eventalign.cpython-38.pyc -> build/lib.linux-x86_64-cpython-39/uncalled4/io/__pycache__
      copying src/uncalled4/io/__pycache__/guppy.cpython-38.pyc -> build/lib.linux-x86_64-cpython-39/uncalled4/io/__pycache__
      copying src/uncalled4/io/__pycache__/m6anet.cpython-38.pyc -> build/lib.linux-x86_64-cpython-39/uncalled4/io/__pycache__
      copying src/uncalled4/io/__pycache__/model.cpython-38.pyc -> build/lib.linux-x86_64-cpython-39/uncalled4/io/__pycache__
      copying src/uncalled4/io/__pycache__/model_trainer.cpython-38.pyc -> build/lib.linux-x86_64-cpython-39/uncalled4/io/__pycache__
      copying src/uncalled4/io/__pycache__/sqlite.cpython-38.pyc -> build/lib.linux-x86_64-cpython-39/uncalled4/io/__pycache__
      copying src/uncalled4/io/__pycache__/tombo.cpython-38.pyc -> build/lib.linux-x86_64-cpython-39/uncalled4/io/__pycache__
      copying src/uncalled4/io/__pycache__/tsv.cpython-38.pyc -> build/lib.linux-x86_64-cpython-39/uncalled4/io/__pycache__
      creating build/lib.linux-x86_64-cpython-39/uncalled4/stats/__pycache__
      copying src/uncalled4/stats/__pycache__/__init__.cpython-37.pyc -> build/lib.linux-x86_64-cpython-39/uncalled4/stats/__pycache__
      copying src/uncalled4/stats/__pycache__/__init__.cpython-38.pyc -> build/lib.linux-x86_64-cpython-39/uncalled4/stats/__pycache__
      copying src/uncalled4/stats/__pycache__/__init__.cpython-39.pyc -> build/lib.linux-x86_64-cpython-39/uncalled4/stats/__pycache__
      copying src/uncalled4/stats/__pycache__/_dtwstats.cpython-37.pyc -> build/lib.linux-x86_64-cpython-39/uncalled4/stats/__pycache__
      copying src/uncalled4/stats/__pycache__/_dtwstats.cpython-38.pyc -> build/lib.linux-x86_64-cpython-39/uncalled4/stats/__pycache__
      copying src/uncalled4/stats/__pycache__/_readstats.cpython-37.pyc -> build/lib.linux-x86_64-cpython-39/uncalled4/stats/__pycache__
      copying src/uncalled4/stats/__pycache__/_readstats.cpython-38.pyc -> build/lib.linux-x86_64-cpython-39/uncalled4/stats/__pycache__
      copying src/uncalled4/stats/__pycache__/_refstats.cpython-37.pyc -> build/lib.linux-x86_64-cpython-39/uncalled4/stats/__pycache__
      copying src/uncalled4/stats/__pycache__/_refstats.cpython-38.pyc -> build/lib.linux-x86_64-cpython-39/uncalled4/stats/__pycache__
      copying src/uncalled4/stats/__pycache__/dtwstats.cpython-38.pyc -> build/lib.linux-x86_64-cpython-39/uncalled4/stats/__pycache__
      copying src/uncalled4/stats/__pycache__/layerstats.cpython-38.pyc -> build/lib.linux-x86_64-cpython-39/uncalled4/stats/__pycache__
      copying src/uncalled4/stats/__pycache__/layerstats.cpython-39.pyc -> build/lib.linux-x86_64-cpython-39/uncalled4/stats/__pycache__
      copying src/uncalled4/stats/__pycache__/refstats.cpython-38.pyc -> build/lib.linux-x86_64-cpython-39/uncalled4/stats/__pycache__
      copying src/uncalled4/stats/__pycache__/refstats.cpython-39.pyc -> build/lib.linux-x86_64-cpython-39/uncalled4/stats/__pycache__
      creating build/lib.linux-x86_64-cpython-39/uncalled4/vis/__pycache__
      copying src/uncalled4/vis/__pycache__/__init__.cpython-37.pyc -> build/lib.linux-x86_64-cpython-39/uncalled4/vis/__pycache__
      copying src/uncalled4/vis/__pycache__/__init__.cpython-38.pyc -> build/lib.linux-x86_64-cpython-39/uncalled4/vis/__pycache__
      copying src/uncalled4/vis/__pycache__/__init__.cpython-39.pyc -> build/lib.linux-x86_64-cpython-39/uncalled4/vis/__pycache__
      copying src/uncalled4/vis/__pycache__/browser.cpython-37.pyc -> build/lib.linux-x86_64-cpython-39/uncalled4/vis/__pycache__
      copying src/uncalled4/vis/__pycache__/browser.cpython-38.pyc -> build/lib.linux-x86_64-cpython-39/uncalled4/vis/__pycache__
      copying src/uncalled4/vis/__pycache__/browser.cpython-39.pyc -> build/lib.linux-x86_64-cpython-39/uncalled4/vis/__pycache__
      copying src/uncalled4/vis/__pycache__/dotplot.cpython-37.pyc -> build/lib.linux-x86_64-cpython-39/uncalled4/vis/__pycache__
      copying src/uncalled4/vis/__pycache__/dotplot.cpython-38.pyc -> build/lib.linux-x86_64-cpython-39/uncalled4/vis/__pycache__
      copying src/uncalled4/vis/__pycache__/dotplot.cpython-39.pyc -> build/lib.linux-x86_64-cpython-39/uncalled4/vis/__pycache__
      copying src/uncalled4/vis/__pycache__/refplot.cpython-38.pyc -> build/lib.linux-x86_64-cpython-39/uncalled4/vis/__pycache__
      copying src/uncalled4/vis/__pycache__/sigplot.cpython-37.pyc -> build/lib.linux-x86_64-cpython-39/uncalled4/vis/__pycache__
      copying src/uncalled4/vis/__pycache__/sigplot.cpython-38.pyc -> build/lib.linux-x86_64-cpython-39/uncalled4/vis/__pycache__
      copying src/uncalled4/vis/__pycache__/sigplot.cpython-39.pyc -> build/lib.linux-x86_64-cpython-39/uncalled4/vis/__pycache__
      copying src/uncalled4/vis/__pycache__/trackplot.cpython-38.pyc -> build/lib.linux-x86_64-cpython-39/uncalled4/vis/__pycache__
      copying src/uncalled4/vis/__pycache__/trackplot.cpython-39.pyc -> build/lib.linux-x86_64-cpython-39/uncalled4/vis/__pycache__
      creating build/lib.linux-x86_64-cpython-39/uncalled4/vis/assets
      copying src/uncalled4/vis/assets/.browser.js.swp -> build/lib.linux-x86_64-cpython-39/uncalled4/vis/assets
      copying src/uncalled4/vis/assets/browser.css -> build/lib.linux-x86_64-cpython-39/uncalled4/vis/assets
      copying src/uncalled4/vis/assets/browser.js -> build/lib.linux-x86_64-cpython-39/uncalled4/vis/assets
      running build_ext
      building '_uncalled4' extension
      creating build/temp.linux-x86_64-cpython-39
      creating build/temp.linux-x86_64-cpython-39/src
      creating build/temp.linux-x86_64-cpython-39/src/cpp
      gcc -pthread -B /gpfs/commons/home/rhe/.conda/envs/sc_analysis/compiler_compat -Wno-unused-result -Wsign-compare -DNDEBUG -fwrapv -O2 -Wall -fPIC -O2 -isystem /gpfs/commons/home/rhe/.conda/envs/sc_analysis/include -fPIC -O2 -isystem /gpfs/commons/home/rhe/.conda/envs/sc_analysis/include -fPIC -DPYBIND -I/scratch/pip-install-kub6uvfg/uncalled4_c37cc4b81aa64e71b6bc841518361db1/.eggs/pybind11-2.11.1-py3.9.egg/pybind11/include -I./src/cpp/ -I/gpfs/commons/home/rhe/.conda/envs/sc_analysis/include/python3.9 -c src/cpp/config.cpp -o build/temp.linux-x86_64-cpython-39/src/cpp/config.o -std=c++11 -O3 -g
      In file included from src/cpp/dtw.hpp:7:0,
                       from src/cpp/config.hpp:30,
                       from src/cpp/config.cpp:1:
      src/cpp/util.hpp: In instantiation of ‘struct PyArray<int>’:
      src/cpp/intervals.hpp:110:20:   required from here
      src/cpp/util.hpp:192:8: warning: ‘PyArray<int>’ declared with greater visibility than the type of its field ‘PyArray<int>::info’ [-Wattributes]
       struct PyArray {
              ^
      src/cpp/util.hpp: In instantiation of ‘struct PyArray<bool>’:
      src/cpp/read_buffer.hpp:99:38:   required from here
      src/cpp/util.hpp:192:8: warning: ‘PyArray<bool>’ declared with greater visibility than the type of its field ‘PyArray<bool>::info’ [-Wattributes]
      In file included from src/cpp/aln.hpp:11:0,
                       from src/cpp/dtw.hpp:9,
                       from src/cpp/config.hpp:30,
                       from src/cpp/config.cpp:1:
      src/cpp/event_detector.hpp: In member function ‘size_t ProcessedRead::hard_mask(IntervalIndex<int>)’:
      src/cpp/event_detector.hpp:64:82: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
                   while (i < events.size() && (events[i].start + events[i].length) < c.start) i++;
                                                                                        ^
      src/cpp/event_detector.hpp:65:61: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
                   while (i < events.size() && events[i].start < c.end) {
                                                                   ^
      src/cpp/event_detector.hpp: In member function ‘void ProcessedRead::normalize(NormVals)’:
      src/cpp/event_detector.hpp:147:46: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
               for (size_t i = prms.start; i < prms.end; i++) {
                                                    ^
      src/cpp/event_detector.hpp: In member function ‘void ProcessedRead::normalize(float, float)’:
      src/cpp/event_detector.hpp:158:35: warning: narrowing conversion of ‘((ProcessedRead*)this)->ProcessedRead::events.std::vector<_Tp, _Alloc>::size<Event, std::allocator<Event> >()’ from ‘std::vector<Event>::size_type {aka long unsigned int}’ to ‘i32 {aka int}’ inside { } [-Wnarrowing]
               normalize({0, events.size(), scale, shift});
                                         ^
      In file included from src/cpp/dtw.hpp:7:0,
                       from src/cpp/config.hpp:30,
                       from src/cpp/config.cpp:1:
      src/cpp/util.hpp: In instantiation of ‘struct PyArray<Event>’:
      src/cpp/event_detector.hpp:211:39:   required from here
      src/cpp/util.hpp:192:8: warning: ‘PyArray<Event>’ declared with greater visibility than the type of its field ‘PyArray<Event>::info’ [-Wattributes]
       struct PyArray {
              ^
      In file included from src/cpp/dtw.hpp:9:0,
                       from src/cpp/config.hpp:30,
                       from src/cpp/config.cpp:1:
      src/cpp/aln.hpp: In constructor ‘CmpDF::CmpDF(AlnDF&, AlnDF&, bool)’:
      src/cpp/aln.hpp:187:13: warning: unused variable ‘ref’ [-Wunused-variable]
               i64 ref;
                   ^
      src/cpp/aln.hpp: In constructor ‘CmpDF::DistIter::DistIter(AlnDF&, AlnDF&)’:
      src/cpp/aln.hpp:256:36: error: invalid initialization of non-const reference of type ‘AlnDF&’ from an rvalue of type ‘<brace-enclosed initializer list>’
                   a{a_}, b{b_}, i{0}, j{0} {}
                                          ^
      src/cpp/aln.hpp:256:36: error: invalid initialization of non-const reference of type ‘AlnDF&’ from an rvalue of type ‘<brace-enclosed initializer list>’
      src/cpp/aln.hpp: In member function ‘CmpDF::DistIter::Coefs CmpDF::DistIter::next_dist(int)’:
      src/cpp/aln.hpp:279:21: warning: unused variable ‘dist’ [-Wunused-variable]
                   int len,dist;
                           ^
      In file included from src/cpp/dtw.hpp:7:0,
                       from src/cpp/config.hpp:30,
                       from src/cpp/config.cpp:1:
      src/cpp/util.hpp: In instantiation of ‘struct PyArray<float>’:
      src/cpp/aln.hpp:383:23:   required from here
      src/cpp/util.hpp:192:8: warning: ‘PyArray<float>’ declared with greater visibility than the type of its field ‘PyArray<float>::info’ [-Wattributes]
       struct PyArray {
              ^
      In file included from src/cpp/config.hpp:30:0,
                       from src/cpp/config.cpp:1:
      src/cpp/dtw.hpp: At global scope:
      src/cpp/dtw.hpp:246:77: error: array must be initialized with a brace-enclosed initializer
           static constexpr NameArray names = {"start", "length", "current", "stdv"};
                                                                                   ^
      src/cpp/dtw.hpp:246:77: error: too many initializers for ‘const NameArray {aka const std::array<const char*, 4ul>}’
      src/cpp/dtw.hpp:251:22: warning: the ellipsis in ‘DataFrame<Types>::DataFrame(size_t, bool, ...) [with Types = {int, int, float, float}; size_t = long unsigned int]’ is not inherited [-Winherited-variadic-ctor]
           using DataFrame::DataFrame;
                            ^
      In file included from src/cpp/pore_model.hpp:37:0,
                       from src/cpp/seq.hpp:32,
                       from src/cpp/dtw.hpp:8,
                       from src/cpp/config.hpp:30,
                       from src/cpp/config.cpp:1:
      src/cpp/intervals.hpp:516:5: note: ‘DataFrame<Types>::DataFrame(size_t, bool, ...) [with Types = {int, int, float, float}; size_t = long unsigned int]’ declared here
           DataFrame(size_t length, bool full...) :
           ^
      In file included from src/cpp/dtw.hpp:7:0,
                       from src/cpp/config.hpp:30,
                       from src/cpp/config.cpp:1:
      src/cpp/util.hpp: In instantiation of ‘struct PyArray<Coord>’:
      src/cpp/dtw.hpp:395:26:   required from here
      src/cpp/util.hpp:192:8: warning: ‘PyArray<Coord>’ declared with greater visibility than the type of its field ‘PyArray<Coord>::info’ [-Wattributes]
       struct PyArray {
              ^
      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 wheel for uncalled4
  Running setup.py clean for uncalled4
Failed to build uncalled4
ERROR: Could not build wheels for uncalled4, which is required to install pyproject.toml-based projects

Not sure if this is an error with a specific gcc version (running /usr/bin/gcc --version returns 4.8.5), any help or hints would be greatly appreciated!

skovaka commented 8 months ago

It looks likely to be a GCC version issue. We require at least C++11, which is supported by GCC >=4.8 so in theory you should be fine, but the oldest version I've tested is 7.5.0. If it's easy for you to try a newer GCC I recommend that, otherwise I can try downgrading to fix those errors

heruiyang commented 8 months ago

Thanks for the prompt reply! Upgrading to gcc 4.9.2 (and above) fixed the issue.