python pip install does not work on FreeBSD 13.2
- Reply: Yuri : "Re: python pip install does not work on FreeBSD 13.2"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 15 May 2023 12:45:15 UTC
I upgraded one of our development machines to FreeBSD 13.2 amd64 and Python 3.11, then our developers team tried to re-deploy application for uwsgi in virtualenv. The part where pip install -r requirements.txt should install dependencies always fails with the same error no matter what we tried to workaround it. If it failed on building cffi and I copied it from else where, then it failed with the same error on next module bcrypt and so on. I thought it is caused by Python 3.11 so I downgraded it to default Python 3.9 but the error is still the same cc -pthread -shared -L/usr/local/lib -fstack-protector-strong build/temp.freebsd-13.2-RELEASE-amd64-cpython-39/c/_cffi_backend.o -L/usr/local/lib -L/usr/local/lib -lffi -o build/lib.freebsd-13.2-RELEASE-amd64-cpython-39/_cffi_backend.cpython-39.so /usr/bin/ld: BFD 2.17.50 [FreeBSD] 2007-07-03 internal error, aborting at /usr/src/gnu/usr.bin/binutils/libbfd/../../../../contrib/binutils/bfd/reloc.c line 445 in unsigned int bfd_get_reloc_size(reloc_howto_type *) /usr/bin/ld: Please report this bug. cc: error: linker command failed with exit code 1 (use -v to see invocation) error: command '/usr/bin/cc' 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 cffi Failed to build cffi ERROR: Could not build wheels for cffi, which is required to install pyproject.toml-based projects [end of output] note: This error originates from a subprocess, and is likely not a problem with pip. error: subprocess-exited-with-error I tried to find something on the internet about this issue but the closest was on some Linux forum with the answer "ld BFD 2.17 is too old, you need to upgrade it" It is clear that ld on FreeBSD is from 2007 but I cannot tell if it is the root cause of this issue or if it is more related to newer clang / llvm on FreeBSD 13.2 or to something else. The strange thing is building these (py-cffi, py-bcrypt, py-psycopg) builds fine in Poudriere on 13.2, can be installed on machine in questiong (by pkg install py39-cffi), but cannot be installed by pip install. This deployment process was working for many years for many versions of python and FreeBSD, but not now. Does anybody know what can cause this problem on FreeBSD 13.2? Kind regards Miroslav Lachman