Re: gcc12 will not build with multiple jobs

Scott Hannahs via Fink-devel <[email protected]> Mon, 12 Dec 2022 16:28:26 -0500
Newsgroups gmane.os.apple.fink.devel
Message-ID <[email protected]>
--===============5865339782448801749==
Content-Type: multipart/alternative;
	boundary="Apple-Mail=_BB44099B-8256-42E0-BDAA-DCBFAED4B72F"


--Apple-Mail=_BB44099B-8256-42E0-BDAA-DCBFAED4B72F
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=us-ascii



> On Dec 12, 2022, at 16:10, [email protected] wrote:
>=20
> On 2022-12-12 14:58, Scott Hannahs via Fink-devel wrote:
>> Ok, weirdness.  I could not get it to reproduce on my home machine
>> after building with single job, and it has build correctly with
>> multiple jobs enabled about 3 times after that.  I have a similar
>> machine at work (ie Monterey 12.6.1)  and I tried to install gcc12 on
>> that system.  This gave a different error.  My Xcode and command line
>> versions agree.
>>> checking for the correct version of gmp.h... yes
>>> checking for the correct version of mpfr.h... yes
>>> checking for the correct version of mpc.h... no
>>> configure: error: Building GCC requires GMP 4.2+, MPFR 3.1.0+ and
>>> MPC 0.8.0+.
>>> Try the --with-gmp, --with-mpfr and/or --with-mpc options to specify
>>> their locations.  Source code for these libraries can be found at
>>> their respective hosting sites as well as at
>>> https://gcc.gnu.org/pub/gcc/infrastructure/.  See also
>>> http://gcc.gnu.org/install/prerequisites.html for additional info.
>>> If
>>> you obtained GMP, MPFR and/or MPC from a vendor distribution
>>> package,
>>> make sure that you have installed both the libraries and the header
>>> files.  They may be located in separate packages.
>>> ### execution of /tmp/fink.SqDfX failed, exit code 1
>>> ### execution of /tmp/fink.3lPCk failed, exit code 1
>>> ...
>>> Also include the following system information:
>>> Package manager version: 0.45.99.git
>>> Distribution version: selfupdate-git Mon Dec 12 10:03:17 2022, 12.0,
>>> x86_64
>>> Trees: local/injected local/main stable/main
>>> Xcode.app: 14.1
>>> Xcode command-line tools: 14.1.0.0.1.1666437224
>>> Max. Fink build jobs:  12
>> Which seems to imply that my version of MPC < 0.8 or completely
>> missing.
>> BUT, fink reports that I have libmpc3 installed.  Should it be
>> libmpc2??  Is the dependency in gcc12 wrong?  It claims dependency on
>> libmpc3 >=3D 1.0.3 which should be satisfied.
>>> % fink list libmpc2 libmpc3
>>> Information about 13595 packages read in 1 seconds.
>>> libmpc2                                         0.9-2
>>> Multi-precision complex lib
>>> libmpc2-shlibs                                  0.9-2
>>> Multi-precision complex lib
>>> i   libmpc3                                         1.3.0-1
>>> Multi-precision complex lib
>>> i   libmpc3-shlibs                                  1.3.0-1
>>> Multi-precision complex lib
>> The reference file has the correct version in it as expected:
>> "/opt/sw/include/mpc.h"
>>> /* Define MPC version number */
>>> #define MPC_VERSION_MAJOR 1
>>> #define MPC_VERSION_MINOR 3
>>> #define MPC_VERSION_PATCHLEVEL 0
>>> #define MPC_VERSION_STRING "1.3.0"
>=20
> gcc12 has an explicit Depends on `libmpc3 (>=3D 1.0.3-1)`. Can you =
look at config.log in the build directory and see what exactly failed =
when checking for `mpc.h`?
>=20
> libmpc3 just got updated from 1.2.1 to 1.3.0. Upstream claims that =
1.3.0 is backwards compatible with 1.2.1, but I wonder if the gcc12 code =
is expecting something else that got changed.
>=20
> I don't know what was going on with the multi-job issue because the =
gccNN build system should be multi-thread safe. It's worked for me with =
4 and 8 CPU machines for a long time, and I know others have it working =
too.
>=20
> Hanspeter


It seems that there is an error (or undefined type FILE) in that header =
file?  The config.log file is in the darwin_objdir directory.


