Opened 2 years ago
Last modified 23 months ago
#66108 new defect
qrupdate @1.1.2: parallel build failure
Reported by: | murrayE | Owned by: | |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.8.0 |
Keywords: | Cc: | ||
Port: | qrupdate |
Description
After migrating MacPorts to Ventura (from Monterey), during attempted reinstall of octave, dependency on qrupdate, build of qrupdate failed. From main.log (attached):
:info:build libtool -o ../libqrupdate.a caxcpy.o cch1dn.o cch1up.o cchdex.o cchinx.o cchshx.o cgqvec.o cqhqr.o cqr1up.o cqrdec.o cqrder.o cqrinc.o cqrinr.o cqrot.o cqrqh.o cqrshc.o cqrtv1.o dch1dn.o dch1up.o dchdex.o dchinx.o dchshx.o dgqvec.o dqhqr.o dqr1up.o dqrdec.o dqrder.o dqrinc.o dqrinr.o dqrot.o dqrqh.o dqrshc.o dqrtv1.o sch1dn.o sch1up.o schdex.o schinx.o schshx.o sgqvec.o sqhqr.o sqr1up.o sqrdec.o sqrder.o sqrinc.o sqrinr.o sqrot.o sqrqh.o sqrshc.o sqrtv1.o zaxcpy.o zch1dn.o zch1up.o zchdex.o zchinx.o zchshx.o zgqvec.o zqhqr.o zqr1up.o zqrdec.o zqrder.o zqrinc.o zqrinr.o zqrot.o zqrqh.o zqrshc.o zqrtv1.o clu1up.o dlu1up.o slu1up.o zlu1up.o clup1up.o dlup1up.o slup1up.o zlup1up.o :info:build error: /Library/Developer/CommandLineTools/usr/bin/libtool: file: zlu1up.o is not an object file (not allowed in a library) :info:build make[1]: *** [../libqrupdate.a] Error 1 :info:build make[1]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_math_qrupdate/qrupdate/work/qrupdate-1.1.2/src' :info:build make: *** [lib] Error 2 :info:build make: *** Waiting for unfinished jobs.... :info:build /opt/local/bin/gfortran-mp-12 -m64 -fimplicit-none -O3 -funroll-loops -dynamiclib -o ../libqrupdate.dylib -install_name /opt/local/lib/libqrupdate.1.dylib caxcpy.o cch1dn.o cch1up.o cchdex.o cchinx.o cchshx.o cgqvec.o cqhqr.o cqr1up.o cqrdec.o cqrder.o cqrinc.o cqrinr.o cqrot.o cqrqh.o cqrshc.o cqrtv1.o dch1dn.o dch1up.o dchdex.o dchinx.o dchshx.o dgqvec.o dqhqr.o dqr1up.o dqrdec.o dqrder.o dqrinc.o dqrinr.o dqrot.o dqrqh.o dqrshc.o dqrtv1.o sch1dn.o sch1up.o schdex.o schinx.o schshx.o sgqvec.o sqhqr.o sqr1up.o sqrdec.o sqrder.o sqrinc.o sqrinr.o sqrot.o sqrqh.o sqrshc.o sqrtv1.o zaxcpy.o zch1dn.o zch1up.o zchdex.o zchinx.o zchshx.o zgqvec.o zqhqr.o zqr1up.o zqrdec.o zqrder.o zqrinc.o zqrinr.o zqrot.o zqrqh.o zqrshc.o zqrtv1.o clu1up.o dlu1up.o slu1up.o zlu1up.o clup1up.o dlup1up.o slup1up.o zlup1up.o \ :info:build -lopenblas :info:build make[1]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_math_qrupdate/qrupdate/work/qrupdate-1.1.2/src' :info:build make: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_math_qrupdate/qrupdate/work/qrupdate-1.1.2' :info:build Command failed: cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_math_qrupdate/qrupdate/work/qrupdate-1.1.2" && /usr/bin/make -j10 -w lib solib PREFIX=/opt/local LAPACK="" BLAS="-lopenblas" :info:build Exit code: 2 :error:build Failed to build qrupdate: command execution failed
Attachments (1)
Change History (6)
Changed 2 years ago by murrayE
comment:1 Changed 2 years ago by murrayE
Builds OK after ports update to qrupdate@@1.1.2_6+gcc12+openblas.
comment:2 Changed 2 years ago by ryandesign (Ryan Carsten Schmidt)
Keywords: | ventura added; build failure removed |
---|---|
Summary: | qrupdate-1.1.2 fails to build under Ventura on M1 Mac → qrupdate @1.1.2: fails to build under Ventura on M1 Mac |
So wait... what fixed it?
comment:3 Changed 2 years ago by murrayE
I didn't realize until your comment (ryandesign) that this was, ostensibly, the same version as the one that failed to build before. All I can say is that after doing a sync yesterday, I was able to install qrupdate@1.1.2_6. Mystery to me!
comment:4 Changed 2 years ago by ryandesign (Ryan Carsten Schmidt)
Summary: | qrupdate @1.1.2: fails to build under Ventura on M1 Mac → qrupdate @1.1.2: parallel build failure |
---|
From your log I see that the error message was about zlu1up.o not being a valid object file:
:info:build error: /Library/Developer/CommandLineTools/usr/bin/libtool: file: zlu1up.o is not an object
I also see that you're building with 10 parallel jobs, and that the Portfile requests two targets to be built: "lib" and "solib":
:info:build Executing: cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_math_qrupdate/qrupdate/work/qrupdate-1.1.2" && /usr/bin/make -j10 -w lib solib PREFIX=/opt/local LAPACK="" BLAS="-lopenblas"
And that zlu1up.f, the file from which zlu1up.o was made, was compiled twice, as were other files:
:info:build /opt/local/bin/gfortran-mp-12 -m64 -fimplicit-none -O3 -funroll-loops -fPIC -c zlu1up.f :info:build /opt/local/bin/gfortran-mp-12 -m64 -fimplicit-none -O3 -funroll-loops -fPIC -c clup1up.f :info:build /opt/local/bin/gfortran-mp-12 -m64 -fimplicit-none -O3 -funroll-loops -fPIC -c zqrder.f :info:build /opt/local/bin/gfortran-mp-12 -m64 -fimplicit-none -O3 -funroll-loops -fPIC -c dlup1up.f :info:build /opt/local/bin/gfortran-mp-12 -m64 -fimplicit-none -O3 -funroll-loops -fPIC -c slup1up.f :info:build /opt/local/bin/gfortran-mp-12 -m64 -fimplicit-none -O3 -funroll-loops -fPIC -c zlup1up.f :info:build /opt/local/bin/gfortran-mp-12 -m64 -fimplicit-none -O3 -funroll-loops -fPIC -c zqrshc.f :info:build /opt/local/bin/gfortran-mp-12 -m64 -fimplicit-none -O3 -funroll-loops -fPIC -c clu1up.f :info:build /opt/local/bin/gfortran-mp-12 -m64 -fimplicit-none -O3 -funroll-loops -fPIC -c dlu1up.f :info:build /opt/local/bin/gfortran-mp-12 -m64 -fimplicit-none -O3 -funroll-loops -fPIC -c slu1up.f :info:build /opt/local/bin/gfortran-mp-12 -m64 -fimplicit-none -O3 -funroll-loops -fPIC -c zlu1up.f :info:build /opt/local/bin/gfortran-mp-12 -m64 -fimplicit-none -O3 -funroll-loops -fPIC -c clup1up.f :info:build /opt/local/bin/gfortran-mp-12 -m64 -fimplicit-none -O3 -funroll-loops -fPIC -c dlup1up.f :info:build /opt/local/bin/gfortran-mp-12 -m64 -fimplicit-none -O3 -funroll-loops -fPIC -c slup1up.f :info:build /opt/local/bin/gfortran-mp-12 -m64 -fimplicit-none -O3 -funroll-loops -fPIC -c zlup1up.f
The sequence of events was probably that zlu1up.f got compiled into zlu1up.o as a dependency of libqrupdate.a (the "lib" target), then it tried to create libqrupdate.a from zlu1up.o and other objects and, before it could finish doing so, zlu1up.f got compiled into zlu1up.o a second time as a dependency of libqrupdate.dylib (the "solib" target); when that second compilation of zlu1up.o began, it probably emptied the file, and before it completed, it was probably still empty or incomplete, causing the failure of the other process trying to make libqrupdate.a.
This kind of thing can happen when a build system does not declare the dependencies between its files correctly. The workaround is to disable parallel building or just try building a second time without cleaning. The problem should be reported to the developers of qrupdate so they can fix their build system.
comment:5 Changed 23 months ago by kencu (Ken)
Keywords: | ventura removed |
---|
main.log