hynek / argon2-cffi-bindings

Low-level Python CFFI Bindings for Argon2
MIT License
8 stars 9 forks source link

Argon2-cffi-bindings do not support FreeBSD 12 #10

Closed afi-dev closed 2 years ago

afi-dev commented 2 years ago

Hey,It is impossible to install because of the lack of support for FreeBSD, please upgrade to add support, because of this lack of support it is impossible to install my python package, I clearly do not want to modify my code as I am extremely dependent on your package, I look forward to future support for FreeBSD 12.

I have asked the developer of the flask_argon2 python package that depends on argon2_cffi and Argon2-cffi-bindings to try to do an update on his side to add support for FreeBSD

It remains to be seen

Afi.

hynek commented 2 years ago

You're gonna have to give me more information, if you expect me to help you. What exactly does "impossible to install" mean?

afi-dev commented 2 years ago

here is the error logs I have :

FreeBSD 12.2-RELEASE-p14 325282c09a5(HEAD) TRUENAS

        TrueNAS (c) 2009-2022, iXsystems, Inc.
        All rights reserved.
        TrueNAS code is released under the modified BSD license with some
        files copyrighted by (c) iXsystems, Inc.

        For more information, documentation, help or support, go here:
        http://truenas.com
Welcome to TrueNAS

