Opened 5 years ago

Closed 3 years ago

#58076 closed defect (fixed)

mongodb: portindex error

Reported by: iefdev (Eric F) Owned by: ryandesign (Ryan Carsten Schmidt)
Priority: Normal Milestone:
Component: ports Version: 2.5.4
Keywords: Cc: basmac, chrstphrchvz (Christopher Chavez), l2dy (Zero King)
Port: mongodb

Description

I have no idea how this started , but since Friday or so I get this portindex error everytime I'm updating the ports.

Creating port index in /opt/local/var/macports/sources/rsync.macports.org/macports/release/tarballs/ports
Error: Unable to determine location of a macOS SDK.
Failed to parse file databases/mongodb/Portfile: can't read "configure.sdkroot": Unable to determine location of a macOS SDK.

It looks for the SDK for 10.8 »»» , but I only have 10.6/10.7 now when I looked. (changing to 10.7 supressed the error)

Since this isn't a new change… Wonder why portindex hasn't errored this earlier?

Change History (8)

comment:1 Changed 5 years ago by mf2k (Frank Schima)

Keywords: lion xcode removed

comment:2 Changed 5 years ago by ryandesign (Ryan Carsten Schmidt)

I'm aware of this error. I haven't bothered to fix it, since the only systems on which is occurs are those on which mongodb can't be built anyway, due to not having a new enough SDK.

I will revisit fixing this once MacPorts has better support for using arbitrary SDKs. I will add a MacOSX.sdk port to allow arbitrary SDKs to be installed, and then MacPorts base should be extended to make it easy to select one of them.

comment:3 Changed 5 years ago by basmac

Cc: basmac added

comment:4 Changed 5 years ago by chrstphrchvz (Christopher Chavez)

This issue prevents OS X 10.11/Xcode 7.3 Travis CI builds from running if a commit touching mongodb was recently merged (e.g. [d95ade3b16/macports-ports]).

comment:5 Changed 5 years ago by chrstphrchvz (Christopher Chavez)

Cc: chrstphrchvz added

comment:6 Changed 5 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: l2dy added

Hmm, I see:

From https://github.com/macports/macports-ports
 * branch            master     -> FETCH_HEAD
 * [new branch]      master     -> macports/master
Creating port index in /Users/travis/build/macports/macports-ports
Adding port databases/dbeaver-community
Error: Unable to determine location of a macOS SDK.
Failed to parse file databases/mongodb/Portfile: can't read "configure.sdkroot": Unable to determine location of a macOS SDK.
Adding port databases/mysql57
Adding subport mysql57-server
Adding port games/moon-buggy
Adding port net/curl
Adding subport curl-ca-bundle
Adding port perl/p5-tex-encode
Adding subport p5.26-tex-encode
Adding subport p5.28-tex-encode
Adding port security/xca

Total number of ports parsed:	11 
Ports successfully parsed:	10 
Ports failed:			1 
Up-to-date ports skipped:	21655

The command "./_ci/bootstrap.sh" failed and exited with 2 during .

Your build has been stopped.

I didn't realize that a port failing to parse would interrupt an entire Travis build, even if the build is for a different port. I don't know why it's set up that way.

comment:7 Changed 5 years ago by l2dy (Zero King)

It's triggered by git checkout -qf macports/master~4 in bootstrap.sh, note the ~4, which was added to compensate PortIndex (on rsync) delays. And portindex -e would fail the build early to save build time if anything went wrong.

Usually, a CI system assumes that the master branch would pass tests. CI is used to discover problems and PortIndex error is the most basic type of errors in a Portfile, so I think the current behavior is acceptable. If the port being reindexed happens to be a dependency of the port being tested, it would affect the build anyway.

comment:8 Changed 3 years ago by ryandesign (Ryan Carsten Schmidt)

Resolution: fixed
Status: assignedclosed

The current version of the mongodb portfile doesn't use configure.sdkroot so this problem no longer happens.

Note: See TracTickets for help on using tickets.