#64425 closed defect (fixed)
py-pendulum won't build from source
Reported by: | blazewicz (Krzysztof Błażewicz) | Owned by: | xeron (Ivan Larionov) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.7.1 |
Keywords: | Cc: | ||
Port: | py-pendulum |
Description (last modified by blazewicz (Krzysztof Błażewicz))
It appears that command below isn't creating wheel file.
python3.9 -m build --wheel --no-isolation --outdir /opt/local/var/macports/build/_Users_kblazewicz_ports_python_py-pendulum/py39-pendulum/work
I tested this on Intel MacBook Pro running Big Sur (11.6.1) and M1 MacBook Pro running Monterey (12.1).
Below is output from sudo port -v install -s py39-pendulum
, all requirements were installed before.
---> Computing dependencies for py39-pendulum. ---> Fetching distfiles for py39-pendulum ---> Verifying checksums for py39-pendulum ---> Checksumming pendulum-2.1.2.tar.gz ---> Extracting py39-pendulum ---> Extracting pendulum-2.1.2.tar.gz Executing: cd "/opt/local/var/macports/build/_Users_kblazewicz_ports_python_py-pendulum/py39-pendulum/work" && /usr/bin/gzip -dc '/opt/local/var/macports/distfiles/py-pendulum/pendulum-2.1.2.tar.gz' | /usr/bin/tar -xf - ---> Configuring py39-pendulum ---> Building py39-pendulum xinstall: mkdir /opt/local/var/macports/build/_Users_kblazewicz_ports_python_py-pendulum/py39-pendulum/work/compwrap xinstall: mkdir /opt/local/var/macports/build/_Users_kblazewicz_ports_python_py-pendulum/py39-pendulum/work/compwrap/cc xinstall: mkdir /opt/local/var/macports/build/_Users_kblazewicz_ports_python_py-pendulum/py39-pendulum/work/compwrap/cc/usr xinstall: mkdir /opt/local/var/macports/build/_Users_kblazewicz_ports_python_py-pendulum/py39-pendulum/work/compwrap/cc/usr/bin xinstall: mkdir /opt/local/var/macports/build/_Users_kblazewicz_ports_python_py-pendulum/py39-pendulum/work/compwrap/objc xinstall: mkdir /opt/local/var/macports/build/_Users_kblazewicz_ports_python_py-pendulum/py39-pendulum/work/compwrap/objc/usr xinstall: mkdir /opt/local/var/macports/build/_Users_kblazewicz_ports_python_py-pendulum/py39-pendulum/work/compwrap/objc/usr/bin xinstall: mkdir /opt/local/var/macports/build/_Users_kblazewicz_ports_python_py-pendulum/py39-pendulum/work/compwrap/cxx xinstall: mkdir /opt/local/var/macports/build/_Users_kblazewicz_ports_python_py-pendulum/py39-pendulum/work/compwrap/cxx/usr xinstall: mkdir /opt/local/var/macports/build/_Users_kblazewicz_ports_python_py-pendulum/py39-pendulum/work/compwrap/cxx/usr/bin xinstall: mkdir /opt/local/var/macports/build/_Users_kblazewicz_ports_python_py-pendulum/py39-pendulum/work/compwrap/objcxx xinstall: mkdir /opt/local/var/macports/build/_Users_kblazewicz_ports_python_py-pendulum/py39-pendulum/work/compwrap/objcxx/usr xinstall: mkdir /opt/local/var/macports/build/_Users_kblazewicz_ports_python_py-pendulum/py39-pendulum/work/compwrap/objcxx/usr/bin Executing: cd "/opt/local/var/macports/build/_Users_kblazewicz_ports_python_py-pendulum/py39-pendulum/work/pendulum-2.1.2" && /opt/local/Library/Frameworks/Python.framework/Versions/3.9/bin/python3.9 -m build --wheel --no-isolation --outdir /opt/local/var/macports/build/_Users_kblazewicz_ports_python_py-pendulum/py39-pendulum/work ---> Staging py39-pendulum into destroot ./usr missing (created) . missing (directory not created: File exists) ./Applications missing (created) ./Developer missing (created) ./Library missing (created) . changed gid expected 80 found 0 modified ./bin missing (created) ./etc missing (created) ./include missing (created) ./lib missing (created) ./lib/pkgconfig missing (created) ./libexec missing (created) ./sbin missing (created) ./share missing (created) ./share/doc missing (created) ./share/info missing (created) ./share/man missing (created) ./share/man/cat1 missing (created) ./share/man/cat2 missing (created) ./share/man/cat3 missing (created) ./share/man/cat4 missing (created) ./share/man/cat5 missing (created) ./share/man/cat6 missing (created) ./share/man/cat7 missing (created) ./share/man/cat8 missing (created) ./share/man/cat9 missing (created) ./share/man/catl missing (created) ./share/man/catn missing (created) ./share/man/man1 missing (created) ./share/man/man2 missing (created) ./share/man/man3 missing (created) ./share/man/man4 missing (created) ./share/man/man5 missing (created) ./share/man/man6 missing (created) ./share/man/man7 missing (created) ./share/man/man8 missing (created) ./share/man/man9 missing (created) ./share/man/manl missing (created) ./share/man/mann missing (created) ./share/nls missing (created) ./share/nls/C missing (created) ./share/nls/af_ZA.ISO8859-1 missing (created) ./share/nls/af_ZA.ISO8859-15 missing (created) ./share/nls/bg_BG.CP1251 missing (created) ./share/nls/cs_CZ.ISO8859-2 missing (created) ./share/nls/da_DK.ISO8859-1 missing (created) ./share/nls/da_DK.ISO8859-15 missing (created) ./share/nls/de_AT.ISO8859-1 missing (created) ./share/nls/de_AT.ISO8859-15 missing (created) ./share/nls/de_CH.ISO8859-1 missing (created) ./share/nls/de_CH.ISO8859-15 missing (created) ./share/nls/de_DE.ISO8859-1 missing (created) ./share/nls/de_DE.ISO8859-15 missing (created) ./share/nls/el_GR.ISO8859-7 missing (created) ./share/nls/en_AU.ISO8859-1 missing (created) ./share/nls/en_AU.ISO8859-15 missing (created) ./share/nls/en_AU.US-ASCII missing (created) ./share/nls/en_CA.ISO8859-1 missing (created) ./share/nls/en_CA.ISO8859-15 missing (created) ./share/nls/en_CA.US-ASCII missing (created) ./share/nls/en_GB.ISO8859-1 missing (created) ./share/nls/en_GB.ISO8859-15 missing (created) ./share/nls/en_GB.US-ASCII missing (created) ./share/nls/en_NZ.ISO8859-1 missing (created) ./share/nls/en_NZ.ISO8859-15 missing (created) ./share/nls/en_NZ.US-ASCII missing (created) ./share/nls/en_US.ISO8859-1 missing (created) ./share/nls/en_US.ISO8859-15 missing (created) ./share/nls/es_ES.ISO8859-1 missing (created) ./share/nls/es_ES.ISO8859-15 missing (created) ./share/nls/et_EE.ISO8859-15 missing (created) ./share/nls/fi_FI.ISO8859-1 missing (created) ./share/nls/fi_FI.ISO8859-15 missing (created) ./share/nls/fr_BE.ISO8859-1 missing (created) ./share/nls/fr_BE.ISO8859-15 missing (created) ./share/nls/fr_CA.ISO8859-1 missing (created) ./share/nls/fr_CA.ISO8859-15 missing (created) ./share/nls/fr_CH.ISO8859-1 missing (created) ./share/nls/fr_CH.ISO8859-15 missing (created) ./share/nls/fr_FR.ISO8859-1 missing (created) ./share/nls/fr_FR.ISO8859-15 missing (created) ./share/nls/hi_IN.ISCII-DEV missing (created) ./share/nls/hr_HR.ISO8859-2 missing (created) ./share/nls/hu_HU.ISO8859-2 missing (created) ./share/nls/is_IS.ISO8859-1 missing (created) ./share/nls/is_IS.ISO8859-15 missing (created) ./share/nls/it_CH.ISO8859-1 missing (created) ./share/nls/it_CH.ISO8859-15 missing (created) ./share/nls/it_IT.ISO8859-1 missing (created) ./share/nls/it_IT.ISO8859-15 missing (created) ./share/nls/ja_JP.SJIS missing (created) ./share/nls/ja_JP.eucJP missing (created) ./share/nls/ko_KR.eucKR missing (created) ./share/nls/la_LN.ISO8859-1 missing (created) ./share/nls/la_LN.ISO8859-15 missing (created) ./share/nls/la_LN.ISO8859-2 missing (created) ./share/nls/la_LN.ISO8859-4 missing (created) ./share/nls/la_LN.US-ASCII missing (created) ./share/nls/lt_LT.ISO8859-4 missing (created) ./share/nls/nl_BE.ISO8859-1 missing (created) ./share/nls/nl_BE.ISO8859-15 missing (created) ./share/nls/nl_NL.ISO8859-1 missing (created) ./share/nls/nl_NL.ISO8859-15 missing (created) ./share/nls/no_NO.ISO8859-1 missing (created) ./share/nls/no_NO.ISO8859-15 missing (created) ./share/nls/pl_PL.ISO8859-2 missing (created) ./share/nls/pt_BR.ISO8859-1 missing (created) ./share/nls/pt_PT.ISO8859-1 missing (created) ./share/nls/pt_PT.ISO8859-15 missing (created) ./share/nls/ro_RO.ISO8859-2 missing (created) ./share/nls/ru_RU.CP866 missing (created) ./share/nls/ru_RU.ISO8859-5 missing (created) ./share/nls/ru_RU.KOI8-R missing (created) ./share/nls/sk_SK.ISO8859-2 missing (created) ./share/nls/sl_SI.ISO8859-2 missing (created) ./share/nls/sv_SE.ISO8859-1 missing (created) ./share/nls/sv_SE.ISO8859-15 missing (created) ./share/nls/tr_TR.ISO8859-9 missing (created) ./share/nls/uk_UA.ISO8859-5 missing (created) ./share/nls/uk_UA.KOI8-U missing (created) ./share/nls/zh_CN.eucCN missing (created) ./share/nls/zh_TW.Big5 missing (created) ./share/skel missing (created) ./var missing (created) ./var/cache missing (created) ./var/db missing (created) ./var/log missing (created) ./var/run missing (created) ./var/spool missing (created) ./www missing (created) xinstall: mkdir /opt/local/var/macports/build/_Users_kblazewicz_ports_python_py-pendulum/py39-pendulum/work/destroot/opt/local/share/doc/py39-pendulum xinstall: mkdir /opt/local/var/macports/build/_Users_kblazewicz_ports_python_py-pendulum/py39-pendulum/work/destroot/opt/local/share/doc/py39-pendulum/examples Executing: cd "/opt/local/var/macports/build/_Users_kblazewicz_ports_python_py-pendulum/py39-pendulum/work/pendulum-2.1.2" && /opt/local/Library/Frameworks/Python.framework/Versions/3.9/bin/python3.9 -m install --verbose --destdir /opt/local/var/macports/build/_Users_kblazewicz_ports_python_py-pendulum/py39-pendulum/work/destroot ['/opt/local/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/install/_vendor/installer/src', '/opt/local/var/macports/build/_Users_kblazewicz_ports_python_py-pendulum/py39-pendulum/work/pendulum-2.1.2', '/opt/local/Library/Frameworks/Python.framework/Versions/3.9/lib/python39.zip', '/opt/local/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9', '/opt/local/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/lib-dynload', '/opt/local/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages'] ERROR Missing argument: wheel Command failed: cd "/opt/local/var/macports/build/_Users_kblazewicz_ports_python_py-pendulum/py39-pendulum/work/pendulum-2.1.2" && /opt/local/Library/Frameworks/Python.framework/Versions/3.9/bin/python3.9 -m install --verbose --destdir /opt/local/var/macports/build/_Users_kblazewicz_ports_python_py-pendulum/py39-pendulum/work/destroot Exit code: 1 Error: Failed to destroot py39-pendulum: command execution failed Error: See /opt/local/var/macports/logs/_Users_kblazewicz_ports_python_py-pendulum/py39-pendulum/main.log for details. Error: Follow https://guide.macports.org/#project.tickets if you believe there is a bug. Error: Processing of port py39-pendulum failed
Content of /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_python_py-pendulum/py39-pendulum/main.log
is in attachment.
Running sudo port install py39-pendulum
works on Intel-based machines because there are available pre-build binaries.
Attachments (1)
Change History (13)
Changed 3 years ago by blazewicz (Krzysztof Błażewicz)
Attachment: | py39-pendulum-port.log added |
---|
comment:1 Changed 3 years ago by reneeotten (Renee Otten)
Cc: | xeron removed |
---|---|
Owner: | set to xeron |
Status: | new → assigned |
comment:2 follow-up: 4 Changed 3 years ago by jmroot (Joshua Root)
comment:3 Changed 3 years ago by blazewicz (Krzysztof Błażewicz)
Description: | modified (diff) |
---|
comment:4 Changed 3 years ago by blazewicz (Krzysztof Błażewicz)
Replying to jmroot:
This log appears to start with the build already partially complete. Please run
sudo port clean py39-pendulum
, attempt the install again, and attach the new log.
I did and updated the ticket.
comment:5 follow-up: 8 Changed 3 years ago by xeron (Ivan Larionov)
I don't have M1 mac to test, but seems like it has something to do with wheel build.
comment:6 Changed 3 years ago by blazewicz (Krzysztof Błażewicz)
Also worth noting, this package is compatible with M1 macs. I can successfully install it running pip install pendulum
in a virtual env.
comment:7 Changed 3 years ago by blazewicz (Krzysztof Błażewicz)
Description: | modified (diff) |
---|---|
Summary: | Can't install py-pendulum on M1 MacBook running Monterey 12.1 → py-pendulum won't build from source |
comment:8 Changed 3 years ago by blazewicz (Krzysztof Błażewicz)
Replying to xeron:
I don't have M1 mac to test, but seems like it has something to do with wheel build.
Actually you don't need one. It worked on Intel machine because of pre-build binaries. Try running sudo port install -s py39-pendulum
and you should get same error.
I've also updated the ticket title and description.
comment:9 Changed 3 years ago by blazewicz (Krzysztof Błażewicz)
Ok, I found the reason.
MacPorts creates wheel packages using tool called build
which is invoked by its name with /path/to/python -m build
command. The pendulum repository has in its root directory a script build.py
. Local script takes takes precedence over global build
tool that MacPorts expects.
This is why build always fails. It started with commit [e94c8a1f8531ced6e1d765849193e36a590425c9/macports-ports] which introduced {{{build}} tool 2 months ago.
comment:10 Changed 3 years ago by jmroot (Joshua Root)
Ah, a local module named build
would indeed be a problem here. Running python -m build
is the documented way to build a wheel: https://github.com/pypa/build/blob/main/README.md
We can't really go back to pep517.build
, it's deprecated and scheduled for removal. Unfortunately having this innocent-seeming script present in the build dir is creating an incompatibility with the PEP 517 front end of choice for distros.
comment:11 Changed 3 years ago by jmroot (Joshua Root)
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
comment:12 Changed 3 years ago by jmroot (Joshua Root)
It would probably be worth raising this issue upstream.
This log appears to start with the build already partially complete. Please run
sudo port clean py39-pendulum
, attempt the install again, and attach the new log.