root@truenas[~]# pip3 install argon2-cffi-bindings
Collecting argon2-cffi-bindings
  Using cached argon2-cffi-bindings-21.2.0.tar.gz (1.8 MB)
  Installing build dependencies ... error
  error: subprocess-exited-with-error

  × pip subprocess to install build dependencies did not run successfully.
  │ exit code: 1
  ╰─> [84 lines of output]
      Collecting setuptools>=45
        Using cached setuptools-63.1.0-py3-none-any.whl (1.2 MB)
      Collecting setuptools_scm>=6.2
        Using cached setuptools_scm-7.0.4-py3-none-any.whl (42 kB)
      Collecting wheel
        Using cached wheel-0.37.1-py2.py3-none-any.whl (35 kB)
      Collecting cffi>=1.0.1
        Using cached cffi-1.15.1.tar.gz (508 kB)
        Preparing metadata (setup.py): started
        Preparing metadata (setup.py): finished with status 'done'
      Collecting typing-extensions
        Using cached typing_extensions-4.3.0-py3-none-any.whl (25 kB)
      Collecting tomli>=1.0.0
        Using cached tomli-2.0.1-py3-none-any.whl (12 kB)
      Collecting packaging>=20.0
        Using cached packaging-21.3-py3-none-any.whl (40 kB)
      Collecting pycparser
        Using cached pycparser-2.21-py2.py3-none-any.whl (118 kB)
      Collecting pyparsing!=3.0.5,>=2.0.2
        Using cached pyparsing-3.0.9-py3-none-any.whl (98 kB)
      Using legacy 'setup.py install' for cffi, since package 'wheel' is not installed.
      Installing collected packages: wheel, typing-extensions, tomli, setuptools, pyparsing, pycparser, packaging, cffi, setuptools_scm
        Running setup.py install for cffi: started
        Running setup.py install for cffi: finished with status 'error'
        error: subprocess-exited-with-error

        × Running setup.py install for cffi did not run successfully.
        │ exit code: 1
        ╰─> [45 lines of output]

                No working compiler found, or bogus compiler options passed to
                the compiler from Python's standard "distutils" module.  See
                the error messages above.  Likely, the problem is not related
                to CFFI but generic to the setup.py of any Python package that
                tries to compile C code.  (Hints: on OS/X 10.8, for errors about
                -mno-fused-madd see http://stackoverflow.com/questions/22313407/
                Otherwise, see https://wiki.python.org/moin/CompLangPython or
                the IRC channel #python on irc.libera.chat.)

                Trying to continue anyway.  If you are trying to install CFFI from
                a build done in a different context, you can ignore this warning.

            running install
            running build
            running build_py
            creating build
            creating build/lib.freebsd-12.2-RELEASE-p14-amd64-3.9
            creating build/lib.freebsd-12.2-RELEASE-p14-amd64-3.9/cffi
            copying cffi/api.py -> build/lib.freebsd-12.2-RELEASE-p14-amd64-3.9/cffi
            copying cffi/__init__.py -> build/lib.freebsd-12.2-RELEASE-p14-amd64-3.9/cffi
            copying cffi/setuptools_ext.py -> build/lib.freebsd-12.2-RELEASE-p14-amd64-3.9/cffi
            copying cffi/cffi_opcode.py -> build/lib.freebsd-12.2-RELEASE-p14-amd64-3.9/cffi
            copying cffi/vengine_cpy.py -> build/lib.freebsd-12.2-RELEASE-p14-amd64-3.9/cffi
            copying cffi/lock.py -> build/lib.freebsd-12.2-RELEASE-p14-amd64-3.9/cffi
            copying cffi/cparser.py -> build/lib.freebsd-12.2-RELEASE-p14-amd64-3.9/cffi
            copying cffi/ffiplatform.py -> build/lib.freebsd-12.2-RELEASE-p14-amd64-3.9/cffi
            copying cffi/verifier.py -> build/lib.freebsd-12.2-RELEASE-p14-amd64-3.9/cffi
            copying cffi/vengine_gen.py -> build/lib.freebsd-12.2-RELEASE-p14-amd64-3.9/cffi
            copying cffi/pkgconfig.py -> build/lib.freebsd-12.2-RELEASE-p14-amd64-3.9/cffi
            copying cffi/model.py -> build/lib.freebsd-12.2-RELEASE-p14-amd64-3.9/cffi
            copying cffi/recompiler.py -> build/lib.freebsd-12.2-RELEASE-p14-amd64-3.9/cffi
            copying cffi/backend_ctypes.py -> build/lib.freebsd-12.2-RELEASE-p14-amd64-3.9/cffi
            copying cffi/error.py -> build/lib.freebsd-12.2-RELEASE-p14-amd64-3.9/cffi
            copying cffi/commontypes.py -> build/lib.freebsd-12.2-RELEASE-p14-amd64-3.9/cffi
            copying cffi/_cffi_include.h -> build/lib.freebsd-12.2-RELEASE-p14-amd64-3.9/cffi
            copying cffi/parse_c_type.h -> build/lib.freebsd-12.2-RELEASE-p14-amd64-3.9/cffi
            copying cffi/_embedding.h -> build/lib.freebsd-12.2-RELEASE-p14-amd64-3.9/cffi
            copying cffi/_cffi_errors.h -> build/lib.freebsd-12.2-RELEASE-p14-amd64-3.9/cffi
            running build_ext
            building '_cffi_backend' extension
            creating build/temp.freebsd-12.2-RELEASE-p14-amd64-3.9
            creating build/temp.freebsd-12.2-RELEASE-p14-amd64-3.9/c
            cc -pthread -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -O2 -pipe -g -fstack-protector-strong -fno-strict-aliasing -fPIC -DFFI_BUILDING=1 -I/usr/include/ffi -I/usr/include/libffi -I/usr/local/include -I/usr/local/include/python3.9 -c c/_cffi_backend.c -o build/temp.freebsd-12.2-RELEASE-p14-amd64-3.9/c/_cffi_backend.o
            error: command 'cc' failed: No such file or directory
            [end of output]

        note: This error originates from a subprocess, and is likely not a problem with pip.
      error: legacy-install-failure

      × Encountered error while trying to install package.
      ╰─> cffi

      note: This is an issue with the package mentioned above, not pip.
      hint: See above for output from the failure.
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error

× pip subprocess to install build dependencies did not run successfully.
│ exit code: 1
╰─> See above for output.

note: This error originates from a subprocess, and is likely not a problem with pip.
hynek commented 2 years ago

You're trying to compile a C extension on a computer without a C compiler.

Given there's a FreeBSD port of this project, it looks like it supports FreeBSD just fine.

afi-dev commented 2 years ago

Indeed, it was missing cc (gcc/clang)