#68283 closed defect (fixed)

mas @1.8.6: error: conflicting types for 'unctrl'

Reported by: dancamper (Dan S. Camper) Owned by: kimuraw (kimura wataru)
Priority: Normal Milestone:
Component: ports Version: 2.8.1
Keywords: sonoma arm64 Cc: judaew (Vadym-Valdis Yudaiev), greenius
Port: mas

Description

Log snippet:

:info:build warning: /opt/local/var/macports/home/Library/org.swift.swiftpm/configuration is not accessible or not writable, disabling user-level cache features.
:info:build warning: /opt/local/var/macports/home/Library/org.swift.swiftpm/security is not accessible or not writable, disabling user-level cache features.
:info:build warning: /opt/local/var/macports/home/Library/Caches/org.swift.swiftpm is not accessible or not writable, disabling user-level cache features.
:info:build warning: 'mas-1.8.6': failed loading cached manifest for 'mas-1.8.6': Error Domain=NSCocoaErrorDomain Code=4 "The file “manifests” doesn’t exist." UserInfo={NSFilePath=/opt/local/var/macports/home/Library/Caches/org.swift.swiftpm/manifests, NSUnderlyingError=0x60000235a010 {Error Domain=NSPOSIXErrorDomain Code=2 "No such file or directory"}}
:info:build warning: 'mas-1.8.6': failed closing cache: Error Domain=NSCocoaErrorDomain Code=4 "The file “manifests” doesn’t exist." UserInfo={NSFilePath=/opt/local/var/macports/home/Library/Caches/org.swift.swiftpm/manifests, NSUnderlyingError=0x60000235b540 {Error Domain=NSPOSIXErrorDomain Code=2 "No such file or directory"}}
:info:build error: 'mas-1.8.6': Invalid manifest (compiled with: ["/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swiftc", "-vfsoverlay", "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_sysutils_mas/mas/work/.tmp/TemporaryDirectory.gNLzKW/vfs.yaml", "-L", "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/pm/ManifestAPI", "-lPackageDescription", "-Xlinker", "-rpath", "-Xlinker", "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/pm/ManifestAPI", "-target", "arm64-apple-macosx13.0", "-sdk", "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.sdk", "-F", "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/Library/Frameworks", "-I", "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/usr/lib", "-L", "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/usr/lib", "-swift-version", "5", "-I", "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/pm/ManifestAPI", "-sdk", "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.sdk", "-package-description-version", "5.3.0", "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_sysutils_mas/mas/work/mas-1.8.6/Package.swift", "-Xfrontend", "-disable-implicit-concurrency-module-import", "-Xfrontend", "-disable-implicit-string-processing-module-import", "-o", "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_sysutils_mas/mas/work/.tmp/TemporaryDirectory.HEtgo4/mas-1.8.6-manifest"])
:info:build error: fatalError

Attachments (1)

main.log (48.0 KB) - added by dancamper (Dan S. Camper) 14 months ago.
Build log

Download all attachments as: .zip

Change History (6)

Changed 14 months ago by dancamper (Dan S. Camper)

Attachment: main.log added

Build log

comment:1 Changed 14 months ago by ryandesign (Ryan Carsten Schmidt)

Cc: judaew added
Keywords: sonoma arm64 added
Owner: set to kimuraw
Status: newassigned
Summary: Unable to build on M1 running Sonoma: "Invalid manifest"mas @1.8.6: error: conflicting types for 'unctrl'
Version: 2.8.1

I think the relevant portion of the log is more likely to be:

<module-includes>:488:9: note: in file included from <module-includes>:488:
#import "curses.h"
        ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.sdk/usr/include/curses.h:2054:10: note: in file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.sdk/usr/include/curses.h:2054:
#include <unctrl.h>
         ^
/opt/local/include/unctrl.h:61:54: error: conflicting types for 'unctrl'
NCURSES_EXPORT(NCURSES_CONST char *) NCURSES_SP_NAME(unctrl) (SCREEN*, chtype);
                                                     ^
/opt/local/include/unctrl.h:58:38: note: previous declaration is here
NCURSES_EXPORT(NCURSES_CONST char *) unctrl (chtype);
                                     ^

There seems to be some confusion where the macOS curses header is including a MacPorts ncurses header; that's unlikely to work well.

The appearance of the phrase "module-includes" here makes me think of #68149 but I don't know if it's actually related.

comment:2 Changed 12 months ago by greenius

I'm getting the same error with nextcloud-client @3.5.2_0 building on Sonoma. It builds fine on another machine that still has Ventura MacOS 13.

:info:build While building module 'Foundation' imported from /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_www_nextcloud-client/nextcloud-client/work/desktop-3.5.2/shell_integration/MacOSX/OwnCloudFinderSync/FinderSyncExt/LineProcessor.m:15:
:info:build While building module 'CoreFoundation' imported from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.0.sdk/System/Library/Frameworks/Foundation.framework/Headers/Foundation.h:6:
:info:build While building module 'Darwin' imported from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.0.sdk/System/Library/Frameworks/CoreFoundation.framework/Headers/CoreFoundation.h:14:
:info:build In file included from <module-includes>:489:
:info:build In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.0.sdk/usr/include/curses.h:2054:
:info:build /opt/local/include/unctrl.h:61:54: error: conflicting types for 'unctrl'
:info:build NCURSES_EXPORT(NCURSES_CONST char *) NCURSES_SP_NAME(unctrl) (SCREEN*, chtype);
:info:build                                                      ^
:info:build /opt/local/include/unctrl.h:58:38: note: previous declaration is here
:info:build NCURSES_EXPORT(NCURSES_CONST char *) unctrl (chtype);
:info:build                                      ^
:info:build 1 error generated.

comment:3 Changed 12 months ago by kencu (Ken)

You probably need to install:

macports-module-map

the file this port installs used to be installed by the ncurses port, but it was removed and now you must install it separately.

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

Another affected port was reported in #68839.

Is the intention that every port experiencing this issue should add a dependency on macports-module-map? Or should that dep be added to ncurses, since ncurses used to install that file?

comment:5 Changed 11 months ago by ryandesign (Ryan Carsten Schmidt)

Cc: greenius added
Resolution: fixed
Status: assignedclosed

This was solved by a change in ncurses.

Note: See TracTickets for help on using tickets.