[MacPorts] #42899: llvm-gcc42 fails to install after installing Xcode 5.1
#42899: llvm-gcc42 fails to install after installing Xcode 5.1 ---------------------------------+-------------------------------- Reporter: tcollett+macports@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.2.1 Keywords: | Port: llvm-gcc42 ---------------------------------+-------------------------------- When attempting to install the llvm-gcc42 port (upon which various others depend) after installing Xcode 5.1 and the corresponding version of clang ("Apple LLVM version 5.1 (clang-503.0.38) (based on LLVM 3.4svn)"), it fails with the following error: {{{ /usr/bin/clang++ -pipe -stdlib=libstdc++ -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports .org_release_tarballs_ports_lang_llvm-gcc42/llvm-gcc42/work/objroot/obj- llvmCore/obj-llvm/include -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports .org_release_tarballs_ports_lang_llvm-gcc42/llvm-gcc42/work/objroot/obj- llvmCore/obj-llvm/lib/Transforms/Hello -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports .org_release_tarballs_ports_lang_llvm-gcc42/llvm-gcc42/work/objroot/obj- llvmCore/src/include -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports .org_release_tarballs_ports_lang_llvm-gcc42/llvm-gcc42/work/objroot/obj- llvmCore/src/lib/Transforms/Hello -DNDEBUG -D_GNU_SOURCE -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS -O2 -g -fno-exceptions -fno-common -Woverloaded-virtual -DLLVM_VERSION_INFO='" Apple Build #2336-11"' -mmacosx-version-min=10.9 -pedantic -Wno-long-long -Wall -W -Wno-unused-parameter -Wwrite-strings -arch i386 -arch x86_64 -O2 -g -module -Wl,-rpath -Wl,/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports .org_release_tarballs_ports_lang_llvm-gcc42/llvm-gcc42/work/objroot/obj- llvmCore/obj-llvm/Release+Debug-Asserts/lib -L/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports .org_release_tarballs_ports_lang_llvm-gcc42/llvm-gcc42/work/objroot/obj- llvmCore/obj-llvm/Release+Debug-Asserts/lib -L/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports .org_release_tarballs_ports_lang_llvm-gcc42/llvm-gcc42/work/objroot/obj- llvmCore/obj-llvm/Release+Debug-Asserts/lib -Wl,-flat_namespace -Wl,-undefined -Wl,suppress -dynamiclib -mmacosx-version-min=10.9 -o /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports .org_release_tarballs_ports_lang_llvm-gcc42/llvm-gcc42/work/objroot/obj- llvmCore/obj-llvm/Release+Debug-Asserts/lib/LLVMHello.dylib /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports .org_release_tarballs_ports_lang_llvm-gcc42/llvm-gcc42/work/objroot/obj- llvmCore/obj-llvm/lib/Transforms/Hello/Release+Debug-Asserts/Hello.o \ -lpthread -lm In file included from /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports .org_release_tarballs_ports_lang_llvm-gcc42/llvm-gcc42/work/objroot/obj- llvmCore/src/lib/Transforms/InstCombine/InstCombineSelect.cpp:14: In file included from /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports .org_release_tarballs_ports_lang_llvm-gcc42/llvm-gcc42/work/objroot/obj- llvmCore/src/lib/Transforms/InstCombine/InstCombine.h:13: In file included from /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports .org_release_tarballs_ports_lang_llvm-gcc42/llvm-gcc42/work/objroot/obj- llvmCore/src/lib/Transforms/InstCombine/InstCombineWorklist.h:18: /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports .org_release_tarballs_ports_lang_llvm-gcc42/llvm-gcc42/work/objroot/obj- llvmCore/src/include/llvm/ADT/DenseMap.h:387:18: warning: explicitly assigning a variable of type 'bool' to itself [-Wself-assign] FoundVal = FoundVal; // silence warning. ~~~~~~~~ ^ ~~~~~~~~ clang: error: unknown argument: '-module' [-Wunused-command-line-argument- hard-error-in-future] clang: note: this will be a hard error (cannot be downgraded to a warning) in the future make[5]: *** [/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports .org_release_tarballs_ports_lang_llvm-gcc42/llvm-gcc42/work/objroot/obj- llvmCore/obj-llvm/Release+Debug-Asserts/lib/LLVMHello.dylib] Error 1 }}} -- Ticket URL: <https://trac.macports.org/ticket/42899> MacPorts <http://www.macports.org/> Ports system for OS X
#42899: llvm-gcc42 fails to install after installing Xcode 5.1 ----------------------------------+------------------------ Reporter: tcollett+macports@… | Owner: jeremyhu@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.2.1 Resolution: | Keywords: Port: llvm-gcc42 | ----------------------------------+------------------------ Changes (by macsforever2000@…): * cc: erickt@… (added) * owner: macports-tickets@… => jeremyhu@… Comment: In the future, please Cc the port maintainers ({{{port info --maintainers llvm-gcc42}}}). -- Ticket URL: <https://trac.macports.org/ticket/42899#comment:1> MacPorts <http://www.macports.org/> Ports system for OS X
#42899: llvm-gcc42 fails to install after installing Xcode 5.1 ----------------------------------+------------------------ Reporter: tcollett+macports@… | Owner: jeremyhu@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.2.1 Resolution: | Keywords: Port: llvm-gcc42 | ----------------------------------+------------------------ Comment (by jeremyhu@…): meh. should just add -Wno-unused-command-line-argument-hard-error-in-future to configure.cflags. -- Ticket URL: <https://trac.macports.org/ticket/42899#comment:3> MacPorts <http://www.macports.org/> Ports system for OS X
#42899: llvm-gcc42 fails to install after installing Xcode 5.1 ----------------------------------+------------------------ Reporter: tcollett+macports@… | Owner: jeremyhu@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.2.1 Resolution: | Keywords: Port: llvm-gcc42 | ----------------------------------+------------------------ Comment (by jeremyhu@…): IMO, the real bug is with whatever is still trying to use this ancient relic. There's no good reason that we should still have to keep llvm-gcc on life support like this. -- Ticket URL: <https://trac.macports.org/ticket/42899#comment:4> MacPorts <http://www.macports.org/> Ports system for OS X
#42899: llvm-gcc42 fails to install after installing Xcode 5.1 ----------------------------------+------------------------ Reporter: tcollett+macports@… | Owner: jeremyhu@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.2.1 Resolution: | Keywords: Port: llvm-gcc42 | ----------------------------------+------------------------ Changes (by ryandesign@…): * cc: ryandesign@… (added) Comment: Replying to [comment:4 jeremyhu@…]:
IMO, the real bug is with whatever is still trying to use this ancient relic. There's no good reason that we should still have to keep llvm-gcc on life support like this.
There absolutely is. Some ports blacklist clang, and llvm-gcc is the next best fallback MacPorts tries. Unless you would prefer that we remove that fallback and fallback to apple-gcc-4.2 instead? Yes, ideally ports would be fixed to compile with clang, but not everyone is proficient enough in C/C++ to accomplish that immediately, and often blacklisting clang is the simplest way to get a port to build immediately. -- Ticket URL: <https://trac.macports.org/ticket/42899#comment:6> MacPorts <http://www.macports.org/> Ports system for OS X
#42899: llvm-gcc42 fails to install after installing Xcode 5.1 ----------------------------------+------------------------ Reporter: tcollett+macports@… | Owner: jeremyhu@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.2.1 Resolution: | Keywords: Port: llvm-gcc42 | ----------------------------------+------------------------ Comment (by thorbenj-macports@…): Adding "-Wunused-command-line-argument-hard-error-in-future" doesn't work: {{{ :info:build clang: error: unknown argument: '-module' [-Wunused-command- line-argument-hard-error-in-future] :info:build clang: note: this will be a hard error (cannot be downgraded to a warning) in the future }}} OR, maybe port invocation is to blame: {{{ # port install llvm-gcc42 configure.cflags-append "-Wno-unused-command- line-argument-hard-error-in-future" }}} Which is what I understood from: https://guide.macports.org/chunked/reference.phases.html#reference.phases.in... -- Ticket URL: <https://trac.macports.org/ticket/42899#comment:7> MacPorts <http://www.macports.org/> Ports system for OS X
#42899: llvm-gcc42 fails to install after installing Xcode 5.1 ----------------------------------+------------------------ Reporter: tcollett+macports@… | Owner: jeremyhu@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.2.1 Resolution: | Keywords: Port: llvm-gcc42 | ----------------------------------+------------------------ Comment (by ryandesign@…): Replying to [comment:7 thorbenj-macports@…]:
OR, maybe port invocation is to blame:
{{{ # port install llvm-gcc42 configure.cflags-append "-Wno-unused-command- line-argument-hard-error-in-future" }}}
Which is what I understood from: https://guide.macports.org/chunked/reference.phases.html#reference.phases.in...
If that's the command you ran, certainly you should not do that. Just run "sudo port install llvm-gcc42". Overriding portfile variables at the command line is not supported. -- Ticket URL: <https://trac.macports.org/ticket/42899#comment:9> MacPorts <http://www.macports.org/> Ports system for OS X
#42899: llvm-gcc42 fails to install after installing Xcode 5.1 ----------------------------------+------------------------ Reporter: tcollett+macports@… | Owner: jeremyhu@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.2.1 Resolution: | Keywords: Port: llvm-gcc42 | ----------------------------------+------------------------ Comment (by jeremyhu@…): Replying to [comment:6 ryandesign@…]:
Replying to [comment:4 jeremyhu@…]:
IMO, the real bug is with whatever is still trying to use this ancient relic. There's no good reason that we should still have to keep llvm-gcc on life support like this.
There absolutely is. Some ports blacklist clang, and llvm-gcc is the next best fallback MacPorts tries.
Yes. That's my point. Some ports blacklist clang. Those ports really need to be fixed to build with clang. Unless you would prefer that we remove that fallback and fallback to apple-gcc-4.2 instead? No. I would prefer it if ports were updated to not depend on a 7 year old compiler.
Yes, ideally ports would be fixed to compile with clang, but not everyone is proficient enough in C/C++ to accomplish that immediately, and often blacklisting clang is the simplest way to get a port to build immediately.
Yes, but that is not a long-term solution. Such ports have been that way for 3+ years now. They need to be fixed. Yes, we should fix llvm-gcc's build, but we also should really fix the dependent ports to not use llvm-gcc. -- Ticket URL: <https://trac.macports.org/ticket/42899#comment:10> MacPorts <http://www.macports.org/> Ports system for OS X
#42899: llvm-gcc42 fails to install after installing Xcode 5.1 ----------------------------------+------------------------ Reporter: tcollett+macports@… | Owner: jeremyhu@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.2.1 Resolution: | Keywords: Port: llvm-gcc42 | ----------------------------------+------------------------ Comment (by thorbenj-macports@…): Obviously I did originally run "# port install llvm-gcc42"* or I would not have ended up on this bug report. (* To be clear, I tried to port install something else first (from KDE4), and that depended on llvm-gcc42) I'd like to point out that comment #3 and #9 contradict each other. If it weren't for comment #3 I would not have tried to override CFLAGS as a possible solution to this bug. -- Ticket URL: <https://trac.macports.org/ticket/42899#comment:11> MacPorts <http://www.macports.org/> Ports system for OS X
#42899: llvm-gcc42 fails to install after installing Xcode 5.1 ----------------------------------+------------------------ Reporter: tcollett+macports@… | Owner: jeremyhu@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.2.1 Resolution: | Keywords: Port: llvm-gcc42 | ----------------------------------+------------------------ Comment (by ryandesign@…): comment:3 doesn't say who should add that or where... -- Ticket URL: <https://trac.macports.org/ticket/42899#comment:12> MacPorts <http://www.macports.org/> Ports system for OS X
#42899: llvm-gcc42 fails to install after installing Xcode 5.1 ----------------------------------+------------------------ Reporter: tcollett+macports@… | Owner: jeremyhu@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.2.1 Resolution: | Keywords: Port: llvm-gcc42 | ----------------------------------+------------------------ Comment (by tcollett+macports@…): It seems to me that whatever the best long-term solution might be, '''as long as llvm-gcc42 is an active port, it should build cleanly on supported systems'''. -- Ticket URL: <https://trac.macports.org/ticket/42899#comment:13> MacPorts <http://www.macports.org/> Ports system for OS X
#42899: llvm-gcc42 fails to install after installing Xcode 5.1 ----------------------------------+------------------------ Reporter: tcollett+macports@… | Owner: jeremyhu@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.2.1 Resolution: | Keywords: Port: llvm-gcc42 | ----------------------------------+------------------------ Comment (by jeremyhu@…): Replying to [comment:13 tcollett+macports@…]:
It seems to me that whatever the best long-term solution might be, '''as long as llvm-gcc42 is an active port, it should build cleanly on supported systems'''.
Nobody is disagreeing with you. It does cleanly build on supported systems. Apple dropped support for llvm-gcc42 quite some time ago. I've continued to make changes to the llvm-gcc42 port to make it usable on newer (and older) systems, but the fact is that the compiler is 7 years old, is not C++11 compatible, and has other major drawbacks. There are a ton of ports that simply don't work on Mavericks because they contain C++ code and blacklist clang. The fact is that "supported" systems for llvm-gcc-4.2 may mean "not the latest systems" at some point very soon. There are plenty of ports that don't build with current tools; llvm-gcc is one of them. When I get some cycles, I'll try to put together a fix to get it building again with recent tools, but port maintainers need to face the fact that they should not be relying on a 7 year old compiler that is clearly no longer supported. -- Ticket URL: <https://trac.macports.org/ticket/42899#comment:14> MacPorts <http://www.macports.org/> Ports system for OS X
#42899: llvm-gcc42 fails to install after installing Xcode 5.1 ----------------------------------+------------------------ Reporter: tcollett+macports@… | Owner: jeremyhu@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.2.1 Resolution: | Keywords: Port: llvm-gcc42 | ----------------------------------+------------------------ Comment (by jmr@…): Replying to [comment:9 ryandesign@…]:
Replying to [comment:7 thorbenj-macports@…]:
OR, maybe port invocation is to blame:
{{{ # port install llvm-gcc42 configure.cflags-append "-Wno-unused- command-line-argument-hard-error-in-future" }}}
Which is what I understood from: https://guide.macports.org/chunked/reference.phases.html#reference.phases.in...
If that's the command you ran, certainly you should not do that. Just run "sudo port install llvm-gcc42". Overriding portfile variables at the command line is not supported.
More to the point, `configure.cflags-append` is not a variable. Also, saying to “just" install the port normally kind of misses the point; the idea was to check if disabling that warning made the build not fail. -- Ticket URL: <https://trac.macports.org/ticket/42899#comment:15> MacPorts <http://www.macports.org/> Ports system for OS X
#42899: llvm-gcc42 fails to install after installing Xcode 5.1 ----------------------------------+------------------------ Reporter: tcollett+macports@… | Owner: jeremyhu@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.2.1 Resolution: | Keywords: Port: llvm-gcc42 | ----------------------------------+------------------------ Comment (by jeremyhu@…): r118148 should address the issue for now, but I'm keeping this open to address it with a proper fix later. -- Ticket URL: <https://trac.macports.org/ticket/42899#comment:16> MacPorts <http://www.macports.org/> Ports system for OS X
participants (1)
-
MacPorts