[MacPorts] #33987: llvm-3.0: -i argument: nstall_name must have a ':' between its symbol names
#33987: llvm-3.0: -i argument: nstall_name must have a ':' between its symbol names -------------------------------------+-------------------------------------- Reporter: ryandesign@… | Owner: jeremyhu@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.0.4 Keywords: tiger | Port: llvm-3.0 -------------------------------------+-------------------------------------- Now that apple-gcc42 can be built on Tiger PowerPC, I tried building llvm-3.0, which failed with the above error. I didn't try the other llvm versions yet but they might be similarly affected. -- Ticket URL: <https://trac.macports.org/ticket/33987> MacPorts <http://www.macports.org/> Ports system for Mac OS
#33987: llvm-3.0: -i argument: nstall_name must have a ':' between its symbol names -------------------------------------+-------------------------------------- Reporter: ryandesign@… | Owner: jeremyhu@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.0.4 Keywords: tiger | Port: llvm-3.0 -------------------------------------+-------------------------------------- Comment(by jeremyhu@…): Install ld64 -- Ticket URL: <https://trac.macports.org/ticket/33987#comment:1> MacPorts <http://www.macports.org/> Ports system for Mac OS
#33987: llvm-3.0: -i argument: nstall_name must have a ':' between its symbol names -------------------------------------+-------------------------------------- Reporter: ryandesign@… | Owner: jeremyhu@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.0.4 Keywords: tiger | Port: llvm-3.0 -------------------------------------+-------------------------------------- Comment(by jeremyhu@…): This is gonna be a PITA to bootstrap properly if we ever decide to support LTO on Tiger... FWIW, I don't think clang's ppc support is quite there yet. I wouldn't expect to use it for anything other than intel. -- Ticket URL: <https://trac.macports.org/ticket/33987#comment:2> MacPorts <http://www.macports.org/> Ports system for Mac OS
#33987: llvm ports require port:ld64 to build on Tiger -------------------------------------+-------------------------------------- Reporter: ryandesign@… | Owner: jeremyhu@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.0.4 Keywords: tiger | Port: llvm-3.0 -------------------------------------+-------------------------------------- -- Ticket URL: <https://trac.macports.org/ticket/33987#comment:3> MacPorts <http://www.macports.org/> Ports system for Mac OS
#33987: llvm ports require port:ld64 to build on Tiger -------------------------------------+-------------------------------------- Reporter: ryandesign@… | Owner: jeremyhu@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.0.4 Keywords: tiger | Port: llvm-3.0 -------------------------------------+-------------------------------------- Comment(by jeremyhu@…): This is blocked by #34006 ... it seems llvm-3.0 doesn't want to build on Tiger/ppc because it's trying to branch too far. Can you please try building llvm-2.9, or maybe we can use -Os when building llvm-3.0 (if we're not already). If llvm-2.9 works, we can use that as the default llvm for Tiger/ppc in cctools. -- Ticket URL: <https://trac.macports.org/ticket/33987#comment:4> MacPorts <http://www.macports.org/> Ports system for Mac OS
#33987: llvm ports require port:ld64 to build on Tiger -------------------------------------+-------------------------------------- Reporter: ryandesign@… | Owner: jeremyhu@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.0.4 Keywords: tiger | Port: llvm-3.0 -------------------------------------+-------------------------------------- Comment(by ilia_2s@…): Same problem PPC/11.04. Any solution? -- Ticket URL: <https://trac.macports.org/ticket/33987#comment:5> MacPorts <http://www.macports.org/> Ports system for Mac OS
#33987: llvm ports require port:ld64 to build on Tiger -------------------------------------+-------------------------------------- Reporter: ryandesign@… | Owner: jeremyhu@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.0.4 Keywords: tiger | Port: llvm-3.0 -------------------------------------+-------------------------------------- Comment(by ilia_2s@…): sorry, my os ver. 10.4.11 -- Ticket URL: <https://trac.macports.org/ticket/33987#comment:6> MacPorts <http://www.macports.org/> Ports system for Mac OS
#33987: llvm ports require port:ld64 to build on Tiger -------------------------------------+-------------------------------------- Reporter: ryandesign@… | Owner: jeremyhu@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.0.4 Keywords: tiger | Port: llvm-3.0 -------------------------------------+-------------------------------------- Comment(by ilia_2s@…): llvm-2.9 builds successfully! -- Ticket URL: <https://trac.macports.org/ticket/33987#comment:7> MacPorts <http://www.macports.org/> Ports system for Mac OS
#33987: llvm ports require port:ld64 to build on Tiger -------------------------------------+-------------------------------------- Reporter: ryandesign@… | Owner: jeremyhu@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.0.4 Keywords: tiger | Port: llvm-3.0 -------------------------------------+-------------------------------------- Comment(by jeremyhu@…): cctools now uses llvm-2.9 on Tiger/ppc (r92277) I saw this issue with Leopard/ppc on llvm-3.1 which is why llvm-3.1's supported archs are intel. I do not see this issue with Leopard/ppc on llvm-3.0. Do you see this if you do build llvm-3.0 as: {{{ sudo port -v install ld64 cctools sudo port -v install llvm-3.0 configure.compiler=apple-gcc-4.2 }}} I'm wondering if perhaps the newer linker is smarter about reordering to address this issue. That might explain why 3.0 built on Leopard. Additionally, try changing the optimization level from -O2 to -Os -- Ticket URL: <https://trac.macports.org/ticket/33987#comment:8> MacPorts <http://www.macports.org/> Ports system for Mac OS
#33987: llvm-3.0 fails to build on Tiger/ppc -------------------------------------+-------------------------------------- Reporter: ryandesign@… | Owner: jeremyhu@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.0.4 Keywords: tiger | Port: llvm-3.0 -------------------------------------+-------------------------------------- -- Ticket URL: <https://trac.macports.org/ticket/33987#comment:9> MacPorts <http://www.macports.org/> Ports system for Mac OS
#33987: llvm-3.0 fails to build on Tiger/ppc -------------------------------------+-------------------------------------- Reporter: ryandesign@… | Owner: jeremyhu@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.0.4 Keywords: tiger | Port: llvm-3.0 -------------------------------------+-------------------------------------- Comment(by jeremyhu@…): Also, please make sure that your ld64 port is version 85 and not 62. I pushed a bunch of ld64 changes over the weekend, primarily to help out Tiger. The new version should support LTO and was considered good enough to be the default linker in the final version of XCode shipped on Leopard. -- Ticket URL: <https://trac.macports.org/ticket/33987#comment:10> MacPorts <http://www.macports.org/> Ports system for Mac OS
#33987: llvm-3.0 fails to build on Tiger/ppc -------------------------------------+-------------------------------------- Reporter: ryandesign@… | Owner: jeremyhu@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.0.4 Keywords: tiger | Port: llvm-3.0 -------------------------------------+-------------------------------------- Comment(by jeremyhu@…): Please try this, and if it works, try removing the --disable-debug-symbols to see if it still works {{{ Index: Portfile =================================================================== --- Portfile (revision 92290) +++ Portfile (working copy) @@ -65,7 +65,9 @@ if {${configure.compiler} == "gcc-4.0"} { configure.compiler gcc-4.2 if {![file exists ${configure.cc}]} { - depends_build-append port:apple-gcc42 + depends_build-append port:apple-gcc42 port:ld64 port:cctools + depends_skip_archcheck-append apple-gcc42 ld64 cctools + configure.compiler apple-gcc-4.2 } } @@ -95,10 +97,18 @@ platform darwin { if {${build_arch} == "i386" } { configure.pre_args-append --build=i686-apple-darwin${os.major} + } elseif {${build_arch} == "ppc" } { + configure.pre_args-append --build=powerpc-apple-darwin${os.major} + } elseif {${build_arch} == "ppc64" } { + configure.pre_args-append --build=powerpc64-apple- darwin${os.major} } else { configure.pre_args-append --build=${build_arch}-apple- darwin${os.major} } + if {[string match "*ppc*" [get_canonical_archs]]} { + configure.args-append --with-optimize-option=-Os --disable-debug- symbols + } + post-destroot { foreach liba [glob ${destroot}${sub_prefix}/lib/*dylib] { set liba_nodr [string map "${destroot} {}" ${liba}] }}} -- Ticket URL: <https://trac.macports.org/ticket/33987#comment:11> MacPorts <http://www.macports.org/> Ports system for Mac OS
#33987: llvm-3.0 fails to build on Tiger/ppc -------------------------------------+-------------------------------------- Reporter: ryandesign@… | Owner: jeremyhu@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.0.4 Keywords: tiger | Port: llvm-3.0 -------------------------------------+-------------------------------------- Comment(by jeremyhu@…): ping ... any update on this? I don't have a ppc machine to test with, so if this is going to be fixed, you're going to need to help make this iterative loop much tighter. -- Ticket URL: <https://trac.macports.org/ticket/33987#comment:12> MacPorts <http://www.macports.org/> Ports system for Mac OS
#33987: llvm-3.0 fails to build on Tiger/ppc -------------------------------------+-------------------------------------- Reporter: ryandesign@… | Owner: jeremyhu@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.0.4 Keywords: tiger | Port: llvm-3.0 -------------------------------------+-------------------------------------- Comment(by darylew@…): Replying to [comment:12 jeremyhu@…]:
ping ... any update on this? I don't have a ppc machine to test with, so if this is going to be fixed, you're going to need to help make this iterative loop much tighter.
I've finally cleared some delays. Where is this "Portfile" located? Do I have to try installing llvm-3.0 at least once first? -- Ticket URL: <https://trac.macports.org/ticket/33987#comment:13> MacPorts <http://www.macports.org/> Ports system for Mac OS
#33987: llvm-3.0 fails to build on Tiger/ppc -------------------------------------+-------------------------------------- Reporter: ryandesign@… | Owner: jeremyhu@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.0.4 Keywords: tiger | Port: llvm-3.0 -------------------------------------+-------------------------------------- Comment(by ryandesign@…): Replying to [comment:13 darylew@…]:
Where is this "Portfile" located?
Its location is printed by the command: {{{ port file llvm-3.0 }}}
Do I have to try installing llvm-3.0 at least once first?
You should patch the Portfile with the [comment:11 above patch], then try installing it. Jeremy, I'll do that now too. -- Ticket URL: <https://trac.macports.org/ticket/33987#comment:14> MacPorts <http://www.macports.org/> Ports system for Mac OS
#33987: llvm-3.0 fails to build on Tiger/ppc -------------------------------------+-------------------------------------- Reporter: ryandesign@… | Owner: jeremyhu@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.0.4 Keywords: tiger | Port: llvm-3.0 -------------------------------------+-------------------------------------- Comment(by darylew@…): It worked: {{{ [daryle]$ edit +95 `port file llvm-3.0` [daryle]$ sudo port install llvm-3.0 Password: ---> Computing dependencies for llvm-3.0 ---> Fetching archive for llvm-3.0 ---> Attempting to fetch llvm-3.0-3.0_4.darwin_8.ppc.tbz2 from http://packages.macports.org/llvm-3.0 ---> Fetching llvm-3.0 ---> Verifying checksum(s) for llvm-3.0 ---> Extracting llvm-3.0 ---> Applying patches to llvm-3.0 ---> Configuring llvm-3.0 ---> Building llvm-3.0 ---> Staging llvm-3.0 into destroot ---> Installing llvm-3.0 @3.0_4 ---> Activating llvm-3.0 @3.0_4 ---> Cleaning llvm-3.0 [daryle]$ }}} The altered "Portfile" has the "--disable-debug-symbols" setting on. So, do I have to uninstall LLVM before trying again without "--disable-debug- symbols"? What about installing CLang? -- Ticket URL: <https://trac.macports.org/ticket/33987#comment:15> MacPorts <http://www.macports.org/> Ports system for Mac OS
#33987: llvm-3.0 fails to build on Tiger/ppc -------------------------------------+-------------------------------------- Reporter: ryandesign@… | Owner: jeremyhu@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.0.4 Keywords: tiger | Port: llvm-3.0 -------------------------------------+-------------------------------------- Changes (by ryandesign@…): * cc: ilia_2s@…, darylew@… (added) Comment: Replying to [comment:15 darylew@…]:
It worked:
Great!
The altered "Portfile" has the "--disable-debug-symbols" setting on. So, do I have to uninstall LLVM before trying again without "--disable- debug-symbols"?
It would probably be enough to remove --disable-debug-symbols, then: {{{ sudo port deactivate llvm-3.0 sudo port destroot llvm-3.0 }}} If it fails and you want to get back to using the llvm-3.0 you already successfully built, you can then: {{{ sudo port activate llvm-3.0 }}}
What about installing CLang?
I don't know. You could try installing it. This ticket is about the llvm-3.0 port only. -- Ticket URL: <https://trac.macports.org/ticket/33987#comment:16> MacPorts <http://www.macports.org/> Ports system for Mac OS
#33987: llvm-3.0 fails to build on Tiger/ppc -------------------------------------+-------------------------------------- Reporter: ryandesign@… | Owner: jeremyhu@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.0.4 Keywords: tiger | Port: llvm-3.0 -------------------------------------+-------------------------------------- Comment(by jeremyhu@…): clang will suffer from the same fate. Please let me know how it goes without '--disable-debug-symbols' -- Ticket URL: <https://trac.macports.org/ticket/33987#comment:17> MacPorts <http://www.macports.org/> Ports system for Mac OS
#33987: llvm-3.0 fails to build on Tiger/ppc -------------------------------------+-------------------------------------- Reporter: ryandesign@… | Owner: jeremyhu@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.0.4 Keywords: tiger | Port: llvm-3.0 -------------------------------------+-------------------------------------- Comment(by darylew@…): Replying to [comment:16 ryandesign@…]:
Replying to [comment:15 darylew@…]:
The altered "Portfile" has the "--disable-debug-symbols" setting on. So, do I have to uninstall LLVM before trying again without "--disable- debug-symbols"?
It would probably be enough to remove --disable-debug-symbols, then: {{{ sudo port deactivate llvm-3.0 sudo port destroot llvm-3.0 }}}
If it fails and you want to get back to using the llvm-3.0 you already successfully built, you can then:
{{{ sudo port activate llvm-3.0 }}} It worked again: {{{ ---> Cleaning llvm-3.0 [daryle]$ sudo edit `port file llvm-3.0` Password: [daryle]$ sudo port deactivate llvm-3.0 ---> Deactivating llvm-3.0 @3.0_4 ---> Cleaning llvm-3.0 [daryle]$ sudo port destroot llvm-3.0 ---> Computing dependencies for llvm-3.0 ---> Fetching llvm-3.0 ---> Verifying checksum(s) for llvm-3.0 ---> Extracting llvm-3.0 ---> Applying patches to llvm-3.0 ---> Configuring llvm-3.0 ---> Building llvm-3.0 ---> Staging llvm-3.0 into destroot [daryle]$ }}} Do I keep this new variant, or switch back to the old one? I guess clearing all inactive ports will purge the one I don't choose. -- Ticket URL: <https://trac.macports.org/ticket/33987#comment:18> MacPorts <http://www.macports.org/> Ports system for Mac OS
#33987: llvm-3.0 fails to build on Tiger/ppc -------------------------------------+-------------------------------------- Reporter: ryandesign@… | Owner: jeremyhu@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.0.4 Keywords: tiger | Port: llvm-3.0 -------------------------------------+-------------------------------------- Comment(by darylew@…): Replying to [comment:17 jeremyhu@…]:
clang will suffer from the same fate. Please let me know how it goes without '--disable-debug-symbols'
Do you want me to make the same alterations to clang's "Portfile" that LLVM got? Do you want only the variant without "--disable-debug-symbols", or do you want to try both ways? -- Ticket URL: <https://trac.macports.org/ticket/33987#comment:19> MacPorts <http://www.macports.org/> Ports system for Mac OS
#33987: llvm-3.0 fails to build on Tiger/ppc --------------------------------------+------------------------------------- Reporter: ryandesign@… | Owner: jeremyhu@… Type: defect | Status: closed Priority: Normal | Milestone: Component: ports | Version: 2.0.4 Resolution: fixed | Keywords: tiger Port: llvm-3.0 | --------------------------------------+------------------------------------- Changes (by jeremyhu@…): * status: new => closed * resolution: => fixed Comment: r92674 should work based on the information above. You should be able to just 'port selfupdate' and go from there. Note that powerpc codegen in llvm is a bit lacking. I made some improvements which are in 3.1, but 'long double' is still not correct. Older versions would generate bad values for many floating point types. Newer versions of llvm do the correct thing for float and double and will abort() on long double rather than generating bad code. http://llvm.org/bugs/show_bug.cgi?id=11933 -- Ticket URL: <https://trac.macports.org/ticket/33987#comment:20> MacPorts <http://www.macports.org/> Ports system for Mac OS
participants (1)
-
MacPorts