fink / fink-distributions

Package descriptions and patches for Fink
25 stars 38 forks source link

Curl uses CLI Tools but doesn't have a BDep on it #933

Closed TheSin- closed 2 weeks ago

TheSin- commented 1 year ago

Curl uses

cp: /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/lber*.h: No such file or directory

which is a Bdep on CLITools, CLITools is known to break and remote 0.0-0, so a BDep on > 0.0 would fix this.

dmacks commented 1 year ago

Sounds sensible. But also, I can't find an explnation why we're not using our own openldap here.

TheSin- commented 1 year ago

I agree I can't see why either. Not essential so it's not a bootstrap thing.

nieder commented 1 year ago

The exact culprit code is:

    if [ "$(uname -r | cut -d. -f1)" -ge 18 ]; then
        InclPREFIX="/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include"
    fi

What's the output of this command on your Xcode.app only system: xcrun --show-sdk-path ? And does that directory include /usr/include?

TheSin- commented 1 year ago

it's right, but if you don't have CLI Tools installed (as I didn't) then it fails. Likely broke do to the updated to 13.x. But there is no beep on clitools which there should be is all, and since my clitools showed installed at version 0.0-0 but wasn't installed at all, I figure bdep on devtools > 0.0 would have solved this, oddly enough I was able to install like 50 packages without my tools being installed right prior to this one which is why the error took me so long to figure out.

Install the clitools fixed it and it installed no problem.

nieder commented 1 year ago

Problem is that it's hardcoding the CLI Tools path. With xcrun --show-sdk-path, we let the OS find the path to the system-LDAP headers.

InclPREFIX=`xcrun --show-sdk-path`/usr/include

But I don't have an Xcode.app system right now to test the output of xcrun --show-sdk-path to see if it gives the expected viable answer. If this works, we don't need to declare an explicit BDep because we know either CLI or .app will be present (and we don't care which one).

Or we can force a BDep on Fink-openldap.

nieder commented 1 year ago

If we do want to force fink-openldap, I've got a all-tests-pass copy of the latest openldap-2.6.3. I can push a PR if anyone wants to look at it (I think the 2.4 branch has seen its last update).

TheSin- commented 1 year ago
$ xcrun --show-sdk-path
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk

That being said I think we should use fink's, I feel that should always be the answer as then we are in control over it and it's updates.

nieder commented 1 year ago

See #937 for the new openldap. passes tests. untested against any other package.

nieder commented 2 weeks ago

I think this got taken care of in 6f114397320899ae73d5502609c3bfb1f05d30c0 when we switched to Fink-openldap.