[MacPorts] #66108: qrupdate @1.1.2: parallel build failure (was: qrupdate @1.1.2: fails to build under Ventura on M1 Mac)

MacPorts noreply at macports.org
Thu Nov 10 00:29:33 UTC 2022


#66108: qrupdate @1.1.2: parallel build failure
-----------------------+---------------------
  Reporter:  murrayE   |      Owner:  (none)
      Type:  defect    |     Status:  new
  Priority:  Normal    |  Milestone:
 Component:  ports     |    Version:  2.8.0
Resolution:            |   Keywords:  ventura
      Port:  qrupdate  |
-----------------------+---------------------

Comment (by ryandesign):

 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 [https://sourceforge.net/projects/qrupdate/support
 reported to the developers of qrupdate] so they can fix their build
 system.

-- 
Ticket URL: <https://trac.macports.org/ticket/66108#comment:4>
MacPorts <https://www.macports.org/>
Ports system for macOS


More information about the macports-tickets mailing list