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. 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. I have = a similar<br class=3D"">machine at work (ie Monterey 12.6.1) and I = tried to install gcc12 on<br class=3D"">that system. This gave a = different error. 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. 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>. 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. 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: 12<br class=3D""></blockquote>Which seems to imply that my = version of MPC < 0.8 or completely<br class=3D"">missing.<br = class=3D"">BUT, fink reports that I have libmpc3 installed. Should = it be<br class=3D"">libmpc2?? Is the dependency in gcc12 wrong? = It claims dependency on<br class=3D"">libmpc3 >=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 = &n= bsp; &nbs= p; = 0.9-2<br class=3D"">Multi-precision complex lib<br = class=3D"">libmpc2-shlibs = &n= bsp; &nbs= p; 0.9-2<br = class=3D"">Multi-precision complex lib<br class=3D"">i = libmpc3 = &n= bsp; &nbs= p; = 1.3.0-1<br class=3D"">Multi-precision complex lib<br = class=3D"">i libmpc3-shlibs = &n= bsp; &nbs= p; 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 (>=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? The config.log file is in = the 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 mpc.h<br class=3D"">configure:8226: gcc -c -g -O2 = -I/opt/sw/include -I/opt/sw/include conftest.c = >&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 mpcr_out_str (FILE = *f, mpcr_srcptr r);<br class=3D""> = = ^<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. */<br class=3D"">| #include = <mpc.h><br class=3D"">| int<br class=3D"">| main ()<br class=3D"">| = {<br class=3D"">| <br class=3D"">| #if = MPC_VERSION < MPC_VERSION_NUM(0,8,0)<br class=3D"">| = choke me<br class=3D"">| #endif<br = class=3D"">| <br class=3D"">| ;<br = class=3D"">| 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 options to specify<br class=3D"">their = locations. 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. 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. Invocation command line was<br class=3D""><br = class=3D""></blockquote><blockquote type=3D"cite" class=3D""> $= ../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==--