#56519 closed defect (wontfix)
libcxx database corrupted, universal broken, weird circular dependency
Reported by: | gaming-hacker (G Alexander) | Owned by: | |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.4.3 |
Keywords: | Cc: | jeremyhu (Jeremy Huddleston Sequoia) | |
Port: | libcxx |
Description (last modified by gaming-hacker (G Alexander))
All,
This port is really hosed, so far this update breaks any builds that uses are not built as universal. I have NO wish to support anything i386 whatsoever. my default is -universal in the macports conf file.
So I needed to update ghostscript.
UPgrading Port ---> Computing dependencies for libcxx Error: Cannot install libcxx for the archs 'i386 x86_64' because Error: its dependency libxml2 only supports the arch 'x86_64'.
displaying ino on libcxx reveals
Full Name: libcxx @6.0.0+universal libcxx @6.0.0_1 (lang) The following ports are dependent on libcxx: clang-6.0 cmake ld64-latest ld64 gcc8 libgcc-devel libgcc6 py27-numpy llvm-6.0 cctools clang-6.0 depends on libcxx cmake depends on libcxx ld64-latest depends on libcxx llvm-6.0 depends on libcxx The following ports are currently installed: libcxx @5.0.1_2+universal (active)
the database display the new version but the old version is active. how this is possible, i have no idea.
i forced an upgrade to libxml2 by creating a revision 1 and resulting error is
UPgrading Port ---> Computing dependencies for libcxx Error: Cannot install libcxx for the archs 'i386 x86_64' because Error: its dependency libxml2 only supports the arch 'x86_64'. Error: Follow https://guide.macports.org/#project.tickets to report a bug. [14:15][226]~/local/macports-ports
now i have to fix a lot of dependencies, zlib, xz, libffi, libedit, etc
There needs to be a fix so that if the default compiler already relies on libcxx, not to use that compiler; in my case clang6.0 and don't require universal.
Change History (6)
comment:1 Changed 6 years ago by gaming-hacker (G Alexander)
Description: | modified (diff) |
---|
comment:2 Changed 6 years ago by kencu (Ken)
comment:3 Changed 6 years ago by kencu (Ken)
BTW, one of the reasons we use the buildit script for libcxx is to avoid the circular dep on cmake...
comment:4 Changed 6 years ago by ryandesign (Ryan Carsten Schmidt)
It's unclear what is happening here, and how much of it is due to modifications you've made to portfiles.
Could you tell us what version of macOS you're running?
Replying to gaming-hacker:
Error: Cannot install libcxx for the archs 'i386 x86_64' because Error: its dependency libxml2 only supports the arch 'x86_64'.
This error message seems to be erroneous, because libxml2 has no arch restrictions; it builds on any arch. I suppose it could be caused by the circular dependency introduced by PR 1853. MacPorts behavior is undefined when a circular dependency exists, so anything could happen.
i forced an upgrade to libxml2 by creating a revision 1 and resulting error is
If you mean you edited the libxml2 portfile and increased its revision, you should not do that, because that would prevent you from receiving the "real" libxml2 @2.9.7_1 if and when we create it in the future. If you need to force a port to rebuild from source, the way to do that is e.g. sudo port -ns upgrade --force libxml2
.
comment:5 Changed 6 years ago by jeremyhu (Jeremy Huddleston Sequoia)
Resolution: | → wontfix |
---|---|
Status: | new → closed |
Yeah, this is exactly why we don't use cmake to build libcxx.
comment:6 Changed 6 years ago by mf2k (Frank Schima)
Keywords: | libxml2 universal ghostscript removed |
---|
why are you trying to install libcxx @6 ??
That PR is just in the "take a look" phase, and may never be committed....how did you get at it?