Date: Fri, 9 Jun 2017 09:47:05 -0400 From: Vick Khera <vivek@khera.org> To: FreeBSD Ports List <ports@freebsd.org> Subject: trouble building py3-requests -- dependencies build against wrong version of python. Message-ID: <CALd%2BdccErvuGOazXANEV%2Bfa3mg1=9Ncsn4LuwuBtE5rfYG279Q@mail.gmail.com>
next in thread | raw e-mail | index | archive | help
I'm trying to build py3-iocage, which has as one dependeny py3-requests. When building this with poudriere, the py3-requests port somehow causes py27-chardet to be built instead of py36-chardet, which then results in py3-requests failing to find the dependency (which it just tried to build). Here is a test I just ran: % rm /usr/local/poudriere/data/packages/freebsd:11:x86:64/All/py*-chardet* % poudriere bulk -j 11amd64 -J 4:6 www/py3-requests The build fails with this: [00:00:08] ====>> [01][00:00:00] Starting build of textproc/py-chardet [00:00:14] ====>> [01][00:00:06] Finished build of textproc/py-chardet: Success [00:00:14] ====>> [01][00:00:00] Starting build of www/py3-requests [00:00:19] ====>> [01][00:00:05] Finished build of www/py3-requests: Failed: run-depends Looking in the log file from poudriere we have: =======================<phase: run-depends >============================ ===> py36-requests-2.17.3 depends on package: py36-chardet>=3.0.2 - not found ===> py36-requests-2.17.3 depends on package: /packages/All/py36-chardet-3.0.3.txz - not found ===> USE_PACKAGE_DEPENDS_ONLY set - not building missing dependency from source and we see that py27-chardet was actually built: % ls -l /usr/local/poudriere/data/packages/freebsd:11:x86:64/All/py*-chardet* -rw-r--r-- 1 root wheel 155212 Jun 9 09:24 /usr/local/poudriere/data/packages/freebsd:11:x86:64/All/py27-chardet-3.0.3.txz If I explicitly build py3-chardet I get the right version: % rm /usr/local/poudriere/data/packages/freebsd:11:x86:64/All/py*-chardet* % poudriere bulk -j 11amd64 -J 4:6 textproc/py3-chardet % ls -l /usr/local/poudriere/data/packages/freebsd:11:x86:64/All/py*-chardet* -rw-r--r-- 1 root wheel 157916 Jun 9 09:35 /usr/local/poudriere/data/packages/freebsd:11:x86:64/All/py36-chardet-3.0.3.txz When I subsequently build py3-requests it finds the py36-chardet package, but then fails on its other dependencies with the same error pattern (ie, it built py27-idna instead of py36-idna, etc.) How can I convince py3-requests to build py3-chardet rather than py-chardet (and py36-idna, etc.) like it does above? It seems to me that the "include" method of making the py3 modules child ports of the py modules is failing here with py3-requests. My poudriere make.conf file has DEFAULT_VERSIONS=mysql=5.6 pgsql=9.4 apache=2.4 perl5=5.24 ssl=openssl php=7.0 python3=3.6 That is the only mention of python in there. Running FreeBSD 11.0/amd64, ports tree updated as of this morning with portsnap.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CALd%2BdccErvuGOazXANEV%2Bfa3mg1=9Ncsn4LuwuBtE5rfYG279Q>