Opened 3 years ago
Closed 3 years ago
#63784 closed defect (fixed)
clang-3.4 ↔︎ llvm-3.4 dependency cycle
Reported by: | ryandesign (Ryan Carsten Schmidt) | Owned by: | mascguy (Christopher Nielsen) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.7.1 |
Keywords: | snowleopard | Cc: | kencu (Ken), fhgwright (Fred Wright), cjones051073 (Chris Jones) |
Port: | llvm-3.4 perl5 |
Description
I initially could not upgrade clang-3.4 from @3.4.2_15 to @3.4.2_16 on the 10.6 i386 buildbot worker machine. There were lots of these errors:
/bin/sh: line 1: 64780 Trace/BPT trap
And then:
make/platform/clang_linux.mk:16: *** "unable to infer compiler target triple for /opt/bblocal/var/macports/build/_opt_bblocal_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_lang_llvm-3.4/clang-3.4/work/build/Release/bin/clang". Stop.
It did not attempt to upgrade llvm-3.4 first because there is a dependency cycle: llvm-3.4 → perl5 → perl5.28 → (clang-3.7 and xz) → clang-3.4 → llvm-3.4
When I first upgraded llvm-3.4 from @3.4.2_14 to @3.4.2_15, then clang-3.4 succeeded upgrading. So it's just the dependency cycle that needs to be resolved.
Attachments (1)
Change History (23)
comment:1 Changed 3 years ago by jmroot (Joshua Root)
Cc: | kencu added |
---|---|
Port: | perl5 added |
comment:2 Changed 3 years ago by ryandesign (Ryan Carsten Schmidt)
Well then for whatever reason when I ran sudo port upgrade outdated
, it started upgrading clang-3.4 before having attempted to upgrade llvm-3.4 and it failed to build which resulted in me conducting the investigation that led me to file this bug report.
Changed 3 years ago by ryandesign (Ryan Carsten Schmidt)
Attachment: | main.log.bz2 added |
---|
comment:3 Changed 3 years ago by mascguy (Christopher Nielsen)
Cc: | mascguy added |
---|
comment:4 Changed 3 years ago by mascguy (Christopher Nielsen)
This new issue is now biting us, relative to our python27-bootstrap
-related PR:
https://github.com/macports/macports-ports/pull/7074#issuecomment-960305684
comment:5 Changed 3 years ago by fhgwright (Fred Wright)
Cc: | fhgwright added |
---|
comment:6 Changed 3 years ago by fhgwright (Fred Wright)
Although both this issue and the PR issue relate to a circular dependency with clang-3.4
, this one doesn't look like quite the same problem as the PR, since in the latter case, llvm-3.4
was already successfully built and installed prior to the failure.
comment:7 follow-up: 8 Changed 3 years ago by kencu (Ken)
I believe the problem is likely still with the openssl
shim port.
In this ticket 63616 Josh asked Chris to clear the compiler.cxx_standard
, which was done:
but that does not fix the issue and I believe Josh meant to clear configure.cxx_stdlib
instead, like this:
comment:8 Changed 3 years ago by mascguy (Christopher Nielsen)
Replying to kencu:
but that does not fix the issue and I believe Josh meant to clear
configure.cxx_stdlib
instead, like this:
So should we essentially copy-pasta the same logic from that change, into the openssl
shim port?
if {${os.platform} eq "darwin" && ${os.major} < 11} { # Having the stdlib set to libc++ on 10.6 causes a dependency on a # macports-clang compiler to be added, which would be a dep cycle. configure.cxx_stdlib }
comment:10 Changed 3 years ago by mascguy (Christopher Nielsen)
Owner: | set to cjones051073 |
---|---|
Status: | new → assigned |
comment:11 follow-up: 12 Changed 3 years ago by cjones051073 (Chris Jones)
please by all means someone make the suggested change. I'm not in a position to do it myself right now.
comment:12 Changed 3 years ago by mascguy (Christopher Nielsen)
Cc: | cjones051073 added; mascguy removed |
---|---|
Owner: | changed from cjones051073 to mascguy |
Replying to cjones051073:
please by all means someone make the suggested change. I'm not in a position to do it myself right now.
No worries, happy to take care of it!
Just to confirm though, should we also leave the original fix - clearing of compiler.cxx_standard
- in place as well?
comment:13 Changed 3 years ago by Christopher Nielsen <mascguy@…>
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
comment:14 follow-up: 15 Changed 3 years ago by cjones051073 (Chris Jones)
Thanks. I think though you should remove the clearing of compiler.cxx_standard - I am pretty sure now that was a mistake on Josh's/my part.
comment:15 Changed 3 years ago by mascguy (Christopher Nielsen)
Replying to cjones051073:
Thanks. I think though you should remove the clearing of compiler.cxx_standard - I am pretty sure now that was a mistake on Josh's/my part.
Sounds good to me, I can take care of this later this afternoon. Josh, are you OK with me removing that?
comment:16 follow-ups: 17 18 Changed 3 years ago by jmroot (Joshua Root)
Clearing compiler.cxx_standard also clears configure.cxx_stdlib, so I don't see how the commit would have helped. A circular dependency still exists: clang-3.4 -> python27-bootstrap -> openssl -> pkgconfig -> clang-3.4
comment:17 Changed 3 years ago by kencu (Ken)
Replying to jmroot:
Clearing compiler.cxx_standard also clears configure.cxx_stdlib
Oh.
Learn something new every day then.
Back to you, Chris et al.
comment:18 Changed 3 years ago by mascguy (Christopher Nielsen)
Resolution: | fixed |
---|---|
Status: | closed → reopened |
Replying to jmroot:
Clearing compiler.cxx_standard also clears configure.cxx_stdlib, so I don't see how the commit would have helped. A circular dependency still exists: clang-3.4 -> python27-bootstrap -> openssl -> pkgconfig -> clang-3.4
Okay, we give up. Can you tell us the secret fix? We know you're dying to share it... ;-)
comment:19 follow-up: 20 Changed 3 years ago by cjones051073 (Chris Jones)
I have no access to these ancient OSes so cannot really help here.
comment:20 Changed 3 years ago by mascguy (Christopher Nielsen)
Replying to cjones051073:
I have no access to these ancient OSes so cannot really help here.
I have both a physical 10.6_x32 installation (via an ancient MacBookPro 17), as well as a virtual 10.6_x64. So I'm happy to help with testing, if someone can provide a suggested fix...
comment:21 Changed 3 years ago by jmroot (Joshua Root)
Doesn't seem like pkgconfig is needed to create symlinks…
comment:22 Changed 3 years ago by jmroot (Joshua Root)
Resolution: | → fixed |
---|---|
Status: | reopened → closed |
There shouldn't be an actual circular dependency because the llvm-3.4 → perl5 dependency is
bin:perl:perl5
.