Re: python pip install does not work on FreeBSD 13.2
Date: Mon, 15 May 2023 14:08:27 UTC
On 15/05/2023 15:35, Charlie Li wrote: > Yuri wrote: >> Miroslav Lachman wrote: >>> 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. [..] >>> Does anybody know what can cause this problem on FreeBSD 13.2? >> >> Looks like in-base binutils (gnu ld included) were removed even before >> 13.0, so the one you have is likely a leftover. And the question is -- >> do you have WITHOUT_LLD, WITHOUT_LLD_IS_LD, or similar options specified >> in src.conf? No, only WITHOUT_KERNEL_SYMBOLS=yes And only KERNCONF=GENERIC in make.conf, nothing else. > /usr/bin/ld is a symlink to ld.lld by default, you should not have > ld.bfd since binutils was removed from base prior to 13. > > This is giving unclean world/userland, poudriere jails perform a full > installworld/delete-old{,-libs} so if you did your pip install > procedures in there (as a test) you shouldn't have issues either. Always > make sure your kernel and userland are in sync. Kernel and userland are in sync: # freebsd-version -kru 13.2-RELEASE 13.2-RELEASE 13.2-RELEASE make delete-old and make delete-old-libs was run after make installworld, many files were deleted but is still there # ll /usr/bin/ld -r-xr-xr-x 1 root wheel 1.6M Jul 13 2020 /usr/bin/ld* I checked all other upgraded machines and all of them have this /usr/bin/ld dated back to Jul 13 2020. All machines were upgraded from 11.4 to 12.x years ago and from 12.3 to 13.2 few weaks ago. So is there some bug in "make delete-old"? Should I delete /usb/bin/ls on all machines? > Slightly unrelated, but if you are running pip against the normally > pkg(8)-managed site-packages (and not elsewhere like a virtual > environment), this will soon not be allowed with our Python ports. We run pip install only in venv. We don't mix global packages from pkg and pip. Kind regards Miroslav Lachman