> configure:8209: checking for the correct version of mpc.h
> configure:8226: gcc -c -g -O2 -I/opt/sw/include -I/opt/sw/include   =
conftest.c >&5
> In file included from conftest.c:10:
> /opt/sw/include/mpc.h:287:35: error: unknown type name 'FILE'
> __MPC_DECLSPEC void mpcr_out_str (FILE *f, mpcr_srcptr r);
>                                   ^
> 1 error generated.
> configure:8226: $? =3D 1
> configure: failed program was:
> | /* confdefs.h */
> | #define PACKAGE_NAME ""
> | #define PACKAGE_TARNAME ""
> | #define PACKAGE_VERSION ""
> | #define PACKAGE_STRING ""
> | #define PACKAGE_BUGREPORT ""
> | #define PACKAGE_URL ""
> | #define LT_OBJDIR ".libs/"
> | /* end confdefs.h.  */
> | #include <mpc.h>
> | int
> | main ()
> | {
> |=20
> |     #if MPC_VERSION < MPC_VERSION_NUM(0,8,0)
> |     choke me
> |     #endif
> |=20
> |   ;
> |   return 0;
> | }
> configure:8251: result: no
> configure:8309: error: Building GCC requires GMP 4.2+, MPFR 3.1.0+ and =
MPC 0.8.0+.
> Try the --with-gmp, --with-mpfr and/or --with-mpc options to specify
> their locations.  Source code for these libraries can be found at
> their respective hosting sites as well as at


At least to me it appears that the correct flag is passed to the =
compiler that has the mpc libraries in the path.  That should point the =
system to /opt/sw/include/mpc.h

> It was created by configure, which was
> generated by GNU Autoconf 2.69.  Invocation command line was
>=20
>   $ ../gcc-12.2.0/configure --prefix=3D/opt/sw =
--prefix=3D/opt/sw/lib/gcc12 --mandir=3D/opt/sw/share/man =
--infodir=3D/opt/sw/lib/gcc12/info =
--enable-languages=3Dc,c++,fortran,lto,objc,obj-c++ --with-gmp=3D/opt/sw =
--with-libiconv-prefix=3D/opt/sw --wi
> th-isl=3D/opt/sw --with-mpc=3D/opt/sw --with-system-zlib =
--program-suffix=3D-fsf-12 --disable-multilib --enable-stage1-checking =
--with-sysroot=3D/Applications/Xcode.app/Contents/Developer/Platforms/MacO=
SX.platform/Developer/SDKs/MacOSX.sdk --wi
> th-pkgversion=3DFink gcc12 12.2.0-2 =
--with-bugurl=3Dhttps://github.com/fink/fink-distributions/issues
>=20





--Apple-Mail=_BB44099B-8256-42E0-BDAA-DCBFAED4B72F
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
	charset=us-ascii

