Opened 4 years ago

Last modified 3 years ago

#60246 assigned defect

git 2.25.1_0 +credential_osxkeychain +diff_highlight +doc +pcre +perl5_28]: fails to install, 'unistd.h' file not found

Reported by: jlargentaye (John de Largentaye) Owned by: ci42
Priority: Normal Milestone:
Component: ports Version:
Keywords: xcode12 Cc:
Port: git

Description

Upgrading Git on Cataline 15.3, with a developer seed of XCode 12 & associated CommandLineTools.

Of note in the logs:

  • include paths used at compile time, /opt/local/include and /usr/local/include, indeed do not contain the header file unistd.h
  • DEVELOPER_DIR is reported to be DEVELOPER_DIR='/Library/Developer/CommandLineTools' even though, in my environment, it is set to /Applications/Xcode.app/Contents/Developer, and the output of xcode-select -p is also {/Applications/Xcode.app/Contents/Developer}}} (and the path exists)

Additionally, unistd.h exists at various locations in SDKs under /Library/Developer/CommandLineTools and /Applications/Xcode.app/Contents/Developer. Specific paths can be provided on request.

Attachments (1)

main.log (31.9 KB) - added by jlargentaye (John de Largentaye) 4 years ago.
Build failure log for git-2.25.1 with Xcode 12 preview

Download all attachments as: .zip

Change History (3)

Changed 4 years ago by jlargentaye (John de Largentaye)

Attachment: main.log added

Build failure log for git-2.25.1 with Xcode 12 preview

comment:1 in reply to:  description Changed 4 years ago by ryandesign (Ryan Carsten Schmidt)

Replying to jlargentaye:

Upgrading Git on Cataline 15.3, with a developer seed of XCode 12 & associated CommandLineTools.

Of note in the logs:

  • include paths used at compile time, /opt/local/include and /usr/local/include, indeed do not contain the header file unistd.h

That is correct. It is a system header. It is not provided by MacPorts.

We should fix the build so that it does not look in /usr/local/include.

  • DEVELOPER_DIR is reported to be DEVELOPER_DIR='/Library/Developer/CommandLineTools' even though, in my environment, it is set to /Applications/Xcode.app/Contents/Developer, and the output of xcode-select -p is also {/Applications/Xcode.app/Contents/Developer}}} (and the path exists)

That is correct. That is an intentional change as of MacPorts 2.6.0.

Additionally, unistd.h exists at various locations in SDKs under /Library/Developer/CommandLineTools and /Applications/Xcode.app/Contents/Developer. Specific paths can be provided on request.

Does /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk exist? Because that's where MacPorts is going to look for system headers on your system. Make sure that you have command line tools for macOS 10.15 installed; it should provide that SDK.

Note that we can't really help with prerelease software. If you can't get it to work with Xcode 12 preview, use Xcode 11.4 which should work.

Version 0, edited 4 years ago by ryandesign (Ryan Carsten Schmidt) (next)

comment:2 Changed 4 years ago by mf2k (Frank Schima)

Keywords: xcode12 added
Owner: set to ci42
Status: newassigned
Note: See TracTickets for help on using tickets.