Error installing Python 3.7 nixpkgs on FreeBSD

While trying to install Python 3.7 I run into following error about openssl.dev being referenced:

/nix/store/6m7fbc1g4hj1zfpqwpix9prdasgn56zd-python3-3.7.6/lib/python3.7/config-3.7m/Setup.local
/nix/store/6m7fbc1g4hj1zfpqwpix9prdasgn56zd-python3-3.7.6/lib/python3.7/config-3.7m/makesetup
/nix/store/6m7fbc1g4hj1zfpqwpix9prdasgn56zd-python3-3.7.6/lib/python3.7/__pycache__/_sysconfigdata_m_freebsd12_.cpython-37.opt-2.pyc
/nix/store/6m7fbc1g4hj1zfpqwpix9prdasgn56zd-python3-3.7.6/lib/python3.7/__pycache__/_sysconfigdata_m_freebsd12_.cpython-37.pyc
/nix/store/6m7fbc1g4hj1zfpqwpix9prdasgn56zd-python3-3.7.6/lib/python3.7/__pycache__/_sysconfigdata_m_freebsd12_.cpython-37.opt-1.pyc
/nix/store/6m7fbc1g4hj1zfpqwpix9prdasgn56zd-python3-3.7.6/lib/python3.7/_sysconfigdata_m_freebsd12_.py
post-installation fixup
rewriting symlink /nix/store/6m7fbc1g4hj1zfpqwpix9prdasgn56zd-python3-3.7.6/include/python3.7 to be relative to /nix/store/6m7fbc1g4hj1zfpqwpix9prdasgn56zd-python3-3.7.6
rewriting symlink /nix/store/6m7fbc1g4hj1zfpqwpix9prdasgn56zd-python3-3.7.6/bin/python-config to be relative to /nix/store/6m7fbc1g4hj1zfpqwpix9prdasgn56zd-python3-3.7.6
rewriting symlink /nix/store/6m7fbc1g4hj1zfpqwpix9prdasgn56zd-python3-3.7.6/bin/idle to be relative to /nix/store/6m7fbc1g4hj1zfpqwpix9prdasgn56zd-python3-3.7.6
rewriting symlink /nix/store/6m7fbc1g4hj1zfpqwpix9prdasgn56zd-python3-3.7.6/bin/pydoc to be relative to /nix/store/6m7fbc1g4hj1zfpqwpix9prdasgn56zd-python3-3.7.6
rewriting symlink /nix/store/6m7fbc1g4hj1zfpqwpix9prdasgn56zd-python3-3.7.6/bin/python to be relative to /nix/store/6m7fbc1g4hj1zfpqwpix9prdasgn56zd-python3-3.7.6
rewriting symlink /nix/store/6m7fbc1g4hj1zfpqwpix9prdasgn56zd-python3-3.7.6/lib/pkgconfig/python.pc to be relative to /nix/store/6m7fbc1g4hj1zfpqwpix9prdasgn56zd-python3-3.7.6
gzipping man pages under /nix/store/6m7fbc1g4hj1zfpqwpix9prdasgn56zd-python3-3.7.6/share/man/
strip is /nix/store/3wdkf29jgvshacbgjpi898a5sc85ji7i-trivial-bootstrap-tools/bin/strip
stripping (with command strip and flags -S) in /nix/store/6m7fbc1g4hj1zfpqwpix9prdasgn56zd-python3-3.7.6/lib  /nix/store/6m7fbc1g4hj1zfpqwpix9prdasgn56zd-python3-3.7.6/bin
patching script interpreter paths in /nix/store/6m7fbc1g4hj1zfpqwpix9prdasgn56zd-python3-3.7.6
/nix/store/6m7fbc1g4hj1zfpqwpix9prdasgn56zd-python3-3.7.6/bin/python3.7m-config: interpreter directive changed from "/bin/sh" to "/nix/store/3wdkf29jgvshacbgjpi898a5sc85ji7i-trivial-bootstrap-tools/bin/sh"
/nix/store/6m7fbc1g4hj1zfpqwpix9prdasgn56zd-python3-3.7.6/lib/python3.7/ctypes/macholib/fetch_macholib: interpreter directive changed from "/bin/sh" to "/nix/store/3wdkf29jgvshacbgjpi898a5sc85ji7i-trivial-bootstrap-tools/bin/sh"
/nix/store/6m7fbc1g4hj1zfpqwpix9prdasgn56zd-python3-3.7.6/lib/python3.7/config-3.7m/install-sh: interpreter directive changed from "/bin/sh" to "/nix/store/3wdkf29jgvshacbgjpi898a5sc85ji7i-trivial-bootstrap-tools/bin/sh"
/nix/store/6m7fbc1g4hj1zfpqwpix9prdasgn56zd-python3-3.7.6/lib/python3.7/config-3.7m/makesetup: interpreter directive changed from " /bin/sh" to "/nix/store/3wdkf29jgvshacbgjpi898a5sc85ji7i-trivial-bootstrap-tools/bin/sh"
output '/nix/store/6m7fbc1g4hj1zfpqwpix9prdasgn56zd-python3-3.7.6' is not allowed to refer to the following paths:
  /nix/store/b2dk08srh1i8qnr5rizadmr1pa77n2b1-openssl-1.1.1d-dev
error: build of '/nix/store/2frws61r36f1p5m835a91jimrb8zqqn1-python3-3.7.6.drv' failed

I installed Python 2.7 as well, which also has references to openssl.dev but since there is no disallowedReferences present in derivation, it seems to get installed fine. Any ideas how to resolve this ?

Thanks!

P.S. Using PR for FreeBSD stdenv.

The best way to debug this is to grep in /nix/store/6m7fbc1g4hj1zfpqwpix9prdasgn56zd-python3-3.7.6 for /nix/store/b2dk08srh1i8qnr5rizadmr1pa77n2b1-openssl-1.1.1d-dev Also use the strings command to extract all strings from binaries in case you canot find the references otherwise. In case nix deletes the paths after the build fail, use gc-keep-outputs = true and gc-keep-derivations = true in nix.conf

1 Like

Thanks for the hint. It seems like the bootstrap needs more changes, right now strip is broken as in how nixpkgs expect it to work. Need to use strip from the binutils to get it to work.