Opened 4 months ago

Closed 3 months ago

#69195 closed defect (fixed)

Circular dependencies involving clang-3.7, xz, etc

Reported by: tehcog (tehcog) Owned by: ryandesign (Ryan Carsten Schmidt)
Priority: Normal Milestone:
Component: ports Version: 2.9.0
Keywords: Cc: jeremyhu (Jeremy Huddleston Sequoia), larryv (Lawrence Velázquez)
Port: xz clang-3.7 gettext

Description

I am trying to build a bootstrap version of macports 2.9 from which I can then reference curl in my normal macports 2.9 install.

I am using the following method:


1) cd ~/temp/macports_curl

2) git clone -b release-2.9 https://github.com/macports/macports-base.git

3) cd macports-base

4) ./configure --prefix=/opt/bootstrap_29 --with-applications-dir=/opt/bootstrap_29/Applications --without-startupitems

5) make && sudo make install

6) sudo /opt/bootstrap_29/bin/port -v sync


This is where I have an issue:

7) sudo /opt/bootstrap_29/bin/port -v -N install curl

This operation seems to culminate in the following error (please see attached log file):

Error: The following dependencies were not installed because all of them have unmet dependencies (likely due to a dependency cycle): xz libidn2 libpsl zlib zstd openssl curl-ca-bundle gettext clang-3.7 gettext-tools-libs cctools libxml2 llvm-3.7 ld64 perl5 ld64-274 perl5.34 gdbm libunistring autoconf automake m4 python310 sqlite3 openssl3
Error: Follow https://guide.macports.org/#project.tickets if you believe there is a bug.
Error: Processing of port curl failed

Any suggestions for how to accomplish this (works in 2.8.1)? Thank You.

Attachments (1)

com.ports.bootstrap.curl.log.tar.xz (220.0 KB) - added by tehcog (tehcog) 4 months ago.
curl install log

Download all attachments as: .zip

Change History (8)

Changed 4 months ago by tehcog (tehcog)

curl install log

comment:1 Changed 4 months ago by jmroot (Joshua Root)

Component: baseports
Summary: macports 2.9 base - curl - unmet dependenciesCircular dependencies involving clang-3.7, xz, etc

Looks like legitimate circular dependencies. (Removed: rdeps listings from a different OS)

Last edited 4 months ago by jmroot (Joshua Root) (previous) (diff)

comment:2 Changed 4 months ago by jmroot (Joshua Root)

Wait, you're on Ventura? What is depending on clang-3.7?

comment:3 Changed 4 months ago by ryandesign (Ryan Carsten Schmidt)

According to the log, not macOS 13 but Darwin 13, aka OS X 10.9.

comment:4 Changed 4 months ago by jmroot (Joshua Root)

Cc: ryandesign jeremyhu larryv added
Port: xz clang-3.7 gettext added

Ah right, that makes more sense. So on 10.9 the problem is pretty clear: gettext depends on clang-3.7, which depends on xz, which depends on gettext.

It looks like [8fbc7254defcd069e114ca06e38571da70474bac/macports-ports]/[3caa3b4ab9f335dfff75ec10ba75a435bc32bd28/macports-ports] are probably the cause. Perhaps the easiest fix would be for llvm-3.7 to use xz-bootstrap on the affected OS versions (or just always use it?)

Last edited 4 months ago by jmroot (Joshua Root) (previous) (diff)

comment:5 in reply to:  4 Changed 4 months ago by ryandesign (Ryan Carsten Schmidt)

Owner: set to ryandesign
Status: newaccepted

Replying to jmroot:

It looks like [8fbc7254defcd069e114ca06e38571da70474bac/macports-ports]/[3caa3b4ab9f335dfff75ec10ba75a435bc32bd28/macports-ports] are probably the cause.

I forgot about those. Since upstream has dragged their feet on fixing it, I'd like to add a patch to gettext to fix it so that we don't have to blacklist clang 6xx anymore. The fix should be: everywhere there is a check whether to use __has_attribute, change it from 6000000 <= __apple_build_version__ to 7000000 <= __apple_build_version__. I should verify that on Mavericks before committing it.

comment:6 Changed 3 months ago by ryandesign (Ryan Carsten Schmidt)

Cc: ryandesign removed

Yes that works and I will include the fix in https://github.com/macports/macports-ports/pull/21649 before merging it.

comment:7 Changed 3 months ago by ryandesign (Ryan Carsten Schmidt)

Resolution: fixed
Status: acceptedclosed

In ee9941bcea5a4d7a43f3c88d43c2aa4975520b51/macports-ports (master):

gettext: Don't blacklist clang 6xx; fix it instead

Closes: #69195
See: #67037

Note: See TracTickets for help on using tickets.