<html><head><meta http-equiv=3D"Content-Type" content=3D"text/html; =
charset=3Dus-ascii"></head><body style=3D"word-wrap: break-word; =
-webkit-nbsp-mode: space; line-break: after-white-space;" class=3D""><br =
class=3D""><div><br class=3D""><blockquote type=3D"cite" class=3D""><div =
class=3D"">On Dec 12, 2022, at 16:10, <a =
href=3D"mailto:[email protected]" =
class=3D"">[email protected]</a> wrote:</div><br =
class=3D"Apple-interchange-newline"><div class=3D""><div class=3D"">On =
2022-12-12 14:58, Scott Hannahs via Fink-devel wrote:<br =
class=3D""><blockquote type=3D"cite" class=3D"">Ok, weirdness. &nbsp;I =
could not get it to reproduce on my home machine<br class=3D"">after =
building with single job, and it has build correctly with<br =
class=3D"">multiple jobs enabled about 3 times after that. &nbsp;I have =
a similar<br class=3D"">machine at work (ie Monterey 12.6.1) &nbsp;and I =
tried to install gcc12 on<br class=3D"">that system. &nbsp;This gave a =
different error. &nbsp;My Xcode and command line<br class=3D"">versions =
agree.<br class=3D""><blockquote type=3D"cite" class=3D"">checking for =
the correct version of gmp.h... yes<br class=3D"">checking for the =
correct version of mpfr.h... yes<br class=3D"">checking for the correct =
version of mpc.h... no<br class=3D"">configure: error: Building GCC =
requires GMP 4.2+, MPFR 3.1.0+ and<br class=3D"">MPC 0.8.0+.<br =
class=3D"">Try the --with-gmp, --with-mpfr and/or --with-mpc options to =
specify<br class=3D"">their locations. &nbsp;Source code for these =
libraries can be found at<br class=3D"">their respective hosting sites =
as well as at<br class=3D""><a =
href=3D"https://gcc.gnu.org/pub/gcc/infrastructure/" =
class=3D"">https://gcc.gnu.org/pub/gcc/infrastructure/</a>. &nbsp;See =
also<br class=3D""><a =
href=3D"http://gcc.gnu.org/install/prerequisites.html" =
class=3D"">http://gcc.gnu.org/install/prerequisites.html</a> for =
additional info.<br class=3D"">If<br class=3D"">you obtained GMP, MPFR =
and/or MPC from a vendor distribution<br class=3D"">package,<br =
class=3D"">make sure that you have installed both the libraries and the =
header<br class=3D"">files. &nbsp;They may be located in separate =
packages.<br class=3D"">### execution of /tmp/fink.SqDfX failed, exit =
code 1<br class=3D"">### execution of /tmp/fink.3lPCk failed, exit code =
1<br class=3D"">...<br class=3D"">Also include the following system =
information:<br class=3D"">Package manager version: 0.45.99.git<br =
class=3D"">Distribution version: selfupdate-git Mon Dec 12 10:03:17 =
2022, 12.0,<br class=3D"">x86_64<br class=3D"">Trees: local/injected =
local/main stable/main<br class=3D"">Xcode.app: 14.1<br class=3D"">Xcode =
command-line tools: 14.1.0.0.1.1666437224<br class=3D"">Max. Fink build =
jobs: &nbsp;12<br class=3D""></blockquote>Which seems to imply that my =
version of MPC &lt; 0.8 or completely<br class=3D"">missing.<br =
class=3D"">BUT, fink reports that I have libmpc3 installed. &nbsp;Should =
it be<br class=3D"">libmpc2?? &nbsp;Is the dependency in gcc12 wrong? =
&nbsp;It claims dependency on<br class=3D"">libmpc3 &gt;=3D 1.0.3 which =
should be satisfied.<br class=3D""><blockquote type=3D"cite" class=3D"">% =
fink list libmpc2 libmpc3<br class=3D"">Information about 13595 packages =
read in 1 seconds.<br class=3D"">libmpc2 =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;0.9-2<br class=3D"">Multi-precision complex lib<br =
class=3D"">libmpc2-shlibs =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0.9-2<br =
class=3D"">Multi-precision complex lib<br class=3D"">i =
&nbsp;&nbsp;libmpc3 =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;1.3.0-1<br class=3D"">Multi-precision complex lib<br =
class=3D"">i &nbsp;&nbsp;libmpc3-shlibs =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1.3.0-1<br =
class=3D"">Multi-precision complex lib<br class=3D""></blockquote>The =
reference file has the correct version in it as expected:<br =
class=3D"">"/opt/sw/include/mpc.h"<br class=3D""><blockquote type=3D"cite"=
 class=3D"">/* Define MPC version number */<br class=3D"">#define =
MPC_VERSION_MAJOR 1<br class=3D"">#define MPC_VERSION_MINOR 3<br =
class=3D"">#define MPC_VERSION_PATCHLEVEL 0<br class=3D"">#define =
MPC_VERSION_STRING "1.3.0"<br class=3D""></blockquote></blockquote><br =
class=3D"">gcc12 has an explicit Depends on `libmpc3 (&gt;=3D 1.0.3-1)`. =
Can you look at config.log in the build directory and see what exactly =
failed when checking for `mpc.h`?<br class=3D""><br class=3D"">libmpc3 =
just got updated from 1.2.1 to 1.3.0. Upstream claims that 1.3.0 is =
backwards compatible with 1.2.1, but I wonder if the gcc12 code is =
expecting something else that got changed.<br class=3D""><br class=3D"">I =
don't know what was going on with the multi-job issue because the gccNN =
build system should be multi-thread safe. It's worked for me with 4 and =
8 CPU machines for a long time, and I know others have it working =
too.<br class=3D""><br class=3D"">Hanspeter<br =
class=3D""></div></div></blockquote></div><div class=3D""><br =
class=3D""></div>It seems that there is an error (or undefined type =
FILE) in that header file? &nbsp;The config.log file is in =
the&nbsp;darwin_objdir directory.<div class=3D""><br class=3D""></div><div=
 class=3D""><br class=3D""><div class=3D""><blockquote type=3D"cite" =
class=3D"">configure:8209: checking for the correct version =
of&nbsp;mpc.h<br class=3D"">configure:8226: gcc -c -g -O2 =
-I/opt/sw/include -I/opt/sw/include&nbsp;&nbsp;&nbsp;conftest.c =
&gt;&amp;5<br class=3D"">In file included from conftest.c:10:<br =
class=3D"">/opt/sw/include/mpc.h:287:35: error: <b style=3D"font-size: =
16px;" class=3D"">unknown type name 'FILE'</b><br =
class=3D"">__MPC_DECLSPEC void&nbsp;mpcr_out_str (FILE =
*f,&nbsp;mpcr_srcptr r);<br class=3D"">&nbsp; &nbsp; &nbsp; &nbsp; =
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; =
&nbsp; &nbsp; &nbsp;&nbsp;^<br class=3D"">1 error generated.<br =
class=3D"">configure:8226: $? =3D 1<br class=3D"">configure: failed =
program was:<br class=3D"">| /* confdefs.h */<br class=3D"">| #define =
PACKAGE_NAME ""<br class=3D"">| #define PACKAGE_TARNAME ""<br class=3D"">|=
 #define PACKAGE_VERSION ""<br class=3D"">| #define PACKAGE_STRING ""<br =
class=3D"">| #define PACKAGE_BUGREPORT ""<br class=3D"">| #define =
PACKAGE_URL ""<br class=3D"">| #define LT_OBJDIR ".libs/"<br class=3D"">| =
/* end confdefs.h.&nbsp;&nbsp;*/<br class=3D"">| #include =
&lt;mpc.h&gt;<br class=3D"">| int<br class=3D"">| main ()<br class=3D"">| =
{<br class=3D"">|&nbsp;<br class=3D"">|&nbsp;&nbsp; &nbsp;&nbsp;#if =
MPC_VERSION &lt; MPC_VERSION_NUM(0,8,0)<br class=3D"">|&nbsp;&nbsp; =
&nbsp;&nbsp;choke me<br class=3D"">|&nbsp;&nbsp; &nbsp;&nbsp;#endif<br =
class=3D"">|&nbsp;<br class=3D"">|&nbsp;&nbsp;&nbsp;;<br =
class=3D"">|&nbsp;&nbsp;&nbsp;return 0;<br class=3D"">| }<br =
class=3D"">configure:8251: result: no<br class=3D"">configure:8309: =
error: Building GCC requires GMP 4.2+, MPFR 3.1.0+ and MPC 0.8.0+.<br =
class=3D"">Try the --with-gmp, --with-mpfr and/or =
--with-mpc&nbsp;options to specify<br class=3D"">their =
locations.&nbsp;&nbsp;Source code for these libraries can be found at<br =
class=3D"">their respective hosting sites as well as at<br =
class=3D""></blockquote></div><div class=3D""><br class=3D""></div><div =
class=3D"">At least to me it appears that the correct flag is passed to =
the compiler that has the mpc libraries in the path. &nbsp;That should =
point the system to /opt/sw/include/mpc.h</div><div class=3D""><br =
class=3D""><blockquote type=3D"cite" class=3D"">It was created by =
configure, which was<br class=3D"">generated by GNU Autoconf =
2.69.&nbsp;&nbsp;Invocation command line was<br class=3D""><br =
class=3D""></blockquote><blockquote type=3D"cite" class=3D"">&nbsp;&nbsp;$=
 ../gcc-12.2.0/configure --prefix=3D/opt/sw --prefix=3D/opt/sw/lib/gcc12 =
--mandir=3D/opt/sw/share/man --infodir=3D/opt/sw/lib/gcc12/info =
--enable-languages=3Dc,c++,fortran,lto,objc,obj-c++ --with-gmp=3D/opt/sw =
--with-libiconv-prefix=3D/opt/sw --wi<br class=3D"">th-isl=3D/opt/sw <b =
class=3D""><span style=3D"font-size: 16px;" =
class=3D"">--with-mpc</span><span style=3D"font-size: 16px;" =
class=3D"">=3D/opt/sw</span></b> --with-system-zlib =
--program-suffix=3D-fsf-12 --disable-multilib --enable-stage1-checking =
--with-sysroot=3D/Applications/Xcode.app/Contents/Developer/Platforms/MacO=
SX.platform/Developer/SDKs/MacOSX.sdk --wi<br =
class=3D"">th-pkgversion=3DFink gcc12 12.2.0-2 --with-bugurl=3D<a =
href=3D"https://github.com/fink/fink-distributions/issues" =
class=3D"">https://github.com/fink/fink-distributions/issues</a><br =
class=3D""><br class=3D""></blockquote></div><div class=3D""><br =
class=3D""><div class=3D""><br class=3D""></div><div class=3D""><br =
class=3D""></div></div></div></body></html>=

--Apple-Mail=_BB44099B-8256-42E0-BDAA-DCBFAED4B72F--


--===============5865339782448801749==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline


--===============5865339782448801749==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Fink-devel mailing list
[email protected]
List archive:
https://sourceforge.net/p/fink/mailman/fink-devel
Subscription management:
https://lists.sourceforge.net/lists/listinfo/fink-devel
--===============5865339782448801749==--