openshift-eng / elliott

Apache License 2.0
15 stars 28 forks source link

Unable to install on Fedora 37 due to incompatible version of `libgit2` #506

Closed rm3l closed 1 year ago

rm3l commented 1 year ago

I tried to install elliott using pip install rh-elliott (as mentioned in the README), but it first errored out due to missing git2.h when building pygit2. After installing libgit2-devel, the command errored out again with a different error:

      generating cffi module 'build/temp.linux-x86_64-cpython-311/pygit2._libgit2.c'                                                                                                                                
      creating build/temp.linux-x86_64-cpython-311                                                                                                                                                                  
      building 'pygit2._pygit2' extension                                                                                                                                                                           
      creating build/temp.linux-x86_64-cpython-311/src                                                                                                                                                              
      gcc -Wsign-compare -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DNDEBUG -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-
strong -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -D_GNU_SOURCE -fPIC -fwrapv -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FO
RTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -D_GNU_SOURCE -fPIC -fwrapv -O2 -fexceptions -g -grecord
-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protecti
on -D_GNU_SOURCE -fPIC -fwrapv -fPIC -I/usr/local/include -I/usr/include/python3.11 -c src/blob.c -o build/temp.linux-x86_64-cpython-311/src/blob.o                                                                 
      In file included from src/blob.h:34,                                                                                                                                                                          
                       from src/blob.c:30:                                                                                                                                                                          
      src/types.h:36:2: error: #error You need a compatible libgit2 version (1.1.x)                                                                                                                                 
         36 | #error You need a compatible libgit2 version (1.1.x)                                                                                                                                                  
            |  ^~~~~                                                                                                                                                                                                
      error: command '/usr/bin/gcc' failed with exit code 1                                                                                                                                                         
      [end of output]                                                                                                                                                                                               

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

Indeed, the version of libgit2-devel is currently 1.3.1: https://pkgs.org/download/libgit2-devel

I ended up installing the development version of elliott by running pip install git+https://github.com/openshift/elliott@master, but thought I'd let you know.

Ximinhan commented 1 year ago

right, we haven't updated the source on PyPI for some time, the version is really out of date there. We recommend using the master directly