merenlab / anvio

An analysis and visualization platform for 'omics data
http://merenlab.org/software/anvio
GNU General Public License v3.0
442 stars 146 forks source link

[FEATURE REQUEST] Update Python dependency from 3.6 to 3.10 #1911

Closed meren closed 1 year ago

meren commented 2 years ago

The need

Anvi'o currently requires Python 3.6. Which is ancient .. and no longer supported.

The solution

The upgrade to Python 3.10 is not as simple as simply changing the Python version while setting up the conda environment for anvi'o. We have been stuck with Python 3.6 due to pandas and snakemake dependencies (newer versions of Python required newer versions of pandas and snakemake, but our codebase was not ready to work with the newer versions of pandas and snakemake).

The solution is to bite the bullet, start a new conda environment the following way,

conda create -y --name anvio-new-python-test python=3.10

And then,

Beneficiaries

Everyone everywhere. But especially Richard Fox at the MBL.

dgslos commented 1 year ago

Any progress on this?

meren commented 1 year ago

anvio-dev is at Python 3.7 and it seems we will stay there for a while.

dgslos commented 1 year ago

Python 3.7 is also end-of-life :(

meren commented 1 year ago

OK. Let me open this issue so maybe someone would like to take a look into it.

In essence, we are at the mercy of the developers of other tools that anvi'o and its users depend on. In our previous attempt to go bump ourselves all the way to Python 3.10, we realized that snakemake was not compatible with it and the best we could do was 3.7. Perhaps that issue is resolved and someone needs to test it.

Just for posterity, testing is straightforward. One can use,

anvi-self-test --suite mini
anvi-self-test --suite metagenomics-full
anvi-self-test --suite pangenomics
anvi-self-test --suite workflow-metagenomics
anvi-self-test --suite database-migrations

Best wishes,

dgslos commented 1 year ago

anvi-self-test --suite mini

:: Output directory ...

/tmp/tmpzmf73az4

:: Can has interactive displays? ...

Yes, anvi'o will try to show you interactive displays that will require you to come back to the terminal and press CTRL+C to continue

:: Anvi'o version ...

Anvi'o .......................................: hope (v7.1-dev)

Profile database .............................: 38
Contigs database .............................: 20
Pan database .................................: 16
Genome data storage ..........................: 7
Auxiliary data storage .......................: 2
Structure database ...........................: 2
Metabolic modules database ...................: 4
tRNA-seq database ............................: 2

:: Initializing raw BAM files ...

Traceback (most recent call last):
  File "/home/genomics/dslos/07_tools/anvio/bin/anvi-init-bam", line 80, in <module>
    init_bam_file(args.input_file, args.output_file, args.num_threads)
  File "/home/genomics/dslos/07_tools/anvio/bin/anvi-init-bam", line 49, in init_bam_file
    progress.update('Sorting BAM File... May take a while depending on the size.')
  File "/home/genomics/dslos/07_tools/anvio/anvio/terminal.py", line 308, in update
    self.write('\r[%s] %s' % (self.pid, msg))
  File "/home/genomics/dslos/07_tools/anvio/anvio/terminal.py", line 239, in write
    sys.stderr.write(back.CYAN + fore.BLACK + c + style.RESET)
AttributeError: 'function' object has no attribute 'CYAN'

Config Error: According to the exit code ('1'), anvi'o suspects that something may have gone
              wrong while running your tests :/ We hope that the reason is clear to you from
              the lines above. But if you don't see anything obvious, and especially if the
              test ended up running until the end with reasonable looking final results, you
              shouldn't worry too much about this error. Life is short and we all can worry
              just a bit less.

anvi-self-test --suite metagenomics-full


:: Output directory ...

/tmp/tmpnpi_7351

:: Can has interactive displays? ...

Yes, anvi'o will try to show you interactive displays that will require you to come back to the terminal and press CTRL+C to continue

:: Anvi'o version ...

Anvi'o .......................................: hope (v7.1-dev)

Profile database .............................: 38
Contigs database .............................: 20
Pan database .................................: 16
Genome data storage ..........................: 7
Auxiliary data storage .......................: 2
Structure database ...........................: 2
Metabolic modules database ...................: 4
tRNA-seq database ............................: 2

:: Reformat the contigs FASTA ...

./run_component_tests_for_metagenomics.sh: line 9: anvi-script-reformat-fasta: command not found

Config Error: According to the exit code ('127'), anvi'o suspects that something may have gone
              wrong while running your tests :/ We hope that the reason is clear to you from
              the lines above. But if you don't see anything obvious, and especially if the
              test ended up running until the end with reasonable looking final results, you
              shouldn't worry too much about this error. Life is short and we all can worry
              just a bit less.

anvi-self-test --suite pangenomics


/tmp/tmpf7sehz76

:: Can has interactive displays? ...

Yes, anvi'o will try to show you interactive displays that will require you to come back to the terminal and press CTRL+C to continue

:: Anvi'o version ...

Anvi'o .......................................: hope (v7.1-dev)

Profile database .............................: 38
Contigs database .............................: 20
Pan database .................................: 16
Genome data storage ..........................: 7
Auxiliary data storage .......................: 2
Structure database ...........................: 2
Metabolic modules database ...................: 4
tRNA-seq database ............................: 2

:: Setting up the pan analysis directory ...

:: Generating an anvi'o genomes storage ...

WARNING
===============================================
Good news! Anvi'o found all these functions that are common to all of your
genomes and will use them for downstream analyses and is very proud of you:
'COG20_FUNCTION, COG20_PATHWAY, COG20_CATEGORY'.

Internal genomes .............................: 0 have been initialized.
Traceback (most recent call last):
  File "/home/genomics/dslos/07_tools/anvio/bin/anvi-gen-genomes-storage", line 56, in <module>
    genome_descriptions.load_genomes_descriptions()
  File "/home/genomics/dslos/07_tools/anvio/anvio/genomedescriptions.py", line 306, in load_genomes_descriptions
    self.init_external_genomes()
  File "/home/genomics/dslos/07_tools/anvio/anvio/genomedescriptions.py", line 519, in init_external_genomes
    contigs_db_summary = ContigSummarizer(c['contigs_db_path']).get_contigs_db_info_dict(gene_caller_to_use=self.gene_caller)
  File "/home/genomics/dslos/07_tools/anvio/anvio/summarizer.py", line 1071, in get_contigs_db_info_dict
    p_completion, p_redundancy, domain, domain_probabilities, info_text, results_dict = completeness.Completeness(self.contigs_db_path).get_info_for_splits(split_names if split_names else set(c.splits_basic_info.keys()))
  File "/home/genomics/dslos/07_tools/anvio/anvio/completeness.py", line 45, in __init__
    self.SCG_domain_predictor = scgdomainclassifier.Predict(argparse.Namespace(), run=terminal.Run(verbose=False), progress=self.progress)
  File "/home/genomics/dslos/07_tools/anvio/anvio/scgdomainclassifier.py", line 234, in __init__
    SCGDomainClassifier.__init__(self, args, run, progress)
  File "/home/genomics/dslos/07_tools/anvio/anvio/scgdomainclassifier.py", line 73, in __init__
    self.rf.initialize_classifier()
  File "/home/genomics/dslos/07_tools/anvio/anvio/learning.py", line 103, in initialize_classifier
    classifier_obj = pickle.load(open(self.classifier_object_path, 'rb'))
  File "sklearn/tree/_tree.pyx", line 714, in sklearn.tree._tree.Tree.__setstate__
  File "sklearn/tree/_tree.pyx", line 1418, in sklearn.tree._tree._check_node_ndarray
ValueError: node array from the pickle has an incompatible dtype:
- expected: {'names': ['left_child', 'right_child', 'feature', 'threshold', 'impurity', 'n_node_samples', 'weighted_n_node_samples', 'missing_go_to_left'], 'formats': ['<i8', '<i8', '<i8', '<f8', '<f8', '<i8', '<f8', 'u1'], 'offsets': [0, 8, 16, 24, 32, 40, 48, 56], 'itemsize': 64}
- got     : [('left_child', '<i8'), ('right_child', '<i8'), ('feature', '<i8'), ('threshold', '<f8'), ('impurity', '<f8'), ('n_node_samples', '<i8'), ('weighted_n_node_samples', '<f8')]

Config Error: According to the exit code ('1'), anvi'o suspects that something may have gone
              wrong while running your tests :/ We hope that the reason is clear to you from
              the lines above. But if you don't see anything obvious, and especially if the
              test ended up running until the end with reasonable looking final results, you
              shouldn't worry too much about this error. Life is short and we all can worry
              just a bit less.

anvi-self-test --suite workflow-metagenomics

:: Output directory ...

/tmp/tmp49puzbva

:: Can has interactive displays? ...

Yes, anvi'o will try to show you interactive displays that will require you to come back to the terminal and press CTRL+C to continue

:: Anvi'o version ...

Anvi'o .......................................: hope (v7.1-dev)

Profile database .............................: 38
Contigs database .............................: 20
Pan database .................................: 16
Genome data storage ..........................: 7
Auxiliary data storage .......................: 2
Structure database ...........................: 2
Metabolic modules database ...................: 4
tRNA-seq database ............................: 2

:: Setting up the metagenomics analysis directory ...

:: Creating a default config for metagenomics workflow ...

WARNING
===============================================
If you publish results from this workflow, please do not forget to cite
snakemake (doi:10.1093/bioinformatics/bts480)

HMM profiles .................................: 9 sources have been loaded: Archaea_76 (76 genes, domain: archaea), Bacteria_71 (71 genes, domain: bacteria), Protista_83 (83 genes, domain: eukarya),
                                                Ribosomal_RNA_12S (1 genes, domain: None), Ribosomal_RNA_16S (3 genes, domain: None), Ribosomal_RNA_18S (1 genes, domain: None), Ribosomal_RNA_23S (2 genes,
                                                domain: None), Ribosomal_RNA_28S (1 genes, domain: None), Ribosomal_RNA_5S (5 genes, domain: None)

WARNING
===============================================
We are initiating parameters for the metagenomics workflow

Default config file ..........................: Stored for workflow 'metagenomics' as 'default-config.json'.

:: List dependencies for metagenomics workflow with megahit ...

WARNING
===============================================
If you publish results from this workflow, please do not forget to cite
snakemake (doi:10.1093/bioinformatics/bts480)

HMM profiles .................................: 9 sources have been loaded: Archaea_76 (76 genes, domain: archaea), Bacteria_71 (71 genes, domain: bacteria), Protista_83 (83 genes, domain: eukarya),
                                                Ribosomal_RNA_12S (1 genes, domain: None), Ribosomal_RNA_16S (3 genes, domain: None), Ribosomal_RNA_18S (1 genes, domain: None), Ribosomal_RNA_23S (2 genes,
                                                domain: None), Ribosomal_RNA_28S (1 genes, domain: None), Ribosomal_RNA_5S (5 genes, domain: None)

WARNING
===============================================
We are initiating parameters for the metagenomics workflow

MAX NUMBER OF CPU CORES HEURISTIC
===============================================
You haven't set a global `max_threads` value in your config file, and you
haven't declared the maximum number of CPUs you wish to assign to this job via
`--cores`. But anvi'o found out that for the rule `anvi_run_hmms` you asked for
20 threads , which is the largest number of threads among all rules. So, anvi'o
will set up your job by passing 20 as the maximum number of CPU cores to be used
by your workflow. If you'd like to assign more resources for your workflow,
please either use the global `max_threads` parameter in your config file, or
include a `--cores XX` parameter via the `--additional-params` mechanism, where
XX is the maximum number of CPUs you wish to assign to this job.

Traceback (most recent call last):
  File "/home/genomics/dslos/07_tools/anvio/bin/anvi-run-workflow", line 77, in <module>
    main(args)
  File "/home/genomics/dslos/07_tools/anvio/bin/anvi-run-workflow", line 51, in main
    M.go(skip_dry_run=args.skip_dry_run)
  File "/home/genomics/dslos/07_tools/anvio/anvio/workflows/__init__.py", line 270, in go
    self.dry_run()
  File "/home/genomics/dslos/07_tools/anvio/anvio/workflows/__init__.py", line 321, in dry_run
    self.progress.update('Quick dry run for an initial sanity check ...')
  File "/home/genomics/dslos/07_tools/anvio/anvio/terminal.py", line 308, in update
    self.write('\r[%s] %s' % (self.pid, msg))
  File "/home/genomics/dslos/07_tools/anvio/anvio/terminal.py", line 239, in write
    sys.stderr.write(back.CYAN + fore.BLACK + c + style.RESET)
AttributeError: 'function' object has no attribute 'CYAN'

Config Error: According to the exit code ('1'), anvi'o suspects that something may have gone
              wrong while running your tests :/ We hope that the reason is clear to you from
              the lines above. But if you don't see anything obvious, and especially if the
              test ended up running until the end with reasonable looking final results, you
              shouldn't worry too much about this error. Life is short and we all can worry
              just a bit less.

anvi-self-test --suite database-migrations

anvi-self-test --suite database-migrations
Collecting h5py==2.8.0
  Downloading h5py-2.8.0.tar.gz (274 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 274.6/274.6 kB 5.5 MB/s eta 0:00:00
  Preparing metadata (setup.py) ... done
Requirement already satisfied: numpy>=1.7 in /opt/anaconda3/envs/anvio-dev/lib/python3.10/site-packages (from h5py==2.8.0) (1.24.4)
Requirement already satisfied: six in /opt/anaconda3/envs/anvio-dev/lib/python3.10/site-packages (from h5py==2.8.0) (1.16.0)
Building wheels for collected packages: h5py
  Building wheel for h5py (setup.py) ... error
  error: subprocess-exited-with-error

  × python setup.py bdist_wheel did not run successfully.
  │ exit code: 1
  ╰─> [4056 lines of output]
      /opt/anaconda3/envs/anvio-dev/lib/python3.10/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)
      running bdist_wheel
      running build
      running build_py
      creating build
      creating build/lib.linux-x86_64-cpython-310
      creating build/lib.linux-x86_64-cpython-310/h5py
      copying h5py/ipy_completer.py -> build/lib.linux-x86_64-cpython-310/h5py
      copying h5py/highlevel.py -> build/lib.linux-x86_64-cpython-310/h5py
      copying h5py/h5py_warnings.py -> build/lib.linux-x86_64-cpython-310/h5py
      copying h5py/version.py -> build/lib.linux-x86_64-cpython-310/h5py
      copying h5py/__init__.py -> build/lib.linux-x86_64-cpython-310/h5py
      creating build/lib.linux-x86_64-cpython-310/h5py/_hl
      copying h5py/_hl/selections.py -> build/lib.linux-x86_64-cpython-310/h5py/_hl
      copying h5py/_hl/dataset.py -> build/lib.linux-x86_64-cpython-310/h5py/_hl
      copying h5py/_hl/files.py -> build/lib.linux-x86_64-cpython-310/h5py/_hl
      copying h5py/_hl/base.py -> build/lib.linux-x86_64-cpython-310/h5py/_hl
      copying h5py/_hl/group.py -> build/lib.linux-x86_64-cpython-310/h5py/_hl
      copying h5py/_hl/filters.py -> build/lib.linux-x86_64-cpython-310/h5py/_hl
      copying h5py/_hl/compat.py -> build/lib.linux-x86_64-cpython-310/h5py/_hl
      copying h5py/_hl/selections2.py -> build/lib.linux-x86_64-cpython-310/h5py/_hl
      copying h5py/_hl/attrs.py -> build/lib.linux-x86_64-cpython-310/h5py/_hl
      copying h5py/_hl/datatype.py -> build/lib.linux-x86_64-cpython-310/h5py/_hl
      copying h5py/_hl/__init__.py -> build/lib.linux-x86_64-cpython-310/h5py/_hl
      copying h5py/_hl/dims.py -> build/lib.linux-x86_64-cpython-310/h5py/_hl
      creating build/lib.linux-x86_64-cpython-310/h5py/tests
      copying h5py/tests/common.py -> build/lib.linux-x86_64-cpython-310/h5py/tests
      copying h5py/tests/__init__.py -> build/lib.linux-x86_64-cpython-310/h5py/tests
      creating build/lib.linux-x86_64-cpython-310/h5py/tests/old
      copying h5py/tests/old/test_h5t.py -> build/lib.linux-x86_64-cpython-310/h5py/tests/old
      copying h5py/tests/old/test_file.py -> build/lib.linux-x86_64-cpython-310/h5py/tests/old
      copying h5py/tests/old/test_dataset.py -> build/lib.linux-x86_64-cpython-310/h5py/tests/old
      copying h5py/tests/old/test_selections.py -> build/lib.linux-x86_64-cpython-310/h5py/tests/old
      copying h5py/tests/old/test_slicing.py -> build/lib.linux-x86_64-cpython-310/h5py/tests/old
      copying h5py/tests/old/test_attrs_data.py -> build/lib.linux-x86_64-cpython-310/h5py/tests/old
      copying h5py/tests/old/test_base.py -> build/lib.linux-x86_64-cpython-310/h5py/tests/old
      copying h5py/tests/old/test_file_image.py -> build/lib.linux-x86_64-cpython-310/h5py/tests/old
      copying h5py/tests/old/test_objects.py -> build/lib.linux-x86_64-cpython-310/h5py/tests/old
      copying h5py/tests/old/test_h5d_direct_chunk_write.py -> build/lib.linux-x86_64-cpython-310/h5py/tests/old
      copying h5py/tests/old/test_dimension_scales.py -> build/lib.linux-x86_64-cpython-310/h5py/tests/old
      copying h5py/tests/old/test_datatype.py -> build/lib.linux-x86_64-cpython-310/h5py/tests/old
      copying h5py/tests/old/test_h5f.py -> build/lib.linux-x86_64-cpython-310/h5py/tests/old
      copying h5py/tests/old/test_h5p.py -> build/lib.linux-x86_64-cpython-310/h5py/tests/old
      copying h5py/tests/old/test_group.py -> build/lib.linux-x86_64-cpython-310/h5py/tests/old
      copying h5py/tests/old/__init__.py -> build/lib.linux-x86_64-cpython-310/h5py/tests/old
      copying h5py/tests/old/test_h5.py -> build/lib.linux-x86_64-cpython-310/h5py/tests/old
      copying h5py/tests/old/test_attrs.py -> build/lib.linux-x86_64-cpython-310/h5py/tests/old
      creating build/lib.linux-x86_64-cpython-310/h5py/tests/hl
      copying h5py/tests/hl/test_file.py -> build/lib.linux-x86_64-cpython-310/h5py/tests/hl
      copying h5py/tests/hl/test_dataset_swmr.py -> build/lib.linux-x86_64-cpython-310/h5py/tests/hl
      copying h5py/tests/hl/test_attribute_create.py -> build/lib.linux-x86_64-cpython-310/h5py/tests/hl
      copying h5py/tests/hl/test_dataset_getitem.py -> build/lib.linux-x86_64-cpython-310/h5py/tests/hl
      copying h5py/tests/hl/test_datatype.py -> build/lib.linux-x86_64-cpython-310/h5py/tests/hl
      copying h5py/tests/hl/test_threads.py -> build/lib.linux-x86_64-cpython-310/h5py/tests/hl
      copying h5py/tests/hl/test_dims_dimensionproxy.py -> build/lib.linux-x86_64-cpython-310/h5py/tests/hl
      copying h5py/tests/hl/test_filters.py -> build/lib.linux-x86_64-cpython-310/h5py/tests/hl
      copying h5py/tests/hl/__init__.py -> build/lib.linux-x86_64-cpython-310/h5py/tests/hl
      running build_ext
      Autodetected HDF5 1.10.7
      ********************************************************************************
                             Summary of the h5py configuration

          Path to HDF5: None
          HDF5 Version: '1.10.7'
           MPI Enabled: False
      Rebuild Required: True

      ********************************************************************************
      Executing api_gen rebuild of defs
      Executing cythonize()
      [ 1/22] Cythonizing /tmp/pip-install-990qh8xu/h5py_447ed218a500438085f3341266b7d4cd/h5py/_conv.pyx
      /opt/anaconda3/envs/anvio-dev/lib/python3.10/site-packages/Cython/Compiler/Main.py:381: FutureWarning: Cython directive 'language_level' not set, using '3str' for now (Py3). This has changed from earlier releases! File: /tmp/pip-install-990qh8xu/h5py_447ed218a500438085f3341266b7d4cd/h5py/_conv.pxd
        tree = Parsing.p_module(s, pxd, full_module_name)

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
      # Copyright 2008-2013 Andrew Collette and contributors
      #
      # License:  Standard 3-clause BSD; see "license.txt" for full license terms
      #           and contributor agreement.

      from defs cimport *
      ^
      ------------------------------------------------------------

      h5py/_conv.pxd:10:0: 'defs.pxd' not found

      Error compiling Cython file:
      ------------------------------------------------------------
      ...

      """
          Low-level type-conversion routines.
      """

      from h5r cimport Reference, RegionReference, hobj_ref_t, hdset_reg_ref_t
      ^
      ------------------------------------------------------------

      h5py/_conv.pyx:16:0: 'h5r.pxd' not found

      Error compiling Cython file:
      ------------------------------------------------------------
      ...

      """
          Low-level type-conversion routines.
      """

      from h5r cimport Reference, RegionReference, hobj_ref_t, hdset_reg_ref_t
      ^
      ------------------------------------------------------------

      h5py/_conv.pyx:16:0: 'h5r/Reference.pxd' not found

      Error compiling Cython file:
      ------------------------------------------------------------
      ...

      """
          Low-level type-conversion routines.
      """

      from h5r cimport Reference, RegionReference, hobj_ref_t, hdset_reg_ref_t
      ^
      ------------------------------------------------------------

      h5py/_conv.pyx:16:0: 'h5r/RegionReference.pxd' not found

      Error compiling Cython file:
      ------------------------------------------------------------
      ...

      """
          Low-level type-conversion routines.
      """

      from h5r cimport Reference, RegionReference, hobj_ref_t, hdset_reg_ref_t
      ^
      ------------------------------------------------------------

      h5py/_conv.pyx:16:0: 'h5r/hobj_ref_t.pxd' not found

      Error compiling Cython file:
      ------------------------------------------------------------
      ...

      """
          Low-level type-conversion routines.
      """

      from h5r cimport Reference, RegionReference, hobj_ref_t, hdset_reg_ref_t
      ^
      ------------------------------------------------------------

      h5py/_conv.pyx:16:0: 'h5r/hdset_reg_ref_t.pxd' not found

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
      """
          Low-level type-conversion routines.
      """

      from h5r cimport Reference, RegionReference, hobj_ref_t, hdset_reg_ref_t
      from h5t cimport H5PY_OBJ, typewrap, py_create, TypeID
      ^
      ------------------------------------------------------------

      h5py/_conv.pyx:17:0: 'h5t.pxd' not found

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
      """
          Low-level type-conversion routines.
      """

      from h5r cimport Reference, RegionReference, hobj_ref_t, hdset_reg_ref_t
      from h5t cimport H5PY_OBJ, typewrap, py_create, TypeID
      ^
      ------------------------------------------------------------

      h5py/_conv.pyx:17:0: 'h5t/H5PY_OBJ.pxd' not found

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
      """
          Low-level type-conversion routines.
      """

      from h5r cimport Reference, RegionReference, hobj_ref_t, hdset_reg_ref_t
      from h5t cimport H5PY_OBJ, typewrap, py_create, TypeID
      ^
      ------------------------------------------------------------

      h5py/_conv.pyx:17:0: 'h5t/typewrap.pxd' not found

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
      """
          Low-level type-conversion routines.
      """

      from h5r cimport Reference, RegionReference, hobj_ref_t, hdset_reg_ref_t
      from h5t cimport H5PY_OBJ, typewrap, py_create, TypeID
      ^
      ------------------------------------------------------------

      h5py/_conv.pyx:17:0: 'h5t/py_create.pxd' not found

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
      """
          Low-level type-conversion routines.
      """

      from h5r cimport Reference, RegionReference, hobj_ref_t, hdset_reg_ref_t
      from h5t cimport H5PY_OBJ, typewrap, py_create, TypeID
      ^
      ------------------------------------------------------------

      h5py/_conv.pyx:17:0: 'h5t/TypeID.pxd' not found

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          PyTypeObject PyArray_Type
          object PyArray_NewFromDescr(PyTypeObject* subtype, np.dtype descr, int nd, np.npy_intp* dims, np.npy_intp* strides, void* data, int flags, object obj)

      ctypedef int (*conv_operator_t)(void* ipt, void* opt, void* bkg, void* priv) except -1
      ctypedef herr_t (*init_operator_t)(hid_t src, hid_t dst, void** priv) except -1
               ^
      ------------------------------------------------------------

      h5py/_conv.pyx:61:9: 'herr_t' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          PyTypeObject PyArray_Type
          object PyArray_NewFromDescr(PyTypeObject* subtype, np.dtype descr, int nd, np.npy_intp* dims, np.npy_intp* strides, void* data, int flags, object obj)

      ctypedef int (*conv_operator_t)(void* ipt, void* opt, void* bkg, void* priv) except -1
      ctypedef herr_t (*init_operator_t)(hid_t src, hid_t dst, void** priv) except -1
                                         ^
      ------------------------------------------------------------

      h5py/_conv.pyx:61:35: 'hid_t' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          PyTypeObject PyArray_Type
          object PyArray_NewFromDescr(PyTypeObject* subtype, np.dtype descr, int nd, np.npy_intp* dims, np.npy_intp* strides, void* data, int flags, object obj)

      ctypedef int (*conv_operator_t)(void* ipt, void* opt, void* bkg, void* priv) except -1
      ctypedef herr_t (*init_operator_t)(hid_t src, hid_t dst, void** priv) except -1
                                                    ^
      ------------------------------------------------------------

      h5py/_conv.pyx:61:46: 'hid_t' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
      # repeat all the conversion boilerplate for every single callback.
      #
      # While this is somewhat slower than a custom function, the added overhead is
      # likely small compared to the cost of the Python-side API calls required to
      # implement the conversions.
      cdef herr_t generic_converter(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
           ^
      ------------------------------------------------------------

      h5py/_conv.pyx:72:5: 'herr_t' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
      # repeat all the conversion boilerplate for every single callback.
      #
      # While this is somewhat slower than a custom function, the added overhead is
      # likely small compared to the cost of the Python-side API calls required to
      # implement the conversions.
      cdef herr_t generic_converter(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
                                    ^
      ------------------------------------------------------------

      h5py/_conv.pyx:72:30: 'hid_t' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
      # repeat all the conversion boilerplate for every single callback.
      #
      # While this is somewhat slower than a custom function, the added overhead is
      # likely small compared to the cost of the Python-side API calls required to
      # implement the conversions.
      cdef herr_t generic_converter(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
                                                  ^
      ------------------------------------------------------------

      h5py/_conv.pyx:72:44: 'hid_t' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
      # repeat all the conversion boilerplate for every single callback.
      #
      # While this is somewhat slower than a custom function, the added overhead is
      # likely small compared to the cost of the Python-side API calls required to
      # implement the conversions.
      cdef herr_t generic_converter(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
                                                                ^
      ------------------------------------------------------------

      h5py/_conv.pyx:72:58: 'H5T_cdata_t' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
      # While this is somewhat slower than a custom function, the added overhead is
      # likely small compared to the cost of the Python-side API calls required to
      # implement the conversions.
      cdef herr_t generic_converter(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
                          size_t nl, size_t buf_stride, size_t bkg_stride, void *buf_i,
                          void *bkg_i, hid_t dxpl, conv_operator_t op,
                                       ^
      ------------------------------------------------------------

      h5py/_conv.pyx:74:33: 'hid_t' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
      # likely small compared to the cost of the Python-side API calls required to
      # implement the conversions.
      cdef herr_t generic_converter(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
                          size_t nl, size_t buf_stride, size_t bkg_stride, void *buf_i,
                          void *bkg_i, hid_t dxpl, conv_operator_t op,
                          init_operator_t initop, H5T_bkg_t need_bkg) except -1:
                                                  ^
      ------------------------------------------------------------

      h5py/_conv.pyx:75:44: 'H5T_bkg_t' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
      ctypedef struct conv_size_t:
          size_t src_size
          size_t dst_size
          int cset

      cdef herr_t init_generic(hid_t src, hid_t dst, void** priv) except -1:
           ^
      ------------------------------------------------------------

      h5py/_conv.pyx:145:5: 'herr_t' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
      ctypedef struct conv_size_t:
          size_t src_size
          size_t dst_size
          int cset

      cdef herr_t init_generic(hid_t src, hid_t dst, void** priv) except -1:
                               ^
      ------------------------------------------------------------

      h5py/_conv.pyx:145:25: 'hid_t' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
      ctypedef struct conv_size_t:
          size_t src_size
          size_t dst_size
          int cset

      cdef herr_t init_generic(hid_t src, hid_t dst, void** priv) except -1:
                                          ^
      ------------------------------------------------------------

      h5py/_conv.pyx:145:36: 'hid_t' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
              Py_XDECREF(temp_encoded)

      # =============================================================================
      # VLEN to fixed-width strings

      cdef herr_t init_vlen2fixed(hid_t src, hid_t dst, void** priv) except -1:
           ^
      ------------------------------------------------------------

      h5py/_conv.pyx:273:5: 'herr_t' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
              Py_XDECREF(temp_encoded)

      # =============================================================================
      # VLEN to fixed-width strings

      cdef herr_t init_vlen2fixed(hid_t src, hid_t dst, void** priv) except -1:
                                  ^
      ------------------------------------------------------------

      h5py/_conv.pyx:273:28: 'hid_t' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
              Py_XDECREF(temp_encoded)

      # =============================================================================
      # VLEN to fixed-width strings

      cdef herr_t init_vlen2fixed(hid_t src, hid_t dst, void** priv) except -1:
                                             ^
      ------------------------------------------------------------

      h5py/_conv.pyx:273:39: 'hid_t' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          sizes[0].src_size = H5Tget_size(src)
          sizes[0].dst_size = H5Tget_size(dst)

          return 0

      cdef herr_t init_fixed2vlen(hid_t src, hid_t dst, void** priv) except -1:
           ^
      ------------------------------------------------------------

      h5py/_conv.pyx:287:5: 'herr_t' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          sizes[0].src_size = H5Tget_size(src)
          sizes[0].dst_size = H5Tget_size(dst)

          return 0

      cdef herr_t init_fixed2vlen(hid_t src, hid_t dst, void** priv) except -1:
                                  ^
      ------------------------------------------------------------

      h5py/_conv.pyx:287:28: 'hid_t' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          sizes[0].src_size = H5Tget_size(src)
          sizes[0].dst_size = H5Tget_size(dst)

          return 0

      cdef herr_t init_fixed2vlen(hid_t src, hid_t dst, void** priv) except -1:
                                             ^
      ------------------------------------------------------------

      h5py/_conv.pyx:287:39: 'hid_t' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...

      # =============================================================================
      # Conversion functions

      cdef herr_t vlen2str(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
           ^
      ------------------------------------------------------------

      h5py/_conv.pyx:440:5: 'herr_t' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...

      # =============================================================================
      # Conversion functions

      cdef herr_t vlen2str(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
                           ^
      ------------------------------------------------------------

      h5py/_conv.pyx:440:21: 'hid_t' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...

      # =============================================================================
      # Conversion functions

      cdef herr_t vlen2str(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
                                         ^
      ------------------------------------------------------------

      h5py/_conv.pyx:440:35: 'hid_t' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...

      # =============================================================================
      # Conversion functions

      cdef herr_t vlen2str(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
                                                       ^
      ------------------------------------------------------------

      h5py/_conv.pyx:440:49: 'H5T_cdata_t' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
      # Conversion functions

      cdef herr_t vlen2str(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
                          size_t nl, size_t buf_stride, size_t bkg_stride, void *buf_i,
                          void *bkg_i, hid_t dxpl) except -1:
                                       ^
      ------------------------------------------------------------

      h5py/_conv.pyx:442:33: 'hid_t' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
                          size_t nl, size_t buf_stride, size_t bkg_stride, void *buf_i,
                          void *bkg_i, hid_t dxpl) except -1:
          return generic_converter(src_id, dst_id, cdata, nl, buf_stride, bkg_stride,
                   buf_i, bkg_i, dxpl,  conv_vlen2str, init_generic, H5T_BKG_YES)

      cdef herr_t str2vlen(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
           ^
      ------------------------------------------------------------

      h5py/_conv.pyx:446:5: 'herr_t' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
                          size_t nl, size_t buf_stride, size_t bkg_stride, void *buf_i,
                          void *bkg_i, hid_t dxpl) except -1:
          return generic_converter(src_id, dst_id, cdata, nl, buf_stride, bkg_stride,
                   buf_i, bkg_i, dxpl,  conv_vlen2str, init_generic, H5T_BKG_YES)

      cdef herr_t str2vlen(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
                           ^
      ------------------------------------------------------------

      h5py/_conv.pyx:446:21: 'hid_t' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
                          size_t nl, size_t buf_stride, size_t bkg_stride, void *buf_i,
                          void *bkg_i, hid_t dxpl) except -1:
          return generic_converter(src_id, dst_id, cdata, nl, buf_stride, bkg_stride,
                   buf_i, bkg_i, dxpl,  conv_vlen2str, init_generic, H5T_BKG_YES)

      cdef herr_t str2vlen(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
                                         ^
      ------------------------------------------------------------

      h5py/_conv.pyx:446:35: 'hid_t' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
                          size_t nl, size_t buf_stride, size_t bkg_stride, void *buf_i,
                          void *bkg_i, hid_t dxpl) except -1:
          return generic_converter(src_id, dst_id, cdata, nl, buf_stride, bkg_stride,
                   buf_i, bkg_i, dxpl,  conv_vlen2str, init_generic, H5T_BKG_YES)

      cdef herr_t str2vlen(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
                                                       ^
      ------------------------------------------------------------

      h5py/_conv.pyx:446:49: 'H5T_cdata_t' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          return generic_converter(src_id, dst_id, cdata, nl, buf_stride, bkg_stride,
                   buf_i, bkg_i, dxpl,  conv_vlen2str, init_generic, H5T_BKG_YES)

      cdef herr_t str2vlen(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
                          size_t nl, size_t buf_stride, size_t bkg_stride, void *buf_i,
                          void *bkg_i, hid_t dxpl) except -1:
                                       ^
      ------------------------------------------------------------

      h5py/_conv.pyx:448:33: 'hid_t' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
                          size_t nl, size_t buf_stride, size_t bkg_stride, void *buf_i,
                          void *bkg_i, hid_t dxpl) except -1:
          return generic_converter(src_id, dst_id, cdata, nl, buf_stride, bkg_stride,
                   buf_i, bkg_i, dxpl, conv_str2vlen, init_generic, H5T_BKG_NO)

      cdef herr_t vlen2fixed(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
           ^
      ------------------------------------------------------------

      h5py/_conv.pyx:452:5: 'herr_t' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
                          size_t nl, size_t buf_stride, size_t bkg_stride, void *buf_i,
                          void *bkg_i, hid_t dxpl) except -1:
          return generic_converter(src_id, dst_id, cdata, nl, buf_stride, bkg_stride,
                   buf_i, bkg_i, dxpl, conv_str2vlen, init_generic, H5T_BKG_NO)

      cdef herr_t vlen2fixed(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
                             ^
      ------------------------------------------------------------

      h5py/_conv.pyx:452:23: 'hid_t' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
                          size_t nl, size_t buf_stride, size_t bkg_stride, void *buf_i,
                          void *bkg_i, hid_t dxpl) except -1:
          return generic_converter(src_id, dst_id, cdata, nl, buf_stride, bkg_stride,
                   buf_i, bkg_i, dxpl, conv_str2vlen, init_generic, H5T_BKG_NO)

      cdef herr_t vlen2fixed(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
                                           ^
      ------------------------------------------------------------

      h5py/_conv.pyx:452:37: 'hid_t' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
                          size_t nl, size_t buf_stride, size_t bkg_stride, void *buf_i,
                          void *bkg_i, hid_t dxpl) except -1:
          return generic_converter(src_id, dst_id, cdata, nl, buf_stride, bkg_stride,
                   buf_i, bkg_i, dxpl, conv_str2vlen, init_generic, H5T_BKG_NO)

      cdef herr_t vlen2fixed(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
                                                         ^
      ------------------------------------------------------------

      h5py/_conv.pyx:452:51: 'H5T_cdata_t' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          return generic_converter(src_id, dst_id, cdata, nl, buf_stride, bkg_stride,
                   buf_i, bkg_i, dxpl, conv_str2vlen, init_generic, H5T_BKG_NO)

      cdef herr_t vlen2fixed(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
                          size_t nl, size_t buf_stride, size_t bkg_stride, void *buf_i,
                          void *bkg_i, hid_t dxpl) except -1:
                                       ^
      ------------------------------------------------------------

      h5py/_conv.pyx:454:33: 'hid_t' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
                          size_t nl, size_t buf_stride, size_t bkg_stride, void *buf_i,
                          void *bkg_i, hid_t dxpl) except -1:
          return generic_converter(src_id, dst_id, cdata, nl, buf_stride, bkg_stride,
                   buf_i, bkg_i, dxpl, conv_vlen2fixed, init_vlen2fixed, H5T_BKG_NO)

      cdef herr_t fixed2vlen(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
           ^
      ------------------------------------------------------------

      h5py/_conv.pyx:458:5: 'herr_t' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
                          size_t nl, size_t buf_stride, size_t bkg_stride, void *buf_i,
                          void *bkg_i, hid_t dxpl) except -1:
          return generic_converter(src_id, dst_id, cdata, nl, buf_stride, bkg_stride,
                   buf_i, bkg_i, dxpl, conv_vlen2fixed, init_vlen2fixed, H5T_BKG_NO)

      cdef herr_t fixed2vlen(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
                             ^
      ------------------------------------------------------------

      h5py/_conv.pyx:458:23: 'hid_t' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
                          size_t nl, size_t buf_stride, size_t bkg_stride, void *buf_i,
                          void *bkg_i, hid_t dxpl) except -1:
          return generic_converter(src_id, dst_id, cdata, nl, buf_stride, bkg_stride,
                   buf_i, bkg_i, dxpl, conv_vlen2fixed, init_vlen2fixed, H5T_BKG_NO)

      cdef herr_t fixed2vlen(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
                                           ^
      ------------------------------------------------------------

      h5py/_conv.pyx:458:37: 'hid_t' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
                          size_t nl, size_t buf_stride, size_t bkg_stride, void *buf_i,
                          void *bkg_i, hid_t dxpl) except -1:
          return generic_converter(src_id, dst_id, cdata, nl, buf_stride, bkg_stride,
                   buf_i, bkg_i, dxpl, conv_vlen2fixed, init_vlen2fixed, H5T_BKG_NO)

      cdef herr_t fixed2vlen(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
                                                         ^
      ------------------------------------------------------------

      h5py/_conv.pyx:458:51: 'H5T_cdata_t' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          return generic_converter(src_id, dst_id, cdata, nl, buf_stride, bkg_stride,
                   buf_i, bkg_i, dxpl, conv_vlen2fixed, init_vlen2fixed, H5T_BKG_NO)

      cdef herr_t fixed2vlen(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
                          size_t nl, size_t buf_stride, size_t bkg_stride, void *buf_i,
                          void *bkg_i, hid_t dxpl) except -1:
                                       ^
      ------------------------------------------------------------

      h5py/_conv.pyx:460:33: 'hid_t' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
                          size_t nl, size_t buf_stride, size_t bkg_stride, void *buf_i,
                          void *bkg_i, hid_t dxpl) except -1:
          return generic_converter(src_id, dst_id, cdata, nl, buf_stride, bkg_stride,
                   buf_i, bkg_i, dxpl, conv_fixed2vlen, init_fixed2vlen, H5T_BKG_NO)

      cdef herr_t objref2pyref(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
           ^
      ------------------------------------------------------------

      h5py/_conv.pyx:464:5: 'herr_t' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
                          size_t nl, size_t buf_stride, size_t bkg_stride, void *buf_i,
                          void *bkg_i, hid_t dxpl) except -1:
          return generic_converter(src_id, dst_id, cdata, nl, buf_stride, bkg_stride,
                   buf_i, bkg_i, dxpl, conv_fixed2vlen, init_fixed2vlen, H5T_BKG_NO)

      cdef herr_t objref2pyref(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
                               ^
      ------------------------------------------------------------

      h5py/_conv.pyx:464:25: 'hid_t' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
                          size_t nl, size_t buf_stride, size_t bkg_stride, void *buf_i,
                          void *bkg_i, hid_t dxpl) except -1:
          return generic_converter(src_id, dst_id, cdata, nl, buf_stride, bkg_stride,
                   buf_i, bkg_i, dxpl, conv_fixed2vlen, init_fixed2vlen, H5T_BKG_NO)

      cdef herr_t objref2pyref(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
                                             ^
      ------------------------------------------------------------

      h5py/_conv.pyx:464:39: 'hid_t' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
                          size_t nl, size_t buf_stride, size_t bkg_stride, void *buf_i,
                          void *bkg_i, hid_t dxpl) except -1:
          return generic_converter(src_id, dst_id, cdata, nl, buf_stride, bkg_stride,
                   buf_i, bkg_i, dxpl, conv_fixed2vlen, init_fixed2vlen, H5T_BKG_NO)

      cdef herr_t objref2pyref(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
                                                           ^
      ------------------------------------------------------------

      h5py/_conv.pyx:464:53: 'H5T_cdata_t' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          return generic_converter(src_id, dst_id, cdata, nl, buf_stride, bkg_stride,
                   buf_i, bkg_i, dxpl, conv_fixed2vlen, init_fixed2vlen, H5T_BKG_NO)

      cdef herr_t objref2pyref(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
                          size_t nl, size_t buf_stride, size_t bkg_stride, void *buf_i,
                          void *bkg_i, hid_t dxpl) except -1:
                                       ^
      ------------------------------------------------------------

      h5py/_conv.pyx:466:33: 'hid_t' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
                          size_t nl, size_t buf_stride, size_t bkg_stride, void *buf_i,
                          void *bkg_i, hid_t dxpl) except -1:
          return generic_converter(src_id, dst_id, cdata, nl, buf_stride, bkg_stride,
                   buf_i, bkg_i, dxpl, conv_objref2pyref, init_generic, H5T_BKG_NO)

      cdef herr_t pyref2objref(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
           ^
      ------------------------------------------------------------

      h5py/_conv.pyx:470:5: 'herr_t' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
                          size_t nl, size_t buf_stride, size_t bkg_stride, void *buf_i,
                          void *bkg_i, hid_t dxpl) except -1:
          return generic_converter(src_id, dst_id, cdata, nl, buf_stride, bkg_stride,
                   buf_i, bkg_i, dxpl, conv_objref2pyref, init_generic, H5T_BKG_NO)

      cdef herr_t pyref2objref(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
                               ^
      ------------------------------------------------------------

      h5py/_conv.pyx:470:25: 'hid_t' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
                          size_t nl, size_t buf_stride, size_t bkg_stride, void *buf_i,
                          void *bkg_i, hid_t dxpl) except -1:
          return generic_converter(src_id, dst_id, cdata, nl, buf_stride, bkg_stride,
                   buf_i, bkg_i, dxpl, conv_objref2pyref, init_generic, H5T_BKG_NO)

      cdef herr_t pyref2objref(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
                                             ^
      ------------------------------------------------------------

      h5py/_conv.pyx:470:39: 'hid_t' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
                          size_t nl, size_t buf_stride, size_t bkg_stride, void *buf_i,
                          void *bkg_i, hid_t dxpl) except -1:
          return generic_converter(src_id, dst_id, cdata, nl, buf_stride, bkg_stride,
                   buf_i, bkg_i, dxpl, conv_objref2pyref, init_generic, H5T_BKG_NO)

      cdef herr_t pyref2objref(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
                                                           ^
      ------------------------------------------------------------

      h5py/_conv.pyx:470:53: 'H5T_cdata_t' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          return generic_converter(src_id, dst_id, cdata, nl, buf_stride, bkg_stride,
                   buf_i, bkg_i, dxpl, conv_objref2pyref, init_generic, H5T_BKG_NO)

      cdef herr_t pyref2objref(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
                          size_t nl, size_t buf_stride, size_t bkg_stride, void *buf_i,
                          void *bkg_i, hid_t dxpl) except -1:
                                       ^
      ------------------------------------------------------------

      h5py/_conv.pyx:472:33: 'hid_t' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
                          size_t nl, size_t buf_stride, size_t bkg_stride, void *buf_i,
                          void *bkg_i, hid_t dxpl) except -1:
          return generic_converter(src_id, dst_id, cdata, nl, buf_stride, bkg_stride,
                   buf_i, bkg_i, dxpl, conv_pyref2objref, init_generic, H5T_BKG_NO)

      cdef herr_t regref2pyref(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
           ^
      ------------------------------------------------------------

      h5py/_conv.pyx:476:5: 'herr_t' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
                          size_t nl, size_t buf_stride, size_t bkg_stride, void *buf_i,
                          void *bkg_i, hid_t dxpl) except -1:
          return generic_converter(src_id, dst_id, cdata, nl, buf_stride, bkg_stride,
                   buf_i, bkg_i, dxpl, conv_pyref2objref, init_generic, H5T_BKG_NO)

      cdef herr_t regref2pyref(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
                               ^
      ------------------------------------------------------------

      h5py/_conv.pyx:476:25: 'hid_t' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
                          size_t nl, size_t buf_stride, size_t bkg_stride, void *buf_i,
                          void *bkg_i, hid_t dxpl) except -1:
          return generic_converter(src_id, dst_id, cdata, nl, buf_stride, bkg_stride,
                   buf_i, bkg_i, dxpl, conv_pyref2objref, init_generic, H5T_BKG_NO)

      cdef herr_t regref2pyref(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
                                             ^
      ------------------------------------------------------------

      h5py/_conv.pyx:476:39: 'hid_t' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
                          size_t nl, size_t buf_stride, size_t bkg_stride, void *buf_i,
                          void *bkg_i, hid_t dxpl) except -1:
          return generic_converter(src_id, dst_id, cdata, nl, buf_stride, bkg_stride,
                   buf_i, bkg_i, dxpl, conv_pyref2objref, init_generic, H5T_BKG_NO)

      cdef herr_t regref2pyref(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
                                                           ^
      ------------------------------------------------------------

      h5py/_conv.pyx:476:53: 'H5T_cdata_t' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          return generic_converter(src_id, dst_id, cdata, nl, buf_stride, bkg_stride,
                   buf_i, bkg_i, dxpl, conv_pyref2objref, init_generic, H5T_BKG_NO)

      cdef herr_t regref2pyref(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
                          size_t nl, size_t buf_stride, size_t bkg_stride, void *buf_i,
                          void *bkg_i, hid_t dxpl) except -1:
                                       ^
      ------------------------------------------------------------

      h5py/_conv.pyx:478:33: 'hid_t' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
                          size_t nl, size_t buf_stride, size_t bkg_stride, void *buf_i,
                          void *bkg_i, hid_t dxpl) except -1:
          return generic_converter(src_id, dst_id, cdata, nl, buf_stride, bkg_stride,
                   buf_i, bkg_i, dxpl, conv_regref2pyref, init_generic, H5T_BKG_YES)

      cdef herr_t pyref2regref(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
           ^
      ------------------------------------------------------------

      h5py/_conv.pyx:482:5: 'herr_t' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
                          size_t nl, size_t buf_stride, size_t bkg_stride, void *buf_i,
                          void *bkg_i, hid_t dxpl) except -1:
          return generic_converter(src_id, dst_id, cdata, nl, buf_stride, bkg_stride,
                   buf_i, bkg_i, dxpl, conv_regref2pyref, init_generic, H5T_BKG_YES)

      cdef herr_t pyref2regref(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
                               ^
      ------------------------------------------------------------

      h5py/_conv.pyx:482:25: 'hid_t' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
                          size_t nl, size_t buf_stride, size_t bkg_stride, void *buf_i,
                          void *bkg_i, hid_t dxpl) except -1:
          return generic_converter(src_id, dst_id, cdata, nl, buf_stride, bkg_stride,
                   buf_i, bkg_i, dxpl, conv_regref2pyref, init_generic, H5T_BKG_YES)

      cdef herr_t pyref2regref(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
                                             ^
      ------------------------------------------------------------

      h5py/_conv.pyx:482:39: 'hid_t' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
                          size_t nl, size_t buf_stride, size_t bkg_stride, void *buf_i,
                          void *bkg_i, hid_t dxpl) except -1:
          return generic_converter(src_id, dst_id, cdata, nl, buf_stride, bkg_stride,
                   buf_i, bkg_i, dxpl, conv_regref2pyref, init_generic, H5T_BKG_YES)

      cdef herr_t pyref2regref(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
                                                           ^
      ------------------------------------------------------------

      h5py/_conv.pyx:482:53: 'H5T_cdata_t' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          return generic_converter(src_id, dst_id, cdata, nl, buf_stride, bkg_stride,
                   buf_i, bkg_i, dxpl, conv_regref2pyref, init_generic, H5T_BKG_YES)

      cdef herr_t pyref2regref(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
                          size_t nl, size_t buf_stride, size_t bkg_stride, void *buf_i,
                          void *bkg_i, hid_t dxpl) except -1:
                                       ^
      ------------------------------------------------------------

      h5py/_conv.pyx:484:33: 'hid_t' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...

      cdef struct conv_enum_t:
          size_t src_size
          size_t dst_size

      cdef int enum_int_converter_init(hid_t src, hid_t dst,
                                       ^
      ------------------------------------------------------------

      h5py/_conv.pyx:495:33: 'hid_t' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...

      cdef struct conv_enum_t:
          size_t src_size
          size_t dst_size

      cdef int enum_int_converter_init(hid_t src, hid_t dst,
                                                  ^
      ------------------------------------------------------------

      h5py/_conv.pyx:495:44: 'hid_t' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
      cdef struct conv_enum_t:
          size_t src_size
          size_t dst_size

      cdef int enum_int_converter_init(hid_t src, hid_t dst,
                                       H5T_cdata_t *cdata, int forward) except -1 with gil:
                                       ^
      ------------------------------------------------------------

      h5py/_conv.pyx:496:33: 'H5T_cdata_t' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          cdata[0].need_bkg = H5T_BKG_NO
          cdata[0].priv = info = <conv_enum_t*>malloc(sizeof(conv_enum_t))
          info[0].src_size = H5Tget_size(src)
          info[0].dst_size = H5Tget_size(dst)

      cdef void enum_int_converter_free(H5T_cdata_t *cdata):
                                        ^
      ------------------------------------------------------------

      h5py/_conv.pyx:504:34: 'H5T_cdata_t' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          info = <conv_enum_t*>cdata[0].priv
          free(info)
          cdata[0].priv = NULL

      cdef int enum_int_converter_conv(hid_t src, hid_t dst, H5T_cdata_t *cdata,
                                       ^
      ------------------------------------------------------------

      h5py/_conv.pyx:512:33: 'hid_t' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          info = <conv_enum_t*>cdata[0].priv
          free(info)
          cdata[0].priv = NULL

      cdef int enum_int_converter_conv(hid_t src, hid_t dst, H5T_cdata_t *cdata,
                                                  ^
      ------------------------------------------------------------

      h5py/_conv.pyx:512:44: 'hid_t' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          info = <conv_enum_t*>cdata[0].priv
          free(info)
          cdata[0].priv = NULL

      cdef int enum_int_converter_conv(hid_t src, hid_t dst, H5T_cdata_t *cdata,
                                                             ^
      ------------------------------------------------------------

      h5py/_conv.pyx:512:55: 'H5T_cdata_t' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          cdata[0].priv = NULL

      cdef int enum_int_converter_conv(hid_t src, hid_t dst, H5T_cdata_t *cdata,
                                        size_t nl, size_t buf_stride, size_t bkg_stride, void *buf_i,
                                       void *bkg_i, hid_t dxpl, int forward) except -1 with gil:
                                                    ^
      ------------------------------------------------------------

      h5py/_conv.pyx:514:46: 'hid_t' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...

          return 0

      # Direction ("forward"): 1 = enum to int, 0 = int to enum
      cdef herr_t enum_int_converter(hid_t src, hid_t dst, H5T_cdata_t *cdata,
           ^
      ------------------------------------------------------------

      h5py/_conv.pyx:577:5: 'herr_t' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...

          return 0

      # Direction ("forward"): 1 = enum to int, 0 = int to enum
      cdef herr_t enum_int_converter(hid_t src, hid_t dst, H5T_cdata_t *cdata,
                                     ^
      ------------------------------------------------------------

      h5py/_conv.pyx:577:31: 'hid_t' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...

          return 0

      # Direction ("forward"): 1 = enum to int, 0 = int to enum
      cdef herr_t enum_int_converter(hid_t src, hid_t dst, H5T_cdata_t *cdata,
                                                ^
      ------------------------------------------------------------

      h5py/_conv.pyx:577:42: 'hid_t' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...

          return 0

      # Direction ("forward"): 1 = enum to int, 0 = int to enum
      cdef herr_t enum_int_converter(hid_t src, hid_t dst, H5T_cdata_t *cdata,
                                                           ^
      ------------------------------------------------------------

      h5py/_conv.pyx:577:53: 'H5T_cdata_t' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...

      # Direction ("forward"): 1 = enum to int, 0 = int to enum
      cdef herr_t enum_int_converter(hid_t src, hid_t dst, H5T_cdata_t *cdata,
                          size_t nl, size_t buf_stride, size_t bkg_stride, void *buf_i,
                                     void *bkg_i, hid_t dxpl, int forward) except -1:
                                                  ^
      ------------------------------------------------------------

      h5py/_conv.pyx:579:44: 'hid_t' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
              return -2

          return 0

      cdef herr_t enum2int(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
           ^
      ------------------------------------------------------------

      h5py/_conv.pyx:596:5: 'herr_t' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
              return -2

          return 0

      cdef herr_t enum2int(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
                           ^
      ------------------------------------------------------------

      h5py/_conv.pyx:596:21: 'hid_t' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
              return -2

          return 0

      cdef herr_t enum2int(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
                                         ^
      ------------------------------------------------------------

      h5py/_conv.pyx:596:35: 'hid_t' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
              return -2

          return 0

      cdef herr_t enum2int(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
                                                       ^
      ------------------------------------------------------------

      h5py/_conv.pyx:596:49: 'H5T_cdata_t' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          return 0

      cdef herr_t enum2int(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
                          size_t nl, size_t buf_stride, size_t bkg_stride, void *buf_i,
                          void *bkg_i, hid_t dxpl) except -1:
                                       ^
      ------------------------------------------------------------

      h5py/_conv.pyx:598:33: 'hid_t' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
                          size_t nl, size_t buf_stride, size_t bkg_stride, void *buf_i,
                          void *bkg_i, hid_t dxpl) except -1:
          return enum_int_converter(src_id, dst_id, cdata, nl, buf_stride, bkg_stride,
                   buf_i, bkg_i, dxpl, 1)

      cdef herr_t int2enum(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
           ^
      ------------------------------------------------------------

      h5py/_conv.pyx:602:5: 'herr_t' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
                          size_t nl, size_t buf_stride, size_t bkg_stride, void *buf_i,
                          void *bkg_i, hid_t dxpl) except -1:
          return enum_int_converter(src_id, dst_id, cdata, nl, buf_stride, bkg_stride,
                   buf_i, bkg_i, dxpl, 1)

      cdef herr_t int2enum(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
                           ^
      ------------------------------------------------------------

      h5py/_conv.pyx:602:21: 'hid_t' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
                          size_t nl, size_t buf_stride, size_t bkg_stride, void *buf_i,
                          void *bkg_i, hid_t dxpl) except -1:
          return enum_int_converter(src_id, dst_id, cdata, nl, buf_stride, bkg_stride,
                   buf_i, bkg_i, dxpl, 1)

      cdef herr_t int2enum(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
                                         ^
      ------------------------------------------------------------

      h5py/_conv.pyx:602:35: 'hid_t' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
                          size_t nl, size_t buf_stride, size_t bkg_stride, void *buf_i,
                          void *bkg_i, hid_t dxpl) except -1:
          return enum_int_converter(src_id, dst_id, cdata, nl, buf_stride, bkg_stride,
                   buf_i, bkg_i, dxpl, 1)

      cdef herr_t int2enum(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
                                                       ^
      ------------------------------------------------------------

      h5py/_conv.pyx:602:49: 'H5T_cdata_t' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          return enum_int_converter(src_id, dst_id, cdata, nl, buf_stride, bkg_stride,
                   buf_i, bkg_i, dxpl, 1)

      cdef herr_t int2enum(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
                          size_t nl, size_t buf_stride, size_t bkg_stride, void *buf_i,
                          void *bkg_i, hid_t dxpl) except -1:
                                       ^
      ------------------------------------------------------------

      h5py/_conv.pyx:604:33: 'hid_t' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
                   buf_i, bkg_i, dxpl, 0)

      # =============================================================================
      # ndarray to VLEN routines

      cdef herr_t vlen2ndarray(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
           ^
      ------------------------------------------------------------

      h5py/_conv.pyx:611:5: 'herr_t' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
                   buf_i, bkg_i, dxpl, 0)

      # =============================================================================
      # ndarray to VLEN routines

      cdef herr_t vlen2ndarray(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
                               ^
      ------------------------------------------------------------

      h5py/_conv.pyx:611:25: 'hid_t' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
                   buf_i, bkg_i, dxpl, 0)

      # =============================================================================
      # ndarray to VLEN routines

      cdef herr_t vlen2ndarray(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
                                             ^
      ------------------------------------------------------------

      h5py/_conv.pyx:611:39: 'hid_t' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
                   buf_i, bkg_i, dxpl, 0)

      # =============================================================================
      # ndarray to VLEN routines

      cdef herr_t vlen2ndarray(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
                                                           ^
      ------------------------------------------------------------

      h5py/_conv.pyx:611:53: 'H5T_cdata_t' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
      # =============================================================================
      # ndarray to VLEN routines

      cdef herr_t vlen2ndarray(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
                          size_t nl, size_t buf_stride, size_t bkg_stride, void *buf_i,
                          void *bkg_i, hid_t dxpl) except -1:
                                       ^
      ------------------------------------------------------------

      h5py/_conv.pyx:613:33: 'hid_t' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
      cdef struct vlen_t:
          size_t len
          void* ptr

      cdef int conv_vlen2ndarray(void* ipt, void* opt, np.dtype elem_dtype,
              TypeID intype, TypeID outtype) except -1:
              ^
      ------------------------------------------------------------

      h5py/_conv.pyx:677:8: 'TypeID' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
      cdef struct vlen_t:
          size_t len
          void* ptr

      cdef int conv_vlen2ndarray(void* ipt, void* opt, np.dtype elem_dtype,
              TypeID intype, TypeID outtype) except -1:
                             ^
      ------------------------------------------------------------

      h5py/_conv.pyx:677:23: 'TypeID' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          in_vlen0.ptr = NULL
          memcpy(buf_obj, &ndarray_obj, sizeof(ndarray_obj))

          return 0

      cdef herr_t ndarray2vlen(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
           ^
      ------------------------------------------------------------

      h5py/_conv.pyx:709:5: 'herr_t' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          in_vlen0.ptr = NULL
          memcpy(buf_obj, &ndarray_obj, sizeof(ndarray_obj))

          return 0

      cdef herr_t ndarray2vlen(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
                               ^
      ------------------------------------------------------------

      h5py/_conv.pyx:709:25: 'hid_t' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          in_vlen0.ptr = NULL
          memcpy(buf_obj, &ndarray_obj, sizeof(ndarray_obj))

          return 0

      cdef herr_t ndarray2vlen(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
                                             ^
      ------------------------------------------------------------

      h5py/_conv.pyx:709:39: 'hid_t' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          in_vlen0.ptr = NULL
          memcpy(buf_obj, &ndarray_obj, sizeof(ndarray_obj))

          return 0

      cdef herr_t ndarray2vlen(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
                                                           ^
      ------------------------------------------------------------

      h5py/_conv.pyx:709:53: 'H5T_cdata_t' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...

          return 0

      cdef herr_t ndarray2vlen(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
                          size_t nl, size_t buf_stride, size_t bkg_stride, void *buf_i,
                          void *bkg_i, hid_t dxpl) except -1:
                                       ^
      ------------------------------------------------------------

      h5py/_conv.pyx:711:33: 'hid_t' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...

          return 0

      cdef int conv_ndarray2vlen(void* ipt, void* opt,
              TypeID intype, TypeID outtype) except -1:
              ^
      ------------------------------------------------------------

      h5py/_conv.pyx:780:8: 'TypeID' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...

          return 0

      cdef int conv_ndarray2vlen(void* ipt, void* opt,
              TypeID intype, TypeID outtype) except -1:
                             ^
      ------------------------------------------------------------

      h5py/_conv.pyx:780:23: 'TypeID' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
      # HDF5 references to Python instances of h5r.Reference

      cdef int conv_objref2pyref(void* ipt, void* opt, void* bkg, void* priv) except -1:

          cdef PyObject** buf_obj = <PyObject**>opt
          cdef hobj_ref_t* buf_ref = <hobj_ref_t*>ipt
               ^
      ------------------------------------------------------------

      h5py/_conv.pyx:349:9: 'hobj_ref_t' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
      cdef int conv_objref2pyref(void* ipt, void* opt, void* bkg, void* priv) except -1:

          cdef PyObject** buf_obj = <PyObject**>opt
          cdef hobj_ref_t* buf_ref = <hobj_ref_t*>ipt

          cdef Reference ref = Reference()
               ^
      ------------------------------------------------------------

      h5py/_conv.pyx:351:9: 'Reference' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          return 0

      cdef int conv_pyref2objref(void* ipt, void* opt, void* bkg, void* priv) except -1:

          cdef PyObject** buf_obj = <PyObject**>ipt
          cdef hobj_ref_t* buf_ref = <hobj_ref_t*>opt
               ^
      ------------------------------------------------------------

      h5py/_conv.pyx:368:9: 'hobj_ref_t' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...

          cdef PyObject** buf_obj = <PyObject**>ipt
          cdef hobj_ref_t* buf_ref = <hobj_ref_t*>opt

          cdef object obj
          cdef Reference ref
               ^
      ------------------------------------------------------------

      h5py/_conv.pyx:371:9: 'Reference' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...

      cdef int conv_regref2pyref(void* ipt, void* opt, void* bkg, void* priv) except -1:

          cdef PyObject** buf_obj = <PyObject**>opt
          cdef PyObject** bkg_obj = <PyObject**>bkg
          cdef hdset_reg_ref_t* buf_ref = <hdset_reg_ref_t*>ipt
               ^
      ------------------------------------------------------------

      h5py/_conv.pyx:392:9: 'hdset_reg_ref_t' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...

          cdef PyObject** buf_obj = <PyObject**>opt
          cdef PyObject** bkg_obj = <PyObject**>bkg
          cdef hdset_reg_ref_t* buf_ref = <hdset_reg_ref_t*>ipt

          cdef RegionReference ref = RegionReference()
               ^
      ------------------------------------------------------------

      h5py/_conv.pyx:394:9: 'RegionReference' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          return 0

      cdef int conv_pyref2regref(void* ipt, void* opt, void* bkg, void* priv) except -1:

          cdef PyObject** buf_obj = <PyObject**>ipt
          cdef hdset_reg_ref_t* buf_ref = <hdset_reg_ref_t*>opt
               ^
      ------------------------------------------------------------

      h5py/_conv.pyx:416:9: 'hdset_reg_ref_t' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...

          cdef PyObject** buf_obj = <PyObject**>ipt
          cdef hdset_reg_ref_t* buf_ref = <hdset_reg_ref_t*>opt

          cdef object obj
          cdef RegionReference ref
               ^
      ------------------------------------------------------------

      h5py/_conv.pyx:419:9: 'RegionReference' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          cdef size_t nalloc
          cdef int i
          cdef char* cbuf = NULL
          cdef char* buf = <char*>buf_i
          cdef int identical
          cdef hid_t supertype = -1
               ^
      ------------------------------------------------------------

      h5py/_conv.pyx:521:9: 'hid_t' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
                          size_t nl, size_t buf_stride, size_t bkg_stride, void *buf_i,
                          void *bkg_i, hid_t dxpl) except -1:

          cdef int command = cdata[0].command
          cdef size_t src_size, dst_size
          cdef TypeID supertype
               ^
      ------------------------------------------------------------

      h5py/_conv.pyx:617:9: 'TypeID' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
                          void *bkg_i, hid_t dxpl) except -1:

          cdef int command = cdata[0].command
          cdef size_t src_size, dst_size
          cdef TypeID supertype
          cdef TypeID outtype
               ^
      ------------------------------------------------------------

      h5py/_conv.pyx:618:9: 'TypeID' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
                          size_t nl, size_t buf_stride, size_t bkg_stride, void *buf_i,
                          void *bkg_i, hid_t dxpl) except -1:

          cdef int command = cdata[0].command
          cdef size_t src_size, dst_size
          cdef TypeID supertype
               ^
      ------------------------------------------------------------

      h5py/_conv.pyx:715:9: 'TypeID' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
                          void *bkg_i, hid_t dxpl) except -1:

          cdef int command = cdata[0].command
          cdef size_t src_size, dst_size
          cdef TypeID supertype
          cdef TypeID outtype
               ^
      ------------------------------------------------------------

      h5py/_conv.pyx:716:9: 'TypeID' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...

      # =============================================================================

      cpdef int register_converters() except -1:

          cdef hid_t vlstring
               ^
      ------------------------------------------------------------

      h5py/_conv.pyx:811:9: 'hid_t' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
      # =============================================================================

      cpdef int register_converters() except -1:

          cdef hid_t vlstring
          cdef hid_t vlentype
               ^
      ------------------------------------------------------------

      h5py/_conv.pyx:812:9: 'hid_t' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...

      cpdef int register_converters() except -1:

          cdef hid_t vlstring
          cdef hid_t vlentype
          cdef hid_t pyobj
               ^
      ------------------------------------------------------------

      h5py/_conv.pyx:813:9: 'hid_t' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
      cpdef int register_converters() except -1:

          cdef hid_t vlstring
          cdef hid_t vlentype
          cdef hid_t pyobj
          cdef hid_t enum
               ^
      ------------------------------------------------------------

      h5py/_conv.pyx:814:9: 'hid_t' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          cdef int i

          cdef char* buf = <char*>buf_i
          cdef char* bkg = <char*>bkg_i

          if command == H5T_CONV_INIT:
                        ^
      ------------------------------------------------------------

      h5py/_conv.pyx:84:18: undeclared name not builtin: H5T_CONV_INIT

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          cdef char* bkg = <char*>bkg_i

          if command == H5T_CONV_INIT:

              cdata[0].need_bkg = need_bkg
              return initop(src_id, dst_id, &(cdata[0].priv))
                                            ^
      ------------------------------------------------------------

      h5py/_conv.pyx:87:38: Cannot take address of Python object attribute 'priv'

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          if command == H5T_CONV_INIT:

              cdata[0].need_bkg = need_bkg
              return initop(src_id, dst_id, &(cdata[0].priv))

          elif command == H5T_CONV_FREE:
                          ^
      ------------------------------------------------------------

      h5py/_conv.pyx:89:20: undeclared name not builtin: H5T_CONV_FREE

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
              cdata[0].need_bkg = need_bkg
              return initop(src_id, dst_id, &(cdata[0].priv))

          elif command == H5T_CONV_FREE:

              free(cdata[0].priv)
              ^
      ------------------------------------------------------------

      h5py/_conv.pyx:91:8: undeclared name not builtin: free

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
              return initop(src_id, dst_id, &(cdata[0].priv))

          elif command == H5T_CONV_FREE:

              free(cdata[0].priv)
              cdata[0].priv = NULL
                              ^
      ------------------------------------------------------------

      h5py/_conv.pyx:92:24: Cannot convert 'void *' to Python object

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          elif command == H5T_CONV_FREE:

              free(cdata[0].priv)
              cdata[0].priv = NULL

          elif command == H5T_CONV_CONV:
                          ^
      ------------------------------------------------------------

      h5py/_conv.pyx:94:20: undeclared name not builtin: H5T_CONV_CONV

      Error compiling Cython file:
      ------------------------------------------------------------
      ...

          elif command == H5T_CONV_CONV:

              sizes = <conv_size_t*>cdata[0].priv

              if H5Tis_variable_str(src_id):
                 ^
      ------------------------------------------------------------

      h5py/_conv.pyx:98:11: undeclared name not builtin: H5Tis_variable_str

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          elif command == H5T_CONV_CONV:

              sizes = <conv_size_t*>cdata[0].priv

              if H5Tis_variable_str(src_id):
                  sizes.cset = H5Tget_cset(src_id)
                               ^
      ------------------------------------------------------------

      h5py/_conv.pyx:99:25: undeclared name not builtin: H5Tget_cset

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
                  if sizes[0].src_size >= sizes[0].dst_size:
                      for i from 0<=i<nl:
                          op( buf + (i*sizes[0].src_size),    # input pointer
                              buf + (i*sizes[0].dst_size),    # output pointer
                              bkg + (i*bkg_stride),           # backing buffer
                              cdata[0].priv)                  # conversion context
                                      ^
      ------------------------------------------------------------

      h5py/_conv.pyx:116:32: Cannot convert Python object to 'void *'

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
                  else:
                      for i from nl>i>=0:
                          op( buf + (i*sizes[0].src_size),
                              buf + (i*sizes[0].dst_size),
                              bkg + (i*bkg_stride),
                              cdata[0].priv)
                                      ^
      ------------------------------------------------------------

      h5py/_conv.pyx:122:32: Cannot convert Python object to 'void *'

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
                  # offsets exclusively.
                  for i from 0<=i<nl:
                      op( buf + (i*buf_stride),
                          buf + (i*buf_stride),   # note this is the same!
                          bkg + (i*bkg_stride),
                          cdata[0].priv)
                                  ^
      ------------------------------------------------------------

      h5py/_conv.pyx:131:28: Cannot convert Python object to 'void *'

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          int cset

      cdef herr_t init_generic(hid_t src, hid_t dst, void** priv) except -1:

          cdef conv_size_t *sizes
          sizes = <conv_size_t*>malloc(sizeof(conv_size_t))
                                ^
      ------------------------------------------------------------

      h5py/_conv.pyx:148:26: undeclared name not builtin: malloc

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          int cset

      cdef herr_t init_generic(hid_t src, hid_t dst, void** priv) except -1:

          cdef conv_size_t *sizes
          sizes = <conv_size_t*>malloc(sizeof(conv_size_t))
                  ^
      ------------------------------------------------------------

      h5py/_conv.pyx:148:12: Casting temporary Python object to non-numeric non-Python type

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          int cset

      cdef herr_t init_generic(hid_t src, hid_t dst, void** priv) except -1:

          cdef conv_size_t *sizes
          sizes = <conv_size_t*>malloc(sizeof(conv_size_t))
                  ^
      ------------------------------------------------------------

      h5py/_conv.pyx:148:12: Storing unsafe C derivative of temporary Python reference

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
      cdef herr_t init_generic(hid_t src, hid_t dst, void** priv) except -1:

          cdef conv_size_t *sizes
          sizes = <conv_size_t*>malloc(sizeof(conv_size_t))
          priv[0] = sizes
          sizes[0].src_size = H5Tget_size(src)
                              ^
      ------------------------------------------------------------

      h5py/_conv.pyx:150:24: undeclared name not builtin: H5Tget_size

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          cdef PyObject* temp_obj = NULL
          cdef conv_size_t *sizes = <conv_size_t*>priv
          cdef PyObject* bkg_obj0
          cdef char* buf_cstring0

          memcpy(&bkg_obj0, bkg_obj, sizeof(bkg_obj0))
          ^
      ------------------------------------------------------------

      h5py/_conv.pyx:168:4: undeclared name not builtin: memcpy

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          cdef PyObject* temp_obj = NULL
          cdef conv_size_t *sizes = <conv_size_t*>priv
          cdef PyObject* bkg_obj0
          cdef char* buf_cstring0

          memcpy(&bkg_obj0, bkg_obj, sizeof(bkg_obj0))
                 ^
      ------------------------------------------------------------

      h5py/_conv.pyx:168:11: Cannot convert 'PyObject **' to Python object

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          cdef PyObject* temp_obj = NULL
          cdef conv_size_t *sizes = <conv_size_t*>priv
          cdef PyObject* bkg_obj0
          cdef char* buf_cstring0

          memcpy(&bkg_obj0, bkg_obj, sizeof(bkg_obj0))
                            ^
      ------------------------------------------------------------

      h5py/_conv.pyx:168:22: Cannot convert 'PyObject **' to Python object

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          cdef conv_size_t *sizes = <conv_size_t*>priv
          cdef PyObject* bkg_obj0
          cdef char* buf_cstring0

          memcpy(&bkg_obj0, bkg_obj, sizeof(bkg_obj0))
          memcpy(&buf_cstring0, buf_cstring, sizeof(buf_cstring0))
                 ^
      ------------------------------------------------------------

      h5py/_conv.pyx:169:11: Cannot convert 'char **' to Python object

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          cdef conv_size_t *sizes = <conv_size_t*>priv
          cdef PyObject* bkg_obj0
          cdef char* buf_cstring0

          memcpy(&bkg_obj0, bkg_obj, sizeof(bkg_obj0))
          memcpy(&buf_cstring0, buf_cstring, sizeof(buf_cstring0))
                                ^
      ------------------------------------------------------------

      h5py/_conv.pyx:169:26: Cannot convert 'char **' to Python object

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          memcpy(&bkg_obj0, bkg_obj, sizeof(bkg_obj0))
          memcpy(&buf_cstring0, buf_cstring, sizeof(buf_cstring0))

          # When reading we identify H5T_CSET_ASCII as a byte string and
          # H5T_CSET_UTF8 as a utf8-encoded unicode string
          if sizes.cset == H5T_CSET_ASCII:
                           ^
      ------------------------------------------------------------

      h5py/_conv.pyx:173:21: undeclared name not builtin: H5T_CSET_ASCII

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          if sizes.cset == H5T_CSET_ASCII:
              if buf_cstring0 == NULL:
                  temp_obj = PyBytes_FromString("")
              else:
                  temp_obj = PyBytes_FromString(buf_cstring0)
          elif sizes.cset == H5T_CSET_UTF8:
                             ^
      ------------------------------------------------------------

      h5py/_conv.pyx:178:23: undeclared name not builtin: H5T_CSET_UTF8

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
                  temp_obj = PyBytes_FromString(buf_cstring0)
          elif sizes.cset == H5T_CSET_UTF8:
              if buf_cstring0 == NULL:
                  temp_obj = PyUnicode_DecodeUTF8("", 0, NULL)
              else:
                  temp_obj = PyUnicode_DecodeUTF8(buf_cstring0, strlen(buf_cstring0), NULL)
                                                                ^
      ------------------------------------------------------------

      h5py/_conv.pyx:182:58: undeclared name not builtin: strlen

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          # HDF5 will eventually overwrite this target location, so we
          # make sure to decref the object there.
          Py_XDECREF(bkg_obj0)

          # Write the new string object to the buffer in-place
          memcpy(buf_obj, &temp_obj, sizeof(temp_obj));
                 ^
      ------------------------------------------------------------

      h5py/_conv.pyx:193:11: Cannot convert 'PyObject **' to Python object

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          # HDF5 will eventually overwrite this target location, so we
          # make sure to decref the object there.
          Py_XDECREF(bkg_obj0)

          # Write the new string object to the buffer in-place
          memcpy(buf_obj, &temp_obj, sizeof(temp_obj));
                          ^
      ------------------------------------------------------------

      h5py/_conv.pyx:193:20: Cannot convert 'PyObject **' to Python object

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          cdef size_t temp_string_len = 0  # Not including null term

          cdef PyObject* buf_obj0
          cdef char* buf_cstring0

          memcpy(&buf_obj0, buf_obj, sizeof(buf_obj0))
                 ^
      ------------------------------------------------------------

      h5py/_conv.pyx:212:11: Cannot convert 'PyObject **' to Python object

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          cdef size_t temp_string_len = 0  # Not including null term

          cdef PyObject* buf_obj0
          cdef char* buf_cstring0

          memcpy(&buf_obj0, buf_obj, sizeof(buf_obj0))
                            ^
      ------------------------------------------------------------

      h5py/_conv.pyx:212:22: Cannot convert 'PyObject **' to Python object

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
                          raise TypeError("Unrecognized dataset encoding")

              if strlen(temp_string) != temp_string_len:
                  raise ValueError("VLEN strings do not support embedded NULLs")

              buf_cstring0 = <char*>malloc(temp_string_len+1)
                             ^
      ------------------------------------------------------------

      h5py/_conv.pyx:261:23: Casting temporary Python object to non-numeric non-Python type

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
                          raise TypeError("Unrecognized dataset encoding")

              if strlen(temp_string) != temp_string_len:
                  raise ValueError("VLEN strings do not support embedded NULLs")

              buf_cstring0 = <char*>malloc(temp_string_len+1)
                             ^
      ------------------------------------------------------------

      h5py/_conv.pyx:261:23: Storing unsafe C derivative of temporary Python reference

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
              if strlen(temp_string) != temp_string_len:
                  raise ValueError("VLEN strings do not support embedded NULLs")

              buf_cstring0 = <char*>malloc(temp_string_len+1)
              memcpy(buf_cstring0, temp_string, temp_string_len+1)
              memcpy(buf_cstring, &buf_cstring0, sizeof(buf_cstring0));
                     ^
      ------------------------------------------------------------

      h5py/_conv.pyx:263:15: Cannot convert 'char **' to Python object

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
              if strlen(temp_string) != temp_string_len:
                  raise ValueError("VLEN strings do not support embedded NULLs")

              buf_cstring0 = <char*>malloc(temp_string_len+1)
              memcpy(buf_cstring0, temp_string, temp_string_len+1)
              memcpy(buf_cstring, &buf_cstring0, sizeof(buf_cstring0));
                                  ^
      ------------------------------------------------------------

      h5py/_conv.pyx:263:28: Cannot convert 'char **' to Python object

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          cdef conv_size_t *sizes

          if not (H5Tis_variable_str(src) and (not H5Tis_variable_str(dst))):
              return -2

          sizes = <conv_size_t*>malloc(sizeof(conv_size_t))
                  ^
      ------------------------------------------------------------

      h5py/_conv.pyx:280:12: Casting temporary Python object to non-numeric non-Python type

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          cdef conv_size_t *sizes

          if not (H5Tis_variable_str(src) and (not H5Tis_variable_str(dst))):
              return -2

          sizes = <conv_size_t*>malloc(sizeof(conv_size_t))
                  ^
      ------------------------------------------------------------

      h5py/_conv.pyx:280:12: Storing unsafe C derivative of temporary Python reference

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          cdef conv_size_t *sizes

          if not (H5Tis_variable_str(dst) and (not H5Tis_variable_str(src))):
              return -2

          sizes = <conv_size_t*>malloc(sizeof(conv_size_t))
                  ^
      ------------------------------------------------------------

      h5py/_conv.pyx:294:12: Casting temporary Python object to non-numeric non-Python type

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          cdef conv_size_t *sizes

          if not (H5Tis_variable_str(dst) and (not H5Tis_variable_str(src))):
              return -2

          sizes = <conv_size_t*>malloc(sizeof(conv_size_t))
                  ^
      ------------------------------------------------------------

      h5py/_conv.pyx:294:12: Storing unsafe C derivative of temporary Python reference

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          cdef char* temp_string = NULL
          cdef size_t temp_string_len = 0  # Without null term
          cdef conv_size_t *sizes = <conv_size_t*>priv
          cdef char* buf_vlen0

          memcpy(&buf_vlen0, buf_vlen, sizeof(buf_vlen0));
                 ^
      ------------------------------------------------------------

      h5py/_conv.pyx:310:11: Cannot convert 'char **' to Python object

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          cdef char* temp_string = NULL
          cdef size_t temp_string_len = 0  # Without null term
          cdef conv_size_t *sizes = <conv_size_t*>priv
          cdef char* buf_vlen0

          memcpy(&buf_vlen0, buf_vlen, sizeof(buf_vlen0));
                             ^
      ------------------------------------------------------------

      h5py/_conv.pyx:310:23: Cannot convert 'char **' to Python object

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
              temp_string_len = strlen(temp_string)

              if temp_string_len <= sizes[0].dst_size:
                  # Pad with zeros
                  memcpy(buf_fixed, temp_string, temp_string_len)
                  memset(buf_fixed + temp_string_len, c'\0', sizes[0].dst_size - temp_string_len)
                  ^
      ------------------------------------------------------------

      h5py/_conv.pyx:319:12: undeclared name not builtin: memset

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          cdef char** buf_vlen = <char**>opt
          cdef char* buf_fixed = <char*>ipt
          cdef char* temp_string = NULL
          cdef conv_size_t *sizes = <conv_size_t*>priv

          temp_string = <char*>malloc(sizes[0].src_size+1)
                        ^
      ------------------------------------------------------------

      h5py/_conv.pyx:335:18: Casting temporary Python object to non-numeric non-Python type

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          cdef char** buf_vlen = <char**>opt
          cdef char* buf_fixed = <char*>ipt
          cdef char* temp_string = NULL
          cdef conv_size_t *sizes = <conv_size_t*>priv

          temp_string = <char*>malloc(sizes[0].src_size+1)
                        ^
      ------------------------------------------------------------

      h5py/_conv.pyx:335:18: Storing unsafe C derivative of temporary Python reference

      Error compiling Cython file:
      ------------------------------------------------------------
      ...

          temp_string = <char*>malloc(sizes[0].src_size+1)
          memcpy(temp_string, buf_fixed, sizes[0].src_size)
          temp_string[sizes[0].src_size] = c'\0'

          memcpy(buf_vlen, &temp_string, sizeof(temp_string));
                 ^
      ------------------------------------------------------------

      h5py/_conv.pyx:339:11: Cannot convert 'char **' to Python object

      Error compiling Cython file:
      ------------------------------------------------------------
      ...

          temp_string = <char*>malloc(sizes[0].src_size+1)
          memcpy(temp_string, buf_fixed, sizes[0].src_size)
          temp_string[sizes[0].src_size] = c'\0'

          memcpy(buf_vlen, &temp_string, sizeof(temp_string));
                           ^
      ------------------------------------------------------------

      h5py/_conv.pyx:339:21: Cannot convert 'char **' to Python object

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
      # HDF5 references to Python instances of h5r.Reference

      cdef int conv_objref2pyref(void* ipt, void* opt, void* bkg, void* priv) except -1:

          cdef PyObject** buf_obj = <PyObject**>opt
          cdef hobj_ref_t* buf_ref = <hobj_ref_t*>ipt
                                      ^
      ------------------------------------------------------------

      h5py/_conv.pyx:349:32: 'hobj_ref_t' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
      cdef int conv_objref2pyref(void* ipt, void* opt, void* bkg, void* priv) except -1:

          cdef PyObject** buf_obj = <PyObject**>opt
          cdef hobj_ref_t* buf_ref = <hobj_ref_t*>ipt

          cdef Reference ref = Reference()
                               ^
      ------------------------------------------------------------

      h5py/_conv.pyx:351:25: 'Reference' is not a constant, variable or function identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          cdef hobj_ref_t* buf_ref = <hobj_ref_t*>ipt

          cdef Reference ref = Reference()
          cdef PyObject* ref_ptr = NULL

          memcpy(&ref.ref.obj_ref, buf_ref, sizeof(ref.ref.obj_ref))
                 ^
      ------------------------------------------------------------

      h5py/_conv.pyx:354:11: Cannot take address of Python object attribute 'obj_ref'

      Error compiling Cython file:
      ------------------------------------------------------------
      ...

          cdef Reference ref = Reference()
          cdef PyObject* ref_ptr = NULL

          memcpy(&ref.ref.obj_ref, buf_ref, sizeof(ref.ref.obj_ref))
          ref.typecode = H5R_OBJECT
                         ^
      ------------------------------------------------------------

      h5py/_conv.pyx:355:19: undeclared name not builtin: H5R_OBJECT

      Error compiling Cython file:
      ------------------------------------------------------------
      ...

          ref_ptr = <PyObject*>ref
          Py_INCREF(ref_ptr)  # because Cython discards its reference when the
                              # function exits

          memcpy(buf_obj, &ref_ptr, sizeof(ref_ptr))
                 ^
      ------------------------------------------------------------

      h5py/_conv.pyx:361:11: Cannot convert 'PyObject **' to Python object

      Error compiling Cython file:
      ------------------------------------------------------------
      ...

          ref_ptr = <PyObject*>ref
          Py_INCREF(ref_ptr)  # because Cython discards its reference when the
                              # function exits

          memcpy(buf_obj, &ref_ptr, sizeof(ref_ptr))
                          ^
      ------------------------------------------------------------

      h5py/_conv.pyx:361:20: Cannot convert 'PyObject **' to Python object

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          return 0

      cdef int conv_pyref2objref(void* ipt, void* opt, void* bkg, void* priv) except -1:

          cdef PyObject** buf_obj = <PyObject**>ipt
          cdef hobj_ref_t* buf_ref = <hobj_ref_t*>opt
                                      ^
      ------------------------------------------------------------

      h5py/_conv.pyx:368:32: 'hobj_ref_t' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          cdef object obj
          cdef Reference ref

          cdef PyObject* buf_obj0

          memcpy(&buf_obj0, buf_obj, sizeof(buf_obj0));
                 ^
      ------------------------------------------------------------

      h5py/_conv.pyx:375:11: Cannot convert 'PyObject **' to Python object

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          cdef object obj
          cdef Reference ref

          cdef PyObject* buf_obj0

          memcpy(&buf_obj0, buf_obj, sizeof(buf_obj0));
                            ^
      ------------------------------------------------------------

      h5py/_conv.pyx:375:22: Cannot convert 'PyObject **' to Python object

      Error compiling Cython file:
      ------------------------------------------------------------
      ...

          memcpy(&buf_obj0, buf_obj, sizeof(buf_obj0));

          if buf_obj0 != NULL and buf_obj0 != Py_None:
              obj = <object>(buf_obj0)
              if not isinstance(obj, Reference):
                                     ^
      ------------------------------------------------------------

      h5py/_conv.pyx:379:31: 'Reference' is not a constant, variable or function identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...

          if buf_obj0 != NULL and buf_obj0 != Py_None:
              obj = <object>(buf_obj0)
              if not isinstance(obj, Reference):
                  raise TypeError("Can't convert incompatible object to HDF5 object reference")
              ref = <Reference>(buf_obj0)
                     ^
      ------------------------------------------------------------

      h5py/_conv.pyx:381:15: 'Reference' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          if buf_obj0 != NULL and buf_obj0 != Py_None:
              obj = <object>(buf_obj0)
              if not isinstance(obj, Reference):
                  raise TypeError("Can't convert incompatible object to HDF5 object reference")
              ref = <Reference>(buf_obj0)
              memcpy(buf_ref, &ref.ref.obj_ref, sizeof(ref.ref.obj_ref))
                              ^
      ------------------------------------------------------------

      h5py/_conv.pyx:382:24: Cannot take address of Python object attribute 'obj_ref'

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
              if not isinstance(obj, Reference):
                  raise TypeError("Can't convert incompatible object to HDF5 object reference")
              ref = <Reference>(buf_obj0)
              memcpy(buf_ref, &ref.ref.obj_ref, sizeof(ref.ref.obj_ref))
          else:
              memset(buf_ref, c'\0', sizeof(hobj_ref_t))
                                            ^
      ------------------------------------------------------------

      h5py/_conv.pyx:384:38: 'hobj_ref_t' is not a constant, variable or function identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...

      cdef int conv_regref2pyref(void* ipt, void* opt, void* bkg, void* priv) except -1:

          cdef PyObject** buf_obj = <PyObject**>opt
          cdef PyObject** bkg_obj = <PyObject**>bkg
          cdef hdset_reg_ref_t* buf_ref = <hdset_reg_ref_t*>ipt
                                           ^
      ------------------------------------------------------------

      h5py/_conv.pyx:392:37: 'hdset_reg_ref_t' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...

          cdef PyObject** buf_obj = <PyObject**>opt
          cdef PyObject** bkg_obj = <PyObject**>bkg
          cdef hdset_reg_ref_t* buf_ref = <hdset_reg_ref_t*>ipt

          cdef RegionReference ref = RegionReference()
                                     ^
      ------------------------------------------------------------

      h5py/_conv.pyx:394:31: 'RegionReference' is not a constant, variable or function identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          cdef RegionReference ref = RegionReference()
          cdef PyObject* ref_ptr = NULL

          cdef PyObject* bkg_obj0

          memcpy(&bkg_obj0, bkg_obj, sizeof(bkg_obj0));
                 ^
      ------------------------------------------------------------

      h5py/_conv.pyx:399:11: Cannot convert 'PyObject **' to Python object

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          cdef RegionReference ref = RegionReference()
          cdef PyObject* ref_ptr = NULL

          cdef PyObject* bkg_obj0

          memcpy(&bkg_obj0, bkg_obj, sizeof(bkg_obj0));
                            ^
      ------------------------------------------------------------

      h5py/_conv.pyx:399:22: Cannot convert 'PyObject **' to Python object

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          cdef PyObject* ref_ptr = NULL

          cdef PyObject* bkg_obj0

          memcpy(&bkg_obj0, bkg_obj, sizeof(bkg_obj0));
          memcpy(ref.ref.reg_ref, buf_ref, sizeof(hdset_reg_ref_t))
                                                  ^
      ------------------------------------------------------------

      h5py/_conv.pyx:400:44: 'hdset_reg_ref_t' is not a constant, variable or function identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          cdef PyObject* bkg_obj0

          memcpy(&bkg_obj0, bkg_obj, sizeof(bkg_obj0));
          memcpy(ref.ref.reg_ref, buf_ref, sizeof(hdset_reg_ref_t))

          ref.typecode = H5R_DATASET_REGION
                         ^
      ------------------------------------------------------------

      h5py/_conv.pyx:402:19: undeclared name not builtin: H5R_DATASET_REGION

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          ref_ptr = <PyObject*>ref
          Py_INCREF(ref_ptr)  # because Cython discards its reference when the
                              # function exits

          Py_XDECREF(bkg_obj0)
          memcpy(buf_obj, &ref_ptr, sizeof(ref_ptr))
                 ^
      ------------------------------------------------------------

      h5py/_conv.pyx:409:11: Cannot convert 'PyObject **' to Python object

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          ref_ptr = <PyObject*>ref
          Py_INCREF(ref_ptr)  # because Cython discards its reference when the
                              # function exits

          Py_XDECREF(bkg_obj0)
          memcpy(buf_obj, &ref_ptr, sizeof(ref_ptr))
                          ^
      ------------------------------------------------------------

      h5py/_conv.pyx:409:20: Cannot convert 'PyObject **' to Python object

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          return 0

      cdef int conv_pyref2regref(void* ipt, void* opt, void* bkg, void* priv) except -1:

          cdef PyObject** buf_obj = <PyObject**>ipt
          cdef hdset_reg_ref_t* buf_ref = <hdset_reg_ref_t*>opt
                                           ^
      ------------------------------------------------------------

      h5py/_conv.pyx:416:37: 'hdset_reg_ref_t' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          cdef object obj
          cdef RegionReference ref

          cdef PyObject* buf_obj0

          memcpy(&buf_obj0, buf_obj, sizeof(buf_obj0));
                 ^
      ------------------------------------------------------------

      h5py/_conv.pyx:423:11: Cannot convert 'PyObject **' to Python object

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          cdef object obj
          cdef RegionReference ref

          cdef PyObject* buf_obj0

          memcpy(&buf_obj0, buf_obj, sizeof(buf_obj0));
                            ^
      ------------------------------------------------------------

      h5py/_conv.pyx:423:22: Cannot convert 'PyObject **' to Python object

      Error compiling Cython file:
      ------------------------------------------------------------
      ...

          memcpy(&buf_obj0, buf_obj, sizeof(buf_obj0));

          if buf_obj0 != NULL and buf_obj0 != Py_None:
              obj = <object>(buf_obj0)
              if not isinstance(obj, RegionReference):
                                     ^
      ------------------------------------------------------------

      h5py/_conv.pyx:427:31: 'RegionReference' is not a constant, variable or function identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...

          if buf_obj0 != NULL and buf_obj0 != Py_None:
              obj = <object>(buf_obj0)
              if not isinstance(obj, RegionReference):
                  raise TypeError("Can't convert incompatible object to HDF5 region reference")
              ref = <RegionReference>(buf_obj0)
                     ^
      ------------------------------------------------------------

      h5py/_conv.pyx:429:15: 'RegionReference' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          if buf_obj0 != NULL and buf_obj0 != Py_None:
              obj = <object>(buf_obj0)
              if not isinstance(obj, RegionReference):
                  raise TypeError("Can't convert incompatible object to HDF5 region reference")
              ref = <RegionReference>(buf_obj0)
              memcpy(buf_ref, ref.ref.reg_ref, sizeof(hdset_reg_ref_t))
                                                      ^
      ------------------------------------------------------------

      h5py/_conv.pyx:430:48: 'hdset_reg_ref_t' is not a constant, variable or function identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
              if not isinstance(obj, RegionReference):
                  raise TypeError("Can't convert incompatible object to HDF5 region reference")
              ref = <RegionReference>(buf_obj0)
              memcpy(buf_ref, ref.ref.reg_ref, sizeof(hdset_reg_ref_t))
          else:
              memset(buf_ref, c'\0', sizeof(hdset_reg_ref_t))
                                            ^
      ------------------------------------------------------------

      h5py/_conv.pyx:432:38: 'hdset_reg_ref_t' is not a constant, variable or function identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...

      cdef herr_t vlen2str(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
                          size_t nl, size_t buf_stride, size_t bkg_stride, void *buf_i,
                          void *bkg_i, hid_t dxpl) except -1:
          return generic_converter(src_id, dst_id, cdata, nl, buf_stride, bkg_stride,
                   buf_i, bkg_i, dxpl,  conv_vlen2str, init_generic, H5T_BKG_YES)
                                                                     ^
      ------------------------------------------------------------

      h5py/_conv.pyx:444:63: undeclared name not builtin: H5T_BKG_YES

      Error compiling Cython file:
      ------------------------------------------------------------
      ...

      cdef herr_t str2vlen(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
                          size_t nl, size_t buf_stride, size_t bkg_stride, void *buf_i,
                          void *bkg_i, hid_t dxpl) except -1:
          return generic_converter(src_id, dst_id, cdata, nl, buf_stride, bkg_stride,
                   buf_i, bkg_i, dxpl, conv_str2vlen, init_generic, H5T_BKG_NO)
                                                                    ^
      ------------------------------------------------------------

      h5py/_conv.pyx:450:62: undeclared name not builtin: H5T_BKG_NO

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
      cdef int enum_int_converter_init(hid_t src, hid_t dst,
                                       H5T_cdata_t *cdata, int forward) except -1 with gil:
          cdef conv_enum_t *info

          cdata[0].need_bkg = H5T_BKG_NO
          cdata[0].priv = info = <conv_enum_t*>malloc(sizeof(conv_enum_t))
                                 ^
      ------------------------------------------------------------

      h5py/_conv.pyx:500:27: Casting temporary Python object to non-numeric non-Python type

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
      cdef int enum_int_converter_init(hid_t src, hid_t dst,
                                       H5T_cdata_t *cdata, int forward) except -1 with gil:
          cdef conv_enum_t *info

          cdata[0].need_bkg = H5T_BKG_NO
          cdata[0].priv = info = <conv_enum_t*>malloc(sizeof(conv_enum_t))
                                 ^
      ------------------------------------------------------------

      h5py/_conv.pyx:500:27: Cannot convert 'conv_enum_t *' to Python object

      Error compiling Cython file:
      ------------------------------------------------------------
      ...

      cdef void enum_int_converter_free(H5T_cdata_t *cdata):
          cdef conv_enum_t *info

          info = <conv_enum_t*>cdata[0].priv
          free(info)
               ^
      ------------------------------------------------------------

      h5py/_conv.pyx:508:9: Cannot convert 'conv_enum_t *' to Python object

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
      cdef void enum_int_converter_free(H5T_cdata_t *cdata):
          cdef conv_enum_t *info

          info = <conv_enum_t*>cdata[0].priv
          free(info)
          cdata[0].priv = NULL
                          ^
      ------------------------------------------------------------

      h5py/_conv.pyx:509:20: Cannot convert 'void *' to Python object

      Error compiling Cython file:
      ------------------------------------------------------------
      ...

          info = <conv_enum_t*>cdata[0].priv

          try:
              if forward:
                  supertype = H5Tget_super(src)
                              ^
      ------------------------------------------------------------

      h5py/_conv.pyx:527:24: undeclared name not builtin: H5Tget_super

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          info = <conv_enum_t*>cdata[0].priv

          try:
              if forward:
                  supertype = H5Tget_super(src)
                  identical = H5Tequal(supertype, dst)
                              ^
      ------------------------------------------------------------

      h5py/_conv.pyx:528:24: undeclared name not builtin: H5Tequal

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
                  return 0

              if buf_stride == 0:
                  # Contiguous case: call H5Tconvert directly
                  if forward:
                      H5Tconvert(supertype, dst, nl, buf, NULL, dxpl)
                      ^
      ------------------------------------------------------------

      h5py/_conv.pyx:540:16: undeclared name not builtin: H5Tconvert

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
                  return 0

              if buf_stride == 0:
                  # Contiguous case: call H5Tconvert directly
                  if forward:
                      H5Tconvert(supertype, dst, nl, buf, NULL, dxpl)
                                                          ^
      ------------------------------------------------------------

      h5py/_conv.pyx:540:52: Cannot convert 'void *' to Python object

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
              if buf_stride == 0:
                  # Contiguous case: call H5Tconvert directly
                  if forward:
                      H5Tconvert(supertype, dst, nl, buf, NULL, dxpl)
                  else:
                      H5Tconvert(src, supertype, nl, buf, NULL, dxpl)
                                                          ^
      ------------------------------------------------------------

      h5py/_conv.pyx:542:52: Cannot convert 'void *' to Python object

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
                  if info[0].src_size > info[0].dst_size:
                      nalloc = info[0].src_size*nl
                  else:
                      nalloc = info[0].dst_size*nl

                  cbuf = <char*>malloc(nalloc)
                         ^
      ------------------------------------------------------------

      h5py/_conv.pyx:550:19: Casting temporary Python object to non-numeric non-Python type

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
                  if info[0].src_size > info[0].dst_size:
                      nalloc = info[0].src_size*nl
                  else:
                      nalloc = info[0].dst_size*nl

                  cbuf = <char*>malloc(nalloc)
                         ^
      ------------------------------------------------------------

      h5py/_conv.pyx:550:19: Storing unsafe C derivative of temporary Python reference

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
                  for i from 0<=i<nl:
                      memcpy(cbuf + (i*info[0].src_size), buf + (i*buf_stride),
                              info[0].src_size)

                  if forward:
                      H5Tconvert(supertype, dst, nl, cbuf, NULL, dxpl)
                                                           ^
      ------------------------------------------------------------

      h5py/_conv.pyx:559:53: Cannot convert 'void *' to Python object

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
                              info[0].src_size)

                  if forward:
                      H5Tconvert(supertype, dst, nl, cbuf, NULL, dxpl)
                  else:
                      H5Tconvert(src, supertype, nl, cbuf, NULL, dxpl)
                                                           ^
      ------------------------------------------------------------

      h5py/_conv.pyx:561:53: Cannot convert 'void *' to Python object

      Error compiling Cython file:
      ------------------------------------------------------------
      ...

          finally:
              free(cbuf)
              cbuf = NULL
              if supertype > 0:
                  H5Tclose(supertype)
                  ^
      ------------------------------------------------------------

      h5py/_conv.pyx:571:12: undeclared name not builtin: H5Tclose

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          cdef char* buf = <char*>buf_i

          if command == H5T_CONV_INIT:

              cdata[0].need_bkg = H5T_BKG_NO
              if H5Tget_class(src_id) != H5T_VLEN or H5Tget_class(dst_id) != H5T_OPAQUE:
                 ^
      ------------------------------------------------------------

      h5py/_conv.pyx:627:11: undeclared name not builtin: H5Tget_class

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          cdef char* buf = <char*>buf_i

          if command == H5T_CONV_INIT:

              cdata[0].need_bkg = H5T_BKG_NO
              if H5Tget_class(src_id) != H5T_VLEN or H5Tget_class(dst_id) != H5T_OPAQUE:
                                         ^
      ------------------------------------------------------------

      h5py/_conv.pyx:627:35: undeclared name not builtin: H5T_VLEN

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          cdef char* buf = <char*>buf_i

          if command == H5T_CONV_INIT:

              cdata[0].need_bkg = H5T_BKG_NO
              if H5Tget_class(src_id) != H5T_VLEN or H5Tget_class(dst_id) != H5T_OPAQUE:
                                                                             ^
      ------------------------------------------------------------

      h5py/_conv.pyx:627:71: undeclared name not builtin: H5T_OPAQUE

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
              pass

          elif command == H5T_CONV_CONV:

              # need to pass element dtype to converter
              supertype = typewrap(H5Tget_super(src_id))
                          ^
      ------------------------------------------------------------

      h5py/_conv.pyx:637:20: 'typewrap' is not a constant, variable or function identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          elif command == H5T_CONV_CONV:

              # need to pass element dtype to converter
              supertype = typewrap(H5Tget_super(src_id))
              dt = supertype.dtype
              outtype = py_create(dt)
                        ^
      ------------------------------------------------------------

      h5py/_conv.pyx:639:18: 'py_create' is not a constant, variable or function identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          cdef void* data
          cdef np.ndarray ndarray
          cdef PyObject* ndarray_obj
          cdef vlen_t in_vlen0

          memcpy(&in_vlen0, in_vlen, sizeof(in_vlen0))
                 ^
      ------------------------------------------------------------

      h5py/_conv.pyx:688:11: Cannot convert 'vlen_t *' to Python object

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          cdef void* data
          cdef np.ndarray ndarray
          cdef PyObject* ndarray_obj
          cdef vlen_t in_vlen0

          memcpy(&in_vlen0, in_vlen, sizeof(in_vlen0))
                            ^
      ------------------------------------------------------------

      h5py/_conv.pyx:688:22: Cannot convert 'vlen_t *' to Python object

      Error compiling Cython file:
      ------------------------------------------------------------
      ...

          dims[0] = in_vlen0.len
          data = in_vlen0.ptr
          if outtype.get_size() > intype.get_size():
              data = realloc(data, outtype.get_size() * in_vlen0.len)
          H5Tconvert(intype.id, outtype.id, in_vlen0.len, data, NULL, H5P_DEFAULT)
                                                                      ^
      ------------------------------------------------------------

      h5py/_conv.pyx:694:64: undeclared name not builtin: H5P_DEFAULT

      Error compiling Cython file:
      ------------------------------------------------------------
      ...

          dims[0] = in_vlen0.len
          data = in_vlen0.ptr
          if outtype.get_size() > intype.get_size():
              data = realloc(data, outtype.get_size() * in_vlen0.len)
          H5Tconvert(intype.id, outtype.id, in_vlen0.len, data, NULL, H5P_DEFAULT)
                                                          ^
      ------------------------------------------------------------

      h5py/_conv.pyx:694:52: Cannot convert 'void *' to Python object

      Error compiling Cython file:
      ------------------------------------------------------------
      ...

          dims[0] = in_vlen0.len
          data = in_vlen0.ptr
          if outtype.get_size() > intype.get_size():
              data = realloc(data, outtype.get_size() * in_vlen0.len)
          H5Tconvert(intype.id, outtype.id, in_vlen0.len, data, NULL, H5P_DEFAULT)
                                                                ^
      ------------------------------------------------------------

      h5py/_conv.pyx:694:58: Cannot convert 'void *' to Python object

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          ndarray_obj = <PyObject*>ndarray
          Py_INCREF(ndarray_obj)

          # Write the new object to the buffer in-place
          in_vlen0.ptr = NULL
          memcpy(buf_obj, &ndarray_obj, sizeof(ndarray_obj))
                 ^
      ------------------------------------------------------------

      h5py/_conv.pyx:705:11: Cannot convert 'PyObject **' to Python object

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          ndarray_obj = <PyObject*>ndarray
          Py_INCREF(ndarray_obj)

          # Write the new object to the buffer in-place
          in_vlen0.ptr = NULL
          memcpy(buf_obj, &ndarray_obj, sizeof(ndarray_obj))
                          ^
      ------------------------------------------------------------

      h5py/_conv.pyx:705:20: Cannot convert 'PyObject **' to Python object

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          cdef char* buf = <char*>buf_i

          if command == H5T_CONV_INIT:

              cdata[0].need_bkg = H5T_BKG_NO
              if not H5Tequal(src_id, H5PY_OBJ) or H5Tget_class(dst_id) != H5T_VLEN:
                                      ^
      ------------------------------------------------------------

      h5py/_conv.pyx:727:32: 'H5PY_OBJ' is not a constant, variable or function identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          if command == H5T_CONV_INIT:

              cdata[0].need_bkg = H5T_BKG_NO
              if not H5Tequal(src_id, H5PY_OBJ) or H5Tget_class(dst_id) != H5T_VLEN:
                  return -2
              supertype = typewrap(H5Tget_super(dst_id))
                          ^
      ------------------------------------------------------------

      h5py/_conv.pyx:729:20: 'typewrap' is not a constant, variable or function identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
              cdata[0].need_bkg = H5T_BKG_NO
              if not H5Tequal(src_id, H5PY_OBJ) or H5Tget_class(dst_id) != H5T_VLEN:
                  return -2
              supertype = typewrap(H5Tget_super(dst_id))
              for i from 0 <= i < nl:
                  memcpy(&pdata_elem, pdata+i, sizeof(pdata_elem))
                         ^
      ------------------------------------------------------------

      h5py/_conv.pyx:731:19: Cannot convert 'PyObject **' to Python object

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
              cdata[0].need_bkg = H5T_BKG_NO
              if not H5Tequal(src_id, H5PY_OBJ) or H5Tget_class(dst_id) != H5T_VLEN:
                  return -2
              supertype = typewrap(H5Tget_super(dst_id))
              for i from 0 <= i < nl:
                  memcpy(&pdata_elem, pdata+i, sizeof(pdata_elem))
                                           ^
      ------------------------------------------------------------

      h5py/_conv.pyx:731:37: Cannot convert 'PyObject **' to Python object

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
              if not H5Tequal(src_id, H5PY_OBJ) or H5Tget_class(dst_id) != H5T_VLEN:
                  return -2
              supertype = typewrap(H5Tget_super(dst_id))
              for i from 0 <= i < nl:
                  memcpy(&pdata_elem, pdata+i, sizeof(pdata_elem))
                  if supertype != py_create((<np.ndarray> pdata_elem).dtype, 1):
                                  ^
      ------------------------------------------------------------

      h5py/_conv.pyx:732:28: 'py_create' is not a constant, variable or function identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
              pass

          elif command == H5T_CONV_CONV:

              # need to pass element dtype to converter
              memcpy(&pdata_elem, pdata, sizeof(pdata_elem))
                     ^
      ------------------------------------------------------------

      h5py/_conv.pyx:744:15: Cannot convert 'PyObject **' to Python object

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
              pass

          elif command == H5T_CONV_CONV:

              # need to pass element dtype to converter
              memcpy(&pdata_elem, pdata, sizeof(pdata_elem))
                                  ^
      ------------------------------------------------------------

      h5py/_conv.pyx:744:28: Cannot convert 'PyObject **' to Python object

      Error compiling Cython file:
      ------------------------------------------------------------
      ...

          elif command == H5T_CONV_CONV:

              # need to pass element dtype to converter
              memcpy(&pdata_elem, pdata, sizeof(pdata_elem))
              supertype = py_create((<np.ndarray> pdata_elem).dtype)
                          ^
      ------------------------------------------------------------

      h5py/_conv.pyx:745:20: 'py_create' is not a constant, variable or function identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          elif command == H5T_CONV_CONV:

              # need to pass element dtype to converter
              memcpy(&pdata_elem, pdata, sizeof(pdata_elem))
              supertype = py_create((<np.ndarray> pdata_elem).dtype)
              outtype = typewrap(H5Tget_super(dst_id))
                        ^
      ------------------------------------------------------------

      h5py/_conv.pyx:746:18: 'typewrap' is not a constant, variable or function identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          cdef void* data
          cdef np.ndarray ndarray
          cdef size_t len
          cdef PyObject* buf_obj0

          memcpy(&buf_obj0, buf_obj, sizeof(buf_obj0))
                 ^
      ------------------------------------------------------------

      h5py/_conv.pyx:791:11: Cannot convert 'PyObject **' to Python object

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          cdef void* data
          cdef np.ndarray ndarray
          cdef size_t len
          cdef PyObject* buf_obj0

          memcpy(&buf_obj0, buf_obj, sizeof(buf_obj0))
                            ^
      ------------------------------------------------------------

      h5py/_conv.pyx:791:22: Cannot convert 'PyObject **' to Python object

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          memcpy(&buf_obj0, buf_obj, sizeof(buf_obj0))
          ndarray = <np.ndarray> buf_obj0
          len = ndarray.shape[0]

          if outtype.get_size() > intype.get_size():
              data = malloc(outtype.get_size() * len)
                           ^
      ------------------------------------------------------------

      h5py/_conv.pyx:796:21: Cannot convert Python object to 'void *'

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          memcpy(&buf_obj0, buf_obj, sizeof(buf_obj0))
          ndarray = <np.ndarray> buf_obj0
          len = ndarray.shape[0]

          if outtype.get_size() > intype.get_size():
              data = malloc(outtype.get_size() * len)
                           ^
      ------------------------------------------------------------

      h5py/_conv.pyx:796:21: Storing unsafe C derivative of temporary Python reference

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          len = ndarray.shape[0]

          if outtype.get_size() > intype.get_size():
              data = malloc(outtype.get_size() * len)
          else:
              data = malloc(intype.get_size() * len)
                           ^
      ------------------------------------------------------------

      h5py/_conv.pyx:798:21: Cannot convert Python object to 'void *'

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          len = ndarray.shape[0]

          if outtype.get_size() > intype.get_size():
              data = malloc(outtype.get_size() * len)
          else:
              data = malloc(intype.get_size() * len)
                           ^
      ------------------------------------------------------------

      h5py/_conv.pyx:798:21: Storing unsafe C derivative of temporary Python reference

      Error compiling Cython file:
      ------------------------------------------------------------
      ...

          if outtype.get_size() > intype.get_size():
              data = malloc(outtype.get_size() * len)
          else:
              data = malloc(intype.get_size() * len)
          memcpy(data, ndarray.data, intype.get_size() * len)
                 ^
      ------------------------------------------------------------

      h5py/_conv.pyx:799:11: Cannot convert 'void *' to Python object

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          if outtype.get_size() > intype.get_size():
              data = malloc(outtype.get_size() * len)
          else:
              data = malloc(intype.get_size() * len)
          memcpy(data, ndarray.data, intype.get_size() * len)
          H5Tconvert(intype.id, outtype.id, len, data, NULL, H5P_DEFAULT)
                                                 ^
      ------------------------------------------------------------

      h5py/_conv.pyx:800:43: Cannot convert 'void *' to Python object

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          if outtype.get_size() > intype.get_size():
              data = malloc(outtype.get_size() * len)
          else:
              data = malloc(intype.get_size() * len)
          memcpy(data, ndarray.data, intype.get_size() * len)
          H5Tconvert(intype.id, outtype.id, len, data, NULL, H5P_DEFAULT)
                                                       ^
      ------------------------------------------------------------

      h5py/_conv.pyx:800:49: Cannot convert 'void *' to Python object

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          else:
              data = malloc(intype.get_size() * len)
          memcpy(data, ndarray.data, intype.get_size() * len)
          H5Tconvert(intype.id, outtype.id, len, data, NULL, H5P_DEFAULT)

          memcpy(&in_vlen[0].len, &len, sizeof(len))
                 ^
      ------------------------------------------------------------

      h5py/_conv.pyx:802:11: Cannot convert 'size_t *' to Python object

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          else:
              data = malloc(intype.get_size() * len)
          memcpy(data, ndarray.data, intype.get_size() * len)
          H5Tconvert(intype.id, outtype.id, len, data, NULL, H5P_DEFAULT)

          memcpy(&in_vlen[0].len, &len, sizeof(len))
                                  ^
      ------------------------------------------------------------

      h5py/_conv.pyx:802:28: Cannot convert 'size_t *' to Python object

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
              data = malloc(intype.get_size() * len)
          memcpy(data, ndarray.data, intype.get_size() * len)
          H5Tconvert(intype.id, outtype.id, len, data, NULL, H5P_DEFAULT)

          memcpy(&in_vlen[0].len, &len, sizeof(len))
          memcpy(&in_vlen[0].ptr, &data, sizeof(data))
                 ^
      ------------------------------------------------------------

      h5py/_conv.pyx:803:11: Cannot convert 'void **' to Python object

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
              data = malloc(intype.get_size() * len)
          memcpy(data, ndarray.data, intype.get_size() * len)
          H5Tconvert(intype.id, outtype.id, len, data, NULL, H5P_DEFAULT)

          memcpy(&in_vlen[0].len, &len, sizeof(len))
          memcpy(&in_vlen[0].ptr, &data, sizeof(data))
                                  ^
      ------------------------------------------------------------

      h5py/_conv.pyx:803:28: Cannot convert 'void **' to Python object

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          cdef hid_t vlstring
          cdef hid_t vlentype
          cdef hid_t pyobj
          cdef hid_t enum

          vlstring = H5Tcopy(H5T_C_S1)
                     ^
      ------------------------------------------------------------

      h5py/_conv.pyx:816:15: undeclared name not builtin: H5Tcopy

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          cdef hid_t vlstring
          cdef hid_t vlentype
          cdef hid_t pyobj
          cdef hid_t enum

          vlstring = H5Tcopy(H5T_C_S1)
                             ^
      ------------------------------------------------------------

      h5py/_conv.pyx:816:23: undeclared name not builtin: H5T_C_S1

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          cdef hid_t vlentype
          cdef hid_t pyobj
          cdef hid_t enum

          vlstring = H5Tcopy(H5T_C_S1)
          H5Tset_size(vlstring, H5T_VARIABLE)
          ^
      ------------------------------------------------------------

      h5py/_conv.pyx:817:4: undeclared name not builtin: H5Tset_size

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          cdef hid_t vlentype
          cdef hid_t pyobj
          cdef hid_t enum

          vlstring = H5Tcopy(H5T_C_S1)
          H5Tset_size(vlstring, H5T_VARIABLE)
                                ^
      ------------------------------------------------------------

      h5py/_conv.pyx:817:26: undeclared name not builtin: H5T_VARIABLE

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          cdef hid_t enum

          vlstring = H5Tcopy(H5T_C_S1)
          H5Tset_size(vlstring, H5T_VARIABLE)

          enum = H5Tenum_create(H5T_STD_I32LE)
                 ^
      ------------------------------------------------------------

      h5py/_conv.pyx:819:11: undeclared name not builtin: H5Tenum_create

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          cdef hid_t enum

          vlstring = H5Tcopy(H5T_C_S1)
          H5Tset_size(vlstring, H5T_VARIABLE)

          enum = H5Tenum_create(H5T_STD_I32LE)
                                ^
      ------------------------------------------------------------

      h5py/_conv.pyx:819:26: undeclared name not builtin: H5T_STD_I32LE

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          vlstring = H5Tcopy(H5T_C_S1)
          H5Tset_size(vlstring, H5T_VARIABLE)

          enum = H5Tenum_create(H5T_STD_I32LE)

          vlentype = H5Tvlen_create(H5T_STD_I32LE)
                     ^
      ------------------------------------------------------------

      h5py/_conv.pyx:821:15: undeclared name not builtin: H5Tvlen_create

      Error compiling Cython file:
      ------------------------------------------------------------
      ...

          enum = H5Tenum_create(H5T_STD_I32LE)

          vlentype = H5Tvlen_create(H5T_STD_I32LE)

          pyobj = H5PY_OBJ
                  ^
      ------------------------------------------------------------

      h5py/_conv.pyx:823:12: 'H5PY_OBJ' is not a constant, variable or function identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...

          vlentype = H5Tvlen_create(H5T_STD_I32LE)

          pyobj = H5PY_OBJ

          H5Tregister(H5T_PERS_HARD, "vlen2str", vlstring, pyobj, vlen2str)
          ^
      ------------------------------------------------------------

      h5py/_conv.pyx:825:4: undeclared name not builtin: H5Tregister

      Error compiling Cython file:
      ------------------------------------------------------------
      ...

          vlentype = H5Tvlen_create(H5T_STD_I32LE)

          pyobj = H5PY_OBJ

          H5Tregister(H5T_PERS_HARD, "vlen2str", vlstring, pyobj, vlen2str)
                      ^
      ------------------------------------------------------------

      h5py/_conv.pyx:825:16: undeclared name not builtin: H5T_PERS_HARD

      Error compiling Cython file:
      ------------------------------------------------------------
      ...

          vlentype = H5Tvlen_create(H5T_STD_I32LE)

          pyobj = H5PY_OBJ

          H5Tregister(H5T_PERS_HARD, "vlen2str", vlstring, pyobj, vlen2str)
                                                                  ^
      ------------------------------------------------------------

      h5py/_conv.pyx:825:60: Cannot convert '<error>' to Python object

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          vlentype = H5Tvlen_create(H5T_STD_I32LE)

          pyobj = H5PY_OBJ

          H5Tregister(H5T_PERS_HARD, "vlen2str", vlstring, pyobj, vlen2str)
          H5Tregister(H5T_PERS_HARD, "str2vlen", pyobj, vlstring, str2vlen)
                                                                  ^
      ------------------------------------------------------------

      h5py/_conv.pyx:826:60: Cannot convert '<error>' to Python object

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          pyobj = H5PY_OBJ

          H5Tregister(H5T_PERS_HARD, "vlen2str", vlstring, pyobj, vlen2str)
          H5Tregister(H5T_PERS_HARD, "str2vlen", pyobj, vlstring, str2vlen)

          H5Tregister(H5T_PERS_SOFT, "vlen2fixed", vlstring, H5T_C_S1, vlen2fixed)
                      ^
      ------------------------------------------------------------

      h5py/_conv.pyx:828:16: undeclared name not builtin: H5T_PERS_SOFT

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          pyobj = H5PY_OBJ

          H5Tregister(H5T_PERS_HARD, "vlen2str", vlstring, pyobj, vlen2str)
          H5Tregister(H5T_PERS_HARD, "str2vlen", pyobj, vlstring, str2vlen)

          H5Tregister(H5T_PERS_SOFT, "vlen2fixed", vlstring, H5T_C_S1, vlen2fixed)
                                                                       ^
      ------------------------------------------------------------

      h5py/_conv.pyx:828:65: Cannot convert '<error>' to Python object

      Error compiling Cython file:
      ------------------------------------------------------------
      ...

          H5Tregister(H5T_PERS_HARD, "vlen2str", vlstring, pyobj, vlen2str)
          H5Tregister(H5T_PERS_HARD, "str2vlen", pyobj, vlstring, str2vlen)

          H5Tregister(H5T_PERS_SOFT, "vlen2fixed", vlstring, H5T_C_S1, vlen2fixed)
          H5Tregister(H5T_PERS_SOFT, "fixed2vlen", H5T_C_S1, vlstring, fixed2vlen)
                                                                       ^
      ------------------------------------------------------------

      h5py/_conv.pyx:829:65: Cannot convert '<error>' to Python object

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          H5Tregister(H5T_PERS_HARD, "str2vlen", pyobj, vlstring, str2vlen)

          H5Tregister(H5T_PERS_SOFT, "vlen2fixed", vlstring, H5T_C_S1, vlen2fixed)
          H5Tregister(H5T_PERS_SOFT, "fixed2vlen", H5T_C_S1, vlstring, fixed2vlen)

          H5Tregister(H5T_PERS_HARD, "objref2pyref", H5T_STD_REF_OBJ, pyobj, objref2pyref)
                                                     ^
      ------------------------------------------------------------

      h5py/_conv.pyx:831:47: undeclared name not builtin: H5T_STD_REF_OBJ

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          H5Tregister(H5T_PERS_HARD, "str2vlen", pyobj, vlstring, str2vlen)

          H5Tregister(H5T_PERS_SOFT, "vlen2fixed", vlstring, H5T_C_S1, vlen2fixed)
          H5Tregister(H5T_PERS_SOFT, "fixed2vlen", H5T_C_S1, vlstring, fixed2vlen)

          H5Tregister(H5T_PERS_HARD, "objref2pyref", H5T_STD_REF_OBJ, pyobj, objref2pyref)
                                                                             ^
      ------------------------------------------------------------

      h5py/_conv.pyx:831:71: Cannot convert '<error>' to Python object

      Error compiling Cython file:
      ------------------------------------------------------------
      ...

          H5Tregister(H5T_PERS_SOFT, "vlen2fixed", vlstring, H5T_C_S1, vlen2fixed)
          H5Tregister(H5T_PERS_SOFT, "fixed2vlen", H5T_C_S1, vlstring, fixed2vlen)

          H5Tregister(H5T_PERS_HARD, "objref2pyref", H5T_STD_REF_OBJ, pyobj, objref2pyref)
          H5Tregister(H5T_PERS_HARD, "pyref2objref", pyobj, H5T_STD_REF_OBJ, pyref2objref)
                                                                             ^
      ------------------------------------------------------------

      h5py/_conv.pyx:832:71: Cannot convert '<error>' to Python object

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          H5Tregister(H5T_PERS_SOFT, "fixed2vlen", H5T_C_S1, vlstring, fixed2vlen)

          H5Tregister(H5T_PERS_HARD, "objref2pyref", H5T_STD_REF_OBJ, pyobj, objref2pyref)
          H5Tregister(H5T_PERS_HARD, "pyref2objref", pyobj, H5T_STD_REF_OBJ, pyref2objref)

          H5Tregister(H5T_PERS_HARD, "regref2pyref", H5T_STD_REF_DSETREG, pyobj, regref2pyref)
                                                     ^
      ------------------------------------------------------------

      h5py/_conv.pyx:834:47: undeclared name not builtin: H5T_STD_REF_DSETREG

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          H5Tregister(H5T_PERS_SOFT, "fixed2vlen", H5T_C_S1, vlstring, fixed2vlen)

          H5Tregister(H5T_PERS_HARD, "objref2pyref", H5T_STD_REF_OBJ, pyobj, objref2pyref)
          H5Tregister(H5T_PERS_HARD, "pyref2objref", pyobj, H5T_STD_REF_OBJ, pyref2objref)

          H5Tregister(H5T_PERS_HARD, "regref2pyref", H5T_STD_REF_DSETREG, pyobj, regref2pyref)
                                                                                 ^
      ------------------------------------------------------------

      h5py/_conv.pyx:834:75: Cannot convert '<error>' to Python object

      Error compiling Cython file:
      ------------------------------------------------------------
      ...

          H5Tregister(H5T_PERS_HARD, "objref2pyref", H5T_STD_REF_OBJ, pyobj, objref2pyref)
          H5Tregister(H5T_PERS_HARD, "pyref2objref", pyobj, H5T_STD_REF_OBJ, pyref2objref)

          H5Tregister(H5T_PERS_HARD, "regref2pyref", H5T_STD_REF_DSETREG, pyobj, regref2pyref)
          H5Tregister(H5T_PERS_HARD, "pyref2regref", pyobj, H5T_STD_REF_DSETREG, pyref2regref)
                                                                                 ^
      ------------------------------------------------------------

      h5py/_conv.pyx:835:75: Cannot convert '<error>' to Python object

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          H5Tregister(H5T_PERS_HARD, "pyref2objref", pyobj, H5T_STD_REF_OBJ, pyref2objref)

          H5Tregister(H5T_PERS_HARD, "regref2pyref", H5T_STD_REF_DSETREG, pyobj, regref2pyref)
          H5Tregister(H5T_PERS_HARD, "pyref2regref", pyobj, H5T_STD_REF_DSETREG, pyref2regref)

          H5Tregister(H5T_PERS_SOFT, "enum2int", enum, H5T_STD_I32LE, enum2int)
                                                                      ^
      ------------------------------------------------------------

      h5py/_conv.pyx:837:64: Cannot convert '<error>' to Python object

      Error compiling Cython file:
      ------------------------------------------------------------
      ...

          H5Tregister(H5T_PERS_HARD, "regref2pyref", H5T_STD_REF_DSETREG, pyobj, regref2pyref)
          H5Tregister(H5T_PERS_HARD, "pyref2regref", pyobj, H5T_STD_REF_DSETREG, pyref2regref)

          H5Tregister(H5T_PERS_SOFT, "enum2int", enum, H5T_STD_I32LE, enum2int)
          H5Tregister(H5T_PERS_SOFT, "int2enum", H5T_STD_I32LE, enum, int2enum)
                                                                      ^
      ------------------------------------------------------------

      h5py/_conv.pyx:838:64: Cannot convert '<error>' to Python object

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          H5Tregister(H5T_PERS_HARD, "pyref2regref", pyobj, H5T_STD_REF_DSETREG, pyref2regref)

          H5Tregister(H5T_PERS_SOFT, "enum2int", enum, H5T_STD_I32LE, enum2int)
          H5Tregister(H5T_PERS_SOFT, "int2enum", H5T_STD_I32LE, enum, int2enum)

          H5Tregister(H5T_PERS_SOFT, "vlen2ndarray", vlentype, pyobj, vlen2ndarray)
                                                                      ^
      ------------------------------------------------------------

      h5py/_conv.pyx:840:64: Cannot convert '<error>' to Python object

      Error compiling Cython file:
      ------------------------------------------------------------
      ...

          H5Tregister(H5T_PERS_SOFT, "enum2int", enum, H5T_STD_I32LE, enum2int)
          H5Tregister(H5T_PERS_SOFT, "int2enum", H5T_STD_I32LE, enum, int2enum)

          H5Tregister(H5T_PERS_SOFT, "vlen2ndarray", vlentype, pyobj, vlen2ndarray)
          H5Tregister(H5T_PERS_SOFT, "ndarray2vlen", pyobj, vlentype, ndarray2vlen)
                                                                      ^
      ------------------------------------------------------------

      h5py/_conv.pyx:841:64: Cannot convert '<error>' to Python object

      Error compiling Cython file:
      ------------------------------------------------------------
      ...

          return 0

      cpdef int unregister_converters() except -1:

          H5Tunregister(H5T_PERS_HARD, "vlen2str", -1, -1, vlen2str)
          ^
      ------------------------------------------------------------

      h5py/_conv.pyx:851:4: undeclared name not builtin: H5Tunregister

      Error compiling Cython file:
      ------------------------------------------------------------
      ...

          return 0

      cpdef int unregister_converters() except -1:

          H5Tunregister(H5T_PERS_HARD, "vlen2str", -1, -1, vlen2str)
                                                           ^
      ------------------------------------------------------------

      h5py/_conv.pyx:851:53: Cannot convert '<error>' to Python object

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          return 0

      cpdef int unregister_converters() except -1:

          H5Tunregister(H5T_PERS_HARD, "vlen2str", -1, -1, vlen2str)
          H5Tunregister(H5T_PERS_HARD, "str2vlen", -1, -1, str2vlen)
                                                           ^
      ------------------------------------------------------------

      h5py/_conv.pyx:852:53: Cannot convert '<error>' to Python object

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
      cpdef int unregister_converters() except -1:

          H5Tunregister(H5T_PERS_HARD, "vlen2str", -1, -1, vlen2str)
          H5Tunregister(H5T_PERS_HARD, "str2vlen", -1, -1, str2vlen)

          H5Tunregister(H5T_PERS_SOFT, "vlen2fixed", -1, -1, vlen2fixed)
                                                             ^
      ------------------------------------------------------------

      h5py/_conv.pyx:854:55: Cannot convert '<error>' to Python object

      Error compiling Cython file:
      ------------------------------------------------------------
      ...

          H5Tunregister(H5T_PERS_HARD, "vlen2str", -1, -1, vlen2str)
          H5Tunregister(H5T_PERS_HARD, "str2vlen", -1, -1, str2vlen)

          H5Tunregister(H5T_PERS_SOFT, "vlen2fixed", -1, -1, vlen2fixed)
          H5Tunregister(H5T_PERS_SOFT, "fixed2vlen", -1, -1, fixed2vlen)
                                                             ^
      ------------------------------------------------------------

      h5py/_conv.pyx:855:55: Cannot convert '<error>' to Python object

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          H5Tunregister(H5T_PERS_HARD, "str2vlen", -1, -1, str2vlen)

          H5Tunregister(H5T_PERS_SOFT, "vlen2fixed", -1, -1, vlen2fixed)
          H5Tunregister(H5T_PERS_SOFT, "fixed2vlen", -1, -1, fixed2vlen)

          H5Tunregister(H5T_PERS_HARD, "objref2pyref", -1, -1, objref2pyref)
                                                               ^
      ------------------------------------------------------------

      h5py/_conv.pyx:857:57: Cannot convert '<error>' to Python object

      Error compiling Cython file:
      ------------------------------------------------------------
      ...

          H5Tunregister(H5T_PERS_SOFT, "vlen2fixed", -1, -1, vlen2fixed)
          H5Tunregister(H5T_PERS_SOFT, "fixed2vlen", -1, -1, fixed2vlen)

          H5Tunregister(H5T_PERS_HARD, "objref2pyref", -1, -1, objref2pyref)
          H5Tunregister(H5T_PERS_HARD, "pyref2objref", -1, -1, pyref2objref)
                                                               ^
      ------------------------------------------------------------

      h5py/_conv.pyx:858:57: Cannot convert '<error>' to Python object

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          H5Tunregister(H5T_PERS_SOFT, "fixed2vlen", -1, -1, fixed2vlen)

          H5Tunregister(H5T_PERS_HARD, "objref2pyref", -1, -1, objref2pyref)
          H5Tunregister(H5T_PERS_HARD, "pyref2objref", -1, -1, pyref2objref)

          H5Tunregister(H5T_PERS_HARD, "regref2pyref", -1, -1, regref2pyref)
                                                               ^
      ------------------------------------------------------------

      h5py/_conv.pyx:860:57: Cannot convert '<error>' to Python object

      Error compiling Cython file:
      ------------------------------------------------------------
      ...

          H5Tunregister(H5T_PERS_HARD, "objref2pyref", -1, -1, objref2pyref)
          H5Tunregister(H5T_PERS_HARD, "pyref2objref", -1, -1, pyref2objref)

          H5Tunregister(H5T_PERS_HARD, "regref2pyref", -1, -1, regref2pyref)
          H5Tunregister(H5T_PERS_HARD, "pyref2regref", -1, -1, pyref2regref)
                                                               ^
      ------------------------------------------------------------

      h5py/_conv.pyx:861:57: Cannot convert '<error>' to Python object

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          H5Tunregister(H5T_PERS_HARD, "pyref2objref", -1, -1, pyref2objref)

          H5Tunregister(H5T_PERS_HARD, "regref2pyref", -1, -1, regref2pyref)
          H5Tunregister(H5T_PERS_HARD, "pyref2regref", -1, -1, pyref2regref)

          H5Tunregister(H5T_PERS_SOFT, "enum2int", -1, -1, enum2int)
                                                           ^
      ------------------------------------------------------------

      h5py/_conv.pyx:863:53: Cannot convert '<error>' to Python object

      Error compiling Cython file:
      ------------------------------------------------------------
      ...

          H5Tunregister(H5T_PERS_HARD, "regref2pyref", -1, -1, regref2pyref)
          H5Tunregister(H5T_PERS_HARD, "pyref2regref", -1, -1, pyref2regref)

          H5Tunregister(H5T_PERS_SOFT, "enum2int", -1, -1, enum2int)
          H5Tunregister(H5T_PERS_SOFT, "int2enum", -1, -1, int2enum)
                                                           ^
      ------------------------------------------------------------

      h5py/_conv.pyx:864:53: Cannot convert '<error>' to Python object

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          H5Tunregister(H5T_PERS_HARD, "pyref2regref", -1, -1, pyref2regref)

          H5Tunregister(H5T_PERS_SOFT, "enum2int", -1, -1, enum2int)
          H5Tunregister(H5T_PERS_SOFT, "int2enum", -1, -1, int2enum)

          H5Tunregister(H5T_PERS_SOFT, "vlen2ndarray", -1, -1, vlen2ndarray)
                                                               ^
      ------------------------------------------------------------

      h5py/_conv.pyx:866:57: Cannot convert '<error>' to Python object

      Error compiling Cython file:
      ------------------------------------------------------------
      ...

          H5Tunregister(H5T_PERS_SOFT, "enum2int", -1, -1, enum2int)
          H5Tunregister(H5T_PERS_SOFT, "int2enum", -1, -1, int2enum)

          H5Tunregister(H5T_PERS_SOFT, "vlen2ndarray", -1, -1, vlen2ndarray)
          H5Tunregister(H5T_PERS_SOFT, "ndarray2vlen", -1, -1, ndarray2vlen)
                                                               ^
      ------------------------------------------------------------

      h5py/_conv.pyx:867:57: Cannot convert '<error>' to Python object
      Traceback (most recent call last):
        File "<string>", line 2, in <module>
        File "<pip-setuptools-caller>", line 34, in <module>
        File "/tmp/pip-install-990qh8xu/h5py_447ed218a500438085f3341266b7d4cd/setup.py", line 150, in <module>
          setup(
        File "/opt/anaconda3/envs/anvio-dev/lib/python3.10/site-packages/setuptools/__init__.py", line 107, in setup
          return distutils.core.setup(**attrs)
        File "/opt/anaconda3/envs/anvio-dev/lib/python3.10/site-packages/setuptools/_distutils/core.py", line 185, in setup
          return run_commands(dist)
        File "/opt/anaconda3/envs/anvio-dev/lib/python3.10/site-packages/setuptools/_distutils/core.py", line 201, in run_commands
          dist.run_commands()
        File "/opt/anaconda3/envs/anvio-dev/lib/python3.10/site-packages/setuptools/_distutils/dist.py", line 969, in run_commands
          self.run_command(cmd)
        File "/opt/anaconda3/envs/anvio-dev/lib/python3.10/site-packages/setuptools/dist.py", line 1234, in run_command
          super().run_command(command)
        File "/opt/anaconda3/envs/anvio-dev/lib/python3.10/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
          cmd_obj.run()
        File "/opt/anaconda3/envs/anvio-dev/lib/python3.10/site-packages/wheel/bdist_wheel.py", line 346, in run
          self.run_command("build")
        File "/opt/anaconda3/envs/anvio-dev/lib/python3.10/site-packages/setuptools/_distutils/cmd.py", line 318, in run_command
          self.distribution.run_command(command)
        File "/opt/anaconda3/envs/anvio-dev/lib/python3.10/site-packages/setuptools/dist.py", line 1234, in run_command
          super().run_command(command)
        File "/opt/anaconda3/envs/anvio-dev/lib/python3.10/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
          cmd_obj.run()
        File "/opt/anaconda3/envs/anvio-dev/lib/python3.10/site-packages/setuptools/_distutils/command/build.py", line 131, in run
          self.run_command(cmd_name)
        File "/opt/anaconda3/envs/anvio-dev/lib/python3.10/site-packages/setuptools/_distutils/cmd.py", line 318, in run_command
          self.distribution.run_command(command)
        File "/opt/anaconda3/envs/anvio-dev/lib/python3.10/site-packages/setuptools/dist.py", line 1234, in run_command
          super().run_command(command)
        File "/opt/anaconda3/envs/anvio-dev/lib/python3.10/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
          cmd_obj.run()
        File "/tmp/pip-install-990qh8xu/h5py_447ed218a500438085f3341266b7d4cd/setup_build.py", line 202, in run
          self.extensions = cythonize(self._make_extensions(config),
        File "/opt/anaconda3/envs/anvio-dev/lib/python3.10/site-packages/Cython/Build/Dependencies.py", line 1134, in cythonize
          cythonize_one(*args)
        File "/opt/anaconda3/envs/anvio-dev/lib/python3.10/site-packages/Cython/Build/Dependencies.py", line 1301, in cythonize_one
          raise CompileError(None, pyx_file)
      Cython.Compiler.Errors.CompileError: /tmp/pip-install-990qh8xu/h5py_447ed218a500438085f3341266b7d4cd/h5py/_conv.pyx
      [end of output]

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

Config Error: According to the exit code ('1'), anvi'o suspects that something may have gone
              wrong while running your tests :/ We hope that the reason is clear to you from
              the lines above. But if you don't see anything obvious, and especially if the
              test ended up running until the end with reasonable looking final results, you
              shouldn't worry too much about this error. Life is short and we all can worry
              just a bit less.
meren commented 1 year ago

Thanks @dgslos, but these outputs don't help :) We know things will fail. Someone needs to fix each of those issues and start putting together a PR for Python 3.10 upgrade, if it is possible at all.