[MacPorts] #38311: gcc4.4 +universal requiring libstdcxx from gcc4.7?
#38311: gcc4.4 +universal requiring libstdcxx from gcc4.7? ---------------------+-------------------------------- Reporter: boydb@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.1.3 Keywords: | Port: gcc44 ---------------------+-------------------------------- When running the command "port install gcc44 +universal", libstdcxx is in the dependency tree and fails to compile. The log file shows that it appears to be pulling libstdcxx 4.7, from under the gcc47 package and failing to configure: {{{ :info:configure Command failed: cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_lang_gcc47/libstdcxx/work/build" && ../gcc-4.7.2/configure --prefix=/opt/local --build=x86_64-apple- darwin10 --includedir=/opt/local/include/gcc47 --infodir=/opt/local/share/info --mandir=/opt/local/share/man --datarootdir=/opt/local/share/gcc-4.7 --with-libiconv-prefix=/opt/local --with-local-prefix=/opt/local --with-system-zlib --disable-nls --program- suffix=-mp-4.7 --with-gxx-include-dir=/opt/local/include/gcc47/c++/ --with-gmp=/opt/local --with-mpfr=/opt/local --with-mpc=/opt/local --with- ppl=/opt/local --with-cloog=/opt/local --enable-cloog-backend=isl --disable-cloog-version-check --enable-stage1-checking --enable-lto --enable-libstdcxx-time --with-as=/opt/local/bin/as --with- ld=/opt/local/bin/ld --with-ar=/opt/local/bin/ar --with- bugurl=https://trac.macports.org/newticket --disable-ppl-version-check --enable-languages=c++ --disable-bootstrap --with-pkgversion="MacPorts gcc47 4.7.2_2+universal" :info:configure Exit code: 77 :error:configure org.macports.configure for port libstdcxx returned: configure failure: command execution failed }}} I tried installing the gcc47 package first, and then re-running "port install gcc44 +universal", but it still fails out. I'm not sure if this is a failing on the part of the gcc44 package's "universal" variant (installing without the variant works fine), or libstdcxx (or myself misconfiguring something). -- Ticket URL: <https://trac.macports.org/ticket/38311> MacPorts <http://www.macports.org/> Ports system for OS X
#38311: gcc4.4 +universal requiring libstdcxx from gcc4.7? ----------------------+-------------------------------- Reporter: boydb@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.1.3 Resolution: | Keywords: Port: gcc44 | ----------------------+-------------------------------- Comment (by boydb@…): For clarity: The gcc ports I have installed are: {{{ gcc44 @4.4.7_6 gcc45 @4.5.4_6 gcc47 @4.7.2_2 gcc_select @0.1_8 }}} {{{ $ port select --list gcc Available versions for gcc: gcc40 gcc42 llvm-gcc42 mp-gcc44 mp-gcc45 mp-gcc47 none (active) }}} This is an OS 10.6.8 box, so the default gcc (`/usr/bin/gcc`) is `i686 -apple-darwin10-llvm-gcc-4.2` -- Ticket URL: <https://trac.macports.org/ticket/38311#comment:1> MacPorts <http://www.macports.org/> Ports system for OS X
#38311: gcc4.4 +universal requiring libstdcxx from gcc4.7? ----------------------+-------------------------------- Reporter: boydb@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.1.3 Resolution: | Keywords: Port: gcc44 | ----------------------+-------------------------------- Comment (by ryandesign@…): The log you attached says: {{{ :info:configure configure: error: in `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_lang_gcc47/libstdcxx/work/build': :info:configure configure: error: C compiler cannot create executables :info:configure See `config.log' for more details. }}} Please also attach that config.log so that we can see what happened. -- Ticket URL: <https://trac.macports.org/ticket/38311#comment:2> MacPorts <http://www.macports.org/> Ports system for OS X
#38311: gcc4.4 +universal requiring libstdcxx from gcc4.7? ----------------------+-------------------------------- Reporter: boydb@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.1.3 Resolution: | Keywords: Port: gcc44 | ----------------------+-------------------------------- Comment (by boydb@…): There you go! -- Ticket URL: <https://trac.macports.org/ticket/38311#comment:3> MacPorts <http://www.macports.org/> Ports system for OS X
#38311: gcc4.4 +universal requiring libstdcxx from gcc4.7? ----------------------+-------------------------------- Reporter: boydb@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.1.3 Resolution: | Keywords: Port: gcc44 | ----------------------+-------------------------------- Comment (by ryandesign@…): It says: {{{ configure:4032: checking for C compiler version configure:4041: /opt/local/bin/gcc-apple-4.2 -arch i386 -arch x86_64 --version >&5 ../gcc-4.7.2/configure: line 4043: /opt/local/bin/gcc-apple-4.2: No such file or directory configure:4052: $? = 127 }}} Do you have the apple-gcc42 port installed? The error suggests that you don't. Please try installing it and see what happens. -- Ticket URL: <https://trac.macports.org/ticket/38311#comment:4> MacPorts <http://www.macports.org/> Ports system for OS X
#38311: gcc4.4 +universal requiring libstdcxx from gcc4.7? ----------------------+-------------------------------- Reporter: boydb@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.1.3 Resolution: | Keywords: Port: gcc44 | ----------------------+-------------------------------- Comment (by boydb@…): That's odd an odd requirement, since this machine's native GCC is the XCode one which is the apple 4.2 one. But I did install that port, which seems to allow `configure` to complete, but the port overall still fails. The relevant part of the main.log seems to be: {{{ :notice:build ---> Building libstdcxx :debug:build Executing org.macports.build (libstdcxx) :debug:build Environment: CPATH='/opt/local/include' CC_PRINT_OPTIONS_FILE='/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_lang_gcc47/libstdcxx/work/.CC_PRINT_OPTIONS' LIBRARY_PATH='/opt/local/lib' CC_PRINT_OPTIONS='YES' MACOSX_DEPLOYMENT_TARGET='10.6' CPP='/opt/local/bin/gcc-apple-4.2 -E' :debug:build Assembled command: 'cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_lang_gcc47/libstdcxx/work/build" && /usr/bin/make -j7 -w all' :debug:build Executing command line: cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_lang_gcc47/libstdcxx/work/build" && /usr/bin/make -j7 -w all :info:build make: Entering directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_lang_gcc47/libstdcxx/work/build' :info:build Makefile:376: *** missing separator. Stop. :info:build make: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_lang_gcc47/libstdcxx/work/build' :info:build Command failed: cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_lang_gcc47/libstdcxx/work/build" && /usr/bin/make -j7 -w all :info:build Exit code: 2 :error:build org.macports.build for port libstdcxx returned: command execution failed }}} The full log is attached as main2.log -- Ticket URL: <https://trac.macports.org/ticket/38311#comment:5> MacPorts <http://www.macports.org/> Ports system for OS X
#38311: libstdcxx +universal configure failure ------------------------+------------------- Reporter: boydb@… | Owner: mww@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.1.3 Resolution: | Keywords: Port: libstdcxx | ------------------------+------------------- Changes (by jmr@…): * cc: mww@…, openmaintainer@… (removed) * owner: macports-tickets@… => mww@… * port: gcc44 => libstdcxx -- Ticket URL: <https://trac.macports.org/ticket/38311#comment:7> MacPorts <http://www.macports.org/> Ports system for OS X
#38311: libstdcxx +universal configure failure ------------------------+------------------- Reporter: boydb@… | Owner: mww@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.1.3 Resolution: | Keywords: Port: libstdcxx | ------------------------+------------------- Comment (by jmr@…): It looks like libstdcxx does fail to add an apple-gcc42 dependency in the case where you have a too-old clang, a too-old llvm-gcc-4.2, and no gcc-4.2. -- Ticket URL: <https://trac.macports.org/ticket/38311#comment:8> MacPorts <http://www.macports.org/> Ports system for OS X
#38311: libstdcxx +universal configure failure ------------------------+------------------- Reporter: boydb@… | Owner: mww@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.1.3 Resolution: | Keywords: Port: libstdcxx | ------------------------+------------------- Comment (by boydb@…): There is a `clang` binary on my system, the native one at `/usr/bin/clang` rather than a macports one: {{{ $ clang -v Apple clang version 3.0 (tags/Apple/clang-210.3) (based on LLVM 3.0svn) Target: x86_64-apple-darwin10.8.0 Thread model: posix }}} The `gcc42` port doesn't compile on Leopard or later, so I can't add that one. Installing `llvm-gcc42` didn't help the issue, and neither did `clang-3.3`, so it seems to be something more than not finding one of those on the system. -- Ticket URL: <https://trac.macports.org/ticket/38311#comment:9> MacPorts <http://www.macports.org/> Ports system for OS X
#38311: libstdcxx +universal configure failure ------------------------+------------------- Reporter: boydb@… | Owner: mww@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.1.3 Resolution: | Keywords: Port: libstdcxx | ------------------------+------------------- Comment (by larryv@…): Replying to [comment:9 boydb@…]:
There is a `clang` binary on my system, the native one at `/usr/bin/clang` rather than a macports one:
{{{ $ clang -v Apple clang version 3.0 (tags/Apple/clang-210.3) (based on LLVM 3.0svn) Target: x86_64-apple-darwin10.8.0 Thread model: posix }}}
This Clang is too old. `libstdcxx` requires at least clang-425.
Installing `llvm-gcc42` didn't help the issue, and neither did `clang-3.3`, so it seems to be something more than not finding one of those on the system.
Did you specify those compilers when trying to install? {{{ sudo port install libstdcxx +universal configure.compiler=macports-llvm- gcc-4.2 sudo port install libstdcxx +universal configure.compiler=macports- clang-3.3 }}} In the current MacPorts release, the compiler fallback list for Xcode 3.2 is gcc-4.2 > clang > llvm-gcc-4.2 > gcc-4.0 > apple-gcc-4.0, so none of the compilers you tried would have gotten picked up automatically. -- Ticket URL: <https://trac.macports.org/ticket/38311#comment:10> MacPorts <http://www.macports.org/> Ports system for OS X
#38311: libstdcxx +universal configure failure ------------------------+------------------- Reporter: boydb@… | Owner: mww@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.1.3 Resolution: | Keywords: Port: libstdcxx | ------------------------+------------------- Comment (by jmr@…): I suspect boydb is using Xcode 4.2, which would be why gcc-4.2 is not in the fallback list. -- Ticket URL: <https://trac.macports.org/ticket/38311#comment:11> MacPorts <http://www.macports.org/> Ports system for OS X
#38311: libstdcxx +universal configure failure ------------------------+------------------- Reporter: boydb@… | Owner: mww@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.1.3 Resolution: | Keywords: Port: libstdcxx | ------------------------+------------------- Comment (by boydb@…): I gave a go with: {{{ sudo port clean libstdcxx sudo port install clang-3.3 clang_select sudo port select clang mp-clang-3.3 sudo port install libstdcxx +universal configure.compiler=macports- clang-3.3 }}} The `clang_select` did update my clang binary: {{{ $ which clang /opt/local/bin/clang $ clang -v clang version 3.3 (trunk 180025) Target: x86_64-apple-darwin10.8.0 Thread model: posix }}} But doing just `sudo port install libstdcxx +universal` still failed out. I was able to get it to compile correctly with the full command I listed (with the `configure.compiler` option set). So, yay, I've finally got libstdcxx +universal installed! Though as a minor follow-up, should the install of libstdcxx been able to find the Macports clang without me having to explicitly define it? I do have Xcode 4.2 installed on this machine, so is "clang" not on the fallback list for this system? -- Ticket URL: <https://trac.macports.org/ticket/38311#comment:12> MacPorts <http://www.macports.org/> Ports system for OS X
#38311: libstdcxx +universal configure failure ------------------------+------------------- Reporter: boydb@… | Owner: mww@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.1.3 Resolution: | Keywords: Port: libstdcxx | ------------------------+------------------- Comment (by larryv@…): Replying to [comment:12 boydb@…]:
Though as a minor follow-up, should the install of libstdcxx been able to find the Macports clang without me having to explicitly define it? I do have Xcode 4.2 installed on this machine, so is "clang" not on the fallback list for this system?
The fallback list for Xcode 4.2 is clang > llvm-gcc-4.2 > apple-gcc-4.2. However, “clang” refers explicitly to the Clang included with Xcode. The Clang selected by `port select` is “macports-clang”, the use of which is more or less unsupported. We don’t really want users choosing their own compiler. The port should probably append `macports-clang-3.2` to its fallback list, though. -- Ticket URL: <https://trac.macports.org/ticket/38311#comment:13> MacPorts <http://www.macports.org/> Ports system for OS X
participants (1)
-
MacPorts