#34413 closed defect (fixed)
circular dependency between cctools and llvm-2.9
Reported by: | ryandesign (Ryan Carsten Schmidt) | Owned by: | jeremyhu (Jeremy Huddleston Sequoia) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.0.4 |
Keywords: | tiger | Cc: | p3k (Tobi Schäfer), ultrajoe@… |
Port: | cctools, llvm-2.9 |
Description
cctools depends on llvm-2.9 and llvm-2.9 depends on cctools.
The gcc4x ports depend on cctools, so I can't install or upgrade any gcc4x port.
Change History (13)
comment:1 Changed 13 years ago by jeremyhu (Jeremy Huddleston Sequoia)
comment:2 Changed 13 years ago by jeremyhu (Jeremy Huddleston Sequoia)
I guess we'll need to make a +bootstrap variant for cctools on Tiger as well...
comment:4 follow-up: 6 Changed 12 years ago by ultrajoe@…
apple-gcc42 is also affected by this loop.
comment:6 follow-up: 8 Changed 12 years ago by jeremyhu (Jeremy Huddleston Sequoia)
Replying to ultrajoe@…:
apple-gcc42 is also affected by this loop.
Can you please clarify. As I see it, you should be able to install on Tiger using the following order:
apple-gcc42+bootstrap ld64 cctools apple-gcc42 llvm-3.0 ld64+llvm30 cctools+llvm30
comment:7 Changed 12 years ago by ultrajoe@…
Will try that when I get home.
If you simply port upgrade outdated
, though, the port
command will eventually error out because of the loop. I have cctools and ld64 installed, but not any version of llvm.
comment:8 follow-up: 9 Changed 12 years ago by ultrajoe@…
Replying to jeremyhu@…:
Replying to ultrajoe@…:
apple-gcc42 is also affected by this loop.
Can you please clarify. As I see it, you should be able to install on Tiger using the following order:
apple-gcc42+bootstrap ld64 cctools apple-gcc42 llvm-3.0 ld64+llvm30 cctools+llvm30
Still building, as apple-gcc42 takes over 6 hours to build on my ancient PowerMac.
I did find out that the initial install/upgrade of ld64 must be the -llvm29
"variant," lest the lack of llvm anywhere on Tiger causes an issue. (I might be done by now had I known that.)
comment:9 follow-up: 10 Changed 12 years ago by ultrajoe@…
Replying to ultrajoe@…:
I did find out that the initial install/upgrade of ld64 must be the
-llvm29
"variant," lest the lack of llvm anywhere on Tiger causes an issue. (I might be done by now had I known that.)
Ergo -llvm29
= +bootstrap
, to get back to the original problem report.
comment:10 follow-up: 11 Changed 12 years ago by jeremyhu (Jeremy Huddleston Sequoia)
Resolution: | → fixed |
---|---|
Status: | new → closed |
Replying to ultrajoe@…:
Replying to ultrajoe@…:
I did find out that the initial install/upgrade of ld64 must be the
-llvm29
"variant," lest the lack of llvm anywhere on Tiger causes an issue. (I might be done by now had I known that.)
Right, this is why on Tiger, ld64 does not set +llvmXX as a default variant and includes this comment:
# We don't set llvmXX as the default variant on Tiger because it would introduce a # dependency cycle as llvm requires apple-gcc42 and ld64 to build correctly. Users # wanting LTO support in ld64 on Tiger can install the +llvm variant after llvm # has been installed.
Ergo
-llvm29
=+bootstrap
, to get back to the original problem report.
Huh?
Anyways, r93318
comment:11 Changed 12 years ago by ultrajoe@…
Replying to jeremyhu@…:
Replying to ultrajoe@…:
Replying to ultrajoe@…:
I did find out that the initial install/upgrade of ld64 must be the
-llvm29
"variant," lest the lack of llvm anywhere on Tiger causes an issue. (I might be done by now had I known that.)Right, this is why on Tiger, ld64 does not set +llvmXX as a default variant and includes this comment:
# We don't set llvmXX as the default variant on Tiger because it would introduce a # dependency cycle as llvm requires apple-gcc42 and ld64 to build correctly. Users # wanting LTO support in ld64 on Tiger can install the +llvm variant after llvm # has been installed.Ergo
-llvm29
=+bootstrap
, to get back to the original problem report.Huh?
I'm saying the same thing. When I tried reloading ld64, per your instructions in comment 6, it bailed out because it couldn't find llvm-2.9. I see the code & comment in the Portfile, but my configuration didn't seem to care. I had to port install ld64 -llvm29
(i.e., forcibly disable +llvm29) to get it to build on Tiger PPC. That sounded like the +bootstrap
idea you had in comment 2.
Anyways, r93318
After fighting the 2.10 mess (#34463) and this, perhaps I should just backtrack to the previously installed & activated versions of everything and wait a few weeks or months or more to risk any further upgrades on my old Sawtooth G4.
comment:12 follow-up: 13 Changed 12 years ago by ultrajoe@…
I'm a dummy. I just perused my bash history, and discovered it wasn't ld64 that I had to build with -llvm29
, but cctools!!!
Sorry for the confusion.
comment:13 Changed 12 years ago by jeremyhu (Jeremy Huddleston Sequoia)
Replying to ultrajoe@…:
After fighting the 2.10 mess (#34463) and this, perhaps I should just backtrack to the previously installed & activated versions of everything and wait a few weeks or months or more to risk any further upgrades on my old Sawtooth G4.
It's highly unlikely that things will magically start working for such a dated config. Issues do not go away on their own. You are one of 3 people that report bugs on Tiger/ppc, and the other 2 don't use it as a primary machine. If you care about Tiger/ppc, you need to at minimum report and track down issues.
Replying to ultrajoe@…:
I'm a dummy. I just perused my bash history, and discovered it wasn't ld64 that I had to build with
-llvm29
, but cctools!!!Sorry for the confusion.
No worries. Then this should definitely be tackled by r93318 which does the same thing for cctools that we were doing on ld64 (namely turning off llvm by default on Tiger)
Install cctools without llvm first...