Build Information
Failed to build Cadova, reference 0.6.1 (53edd4), with Swift 6.1 for macOS (SPM) on 24 Apr 2026 04:04:48 UTC.
Build Command
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64Build Log
========================================
RunAll
========================================
Builder version: 4.70.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/tomasf/Cadova.git
Reference: 0.6.1
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/tomasf/Cadova
* tag 0.6.1 -> FETCH_HEAD
HEAD is now at 53edd41 Merge branch 'dev'
Cloned https://github.com/tomasf/Cadova.git
Revision (git rev-parse @):
53edd41e5345d01b8612c2e6e21f44e52519cea7
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/tomasf/Cadova.git at 0.6.1
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.1
Building package at path: $PWD
https://github.com/tomasf/Cadova.git
https://github.com/tomasf/Cadova.git
{
"cxx_language_standard" : "c++17",
"dependencies" : [
{
"identity" : "manifold-swift",
"requirement" : {
"range" : [
{
"lower_bound" : "1.0.0",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/tomasf/manifold-swift.git"
},
{
"identity" : "threemf",
"requirement" : {
"range" : [
{
"lower_bound" : "0.2.3",
"upper_bound" : "0.3.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/tomasf/ThreeMF.git"
},
{
"identity" : "apus",
"requirement" : {
"range" : [
{
"lower_bound" : "0.1.3",
"upper_bound" : "0.2.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/tomasf/Apus.git"
},
{
"identity" : "pelagos",
"requirement" : {
"range" : [
{
"lower_bound" : "0.1.3",
"upper_bound" : "0.2.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/tomasf/Pelagos.git"
}
],
"manifest_display_name" : "Cadova",
"name" : "Cadova",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "14.0"
}
],
"products" : [
{
"name" : "Cadova",
"targets" : [
"Cadova"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "Tests",
"module_type" : "SwiftTarget",
"name" : "Tests",
"path" : "Tests/Tests",
"resources" : [
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/Tests/golden",
"rule" : {
"copy" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/Tests/resources",
"rule" : {
"copy" : {
}
}
}
],
"sources" : [
"2D.swift",
"3D.swift",
"Alignment.swift",
"Anchors.swift",
"BezierCurve.swift",
"BezierPatch.swift",
"BezierPath.swift",
"BezierPathBuilder.swift",
"Bounds.swift",
"Build.swift",
"Cache.swift",
"CircularOverhang.swift",
"Clone.swift",
"Common/ApproximatelyEquatable.swift",
"Common/ExpressionExtensions.swift",
"Common/GeometryExtensions.swift",
"Common/GoldenRecord.swift",
"Deform.swift",
"Distribute.swift",
"Examples.swift",
"Extend.swift",
"GeometryExpressionCodable.swift",
"GeometryExpressionSimplification.swift",
"Import.swift",
"Line.swift",
"Loft.swift",
"Matrix.swift",
"ModelFileGenerator.swift",
"NaturalUpDirection.swift",
"Only.swift",
"Operation.swift",
"Parts.swift",
"ProjectCommandLineFilterTests.swift",
"Projection.swift",
"RepeatAlong.swift",
"RepeatAlongPath.swift",
"RepeatAround.swift",
"Resize.swift",
"Result.swift",
"Rounding.swift",
"SVGImport.swift",
"ShapingFunction.swift",
"Smoothing.swift",
"Split.swift",
"Stack.swift",
"StadiumTests.swift",
"StrokeCurve.swift",
"Sweep.swift",
"Symmetry.swift",
"Tags.swift",
"Text.swift",
"Transform.swift",
"Warp.swift",
"Within.swift",
"Wrap.swift"
],
"target_dependencies" : [
"Cadova"
],
"type" : "test"
},
{
"c99name" : "Cadova",
"module_type" : "SwiftTarget",
"name" : "Cadova",
"path" : "Sources/Cadova",
"product_dependencies" : [
"Apus",
"Manifold",
"ThreeMF",
"Pelagos"
],
"product_memberships" : [
"Cadova"
],
"sources" : [
"Abstract Layer/2D/Circle/Arc.swift",
"Abstract Layer/2D/Circle/Circle+Metrics.swift",
"Abstract Layer/2D/Circle/Circle.swift",
"Abstract Layer/2D/Circle/Ring.swift",
"Abstract Layer/2D/Metrics2D.swift",
"Abstract Layer/2D/Overhang/CylinderBridge.swift",
"Abstract Layer/2D/Overhang/OverhangCircle.swift",
"Abstract Layer/2D/Polygon/Polygon.Metrics.swift",
"Abstract Layer/2D/Polygon/Polygon.swift",
"Abstract Layer/2D/Polygon/PolygonPoints.swift",
"Abstract Layer/2D/Rectangle.swift",
"Abstract Layer/2D/RegularPolygon.swift",
"Abstract Layer/2D/Stadium.swift",
"Abstract Layer/2D/Text/FontVariation.swift",
"Abstract Layer/2D/Text/Text.swift",
"Abstract Layer/2D/Text/TextAttributes.swift",
"Abstract Layer/2D/Text/TextRendering.swift",
"Abstract Layer/3D/Box.swift",
"Abstract Layer/3D/Cylinder+Initializers.swift",
"Abstract Layer/3D/Cylinder.swift",
"Abstract Layer/3D/Mesh+Debug.swift",
"Abstract Layer/3D/Mesh.swift",
"Abstract Layer/3D/SDF.swift",
"Abstract Layer/3D/Sphere.swift",
"Abstract Layer/3D/Torus.swift",
"Abstract Layer/3D/Tube.swift",
"Abstract Layer/Environment/Environment.swift",
"Abstract Layer/Environment/EnvironmentModifier.swift",
"Abstract Layer/Environment/EnvironmentValues.swift",
"Abstract Layer/Environment/ReadEnvironment.swift",
"Abstract Layer/Environment/Values/CircularOverhangMethod.swift",
"Abstract Layer/Environment/Values/Environment+Anchors.swift",
"Abstract Layer/Environment/Values/Environment+CornerRoundingStyle.swift",
"Abstract Layer/Environment/Values/Environment+Material.swift",
"Abstract Layer/Environment/Values/Environment+ModelOptions.swift",
"Abstract Layer/Environment/Values/Environment+Segmentation.swift",
"Abstract Layer/Environment/Values/Environment+Text.swift",
"Abstract Layer/Environment/Values/Environment+Transform.swift",
"Abstract Layer/Environment/Values/FillRule.swift",
"Abstract Layer/Environment/Values/LineCapStyle.swift",
"Abstract Layer/Environment/Values/MiterLimit.swift",
"Abstract Layer/Environment/Values/NaturalUpDirection.swift",
"Abstract Layer/Environment/Values/Operation.swift",
"Abstract Layer/Environment/Values/Overhang.swift",
"Abstract Layer/Environment/Values/SimplificationThreshold.swift",
"Abstract Layer/Environment/Values/Tolerance.swift",
"Abstract Layer/Environment/Values/TwistRate.swift",
"Abstract Layer/Environment/Values/TwistSubdivisionThreshold.swift",
"Abstract Layer/Environment/Values/VisualizationOptions.swift",
"Abstract Layer/Geometry/ApplyMaterial.swift",
"Abstract Layer/Geometry/BuildResult.swift",
"Abstract Layer/Geometry/CachingGeometryTypes.swift",
"Abstract Layer/Geometry/GeometryBaseTypes.swift",
"Abstract Layer/Geometry/GeometryBuilder.swift",
"Abstract Layer/Geometry/Parts/PartAssignment.swift",
"Abstract Layer/Geometry/Parts/PartDetachment.swift",
"Abstract Layer/Geometry/Parts/PartModification.swift",
"Abstract Layer/Geometry/Parts/PartReader.swift",
"Abstract Layer/Geometry/Parts/PartSemantic.swift",
"Abstract Layer/Geometry/Parts/PartSubtraction.swift",
"Abstract Layer/Geometry/Protocols/Geometry.swift",
"Abstract Layer/Geometry/Protocols/Shape.swift",
"Abstract Layer/Geometry/References/Anchors+Public.swift",
"Abstract Layer/Geometry/References/Geometry+Anchors.swift",
"Abstract Layer/Geometry/References/ReferenceState.swift",
"Abstract Layer/Geometry/References/Tag.swift",
"Abstract Layer/Geometry/ResultElement/ResultElement.swift",
"Abstract Layer/Geometry/ResultElement/ResultModifier.swift",
"Abstract Layer/Geometry/ResultElement/ResultReader.swift",
"Abstract Layer/Import/2D/GeometrySVGConsumer.swift",
"Abstract Layer/Import/2D/Import+SVG.swift",
"Abstract Layer/Import/3D/Import+3D.swift",
"Abstract Layer/Import/3D/ModelFileFormat.swift",
"Abstract Layer/Import/3D/STLLoader.swift",
"Abstract Layer/Import/3D/ThreeMFLoader.swift",
"Abstract Layer/Import/Import.swift",
"Abstract Layer/Operations/Aligned.swift",
"Abstract Layer/Operations/Attraction/Attract.swift",
"Abstract Layer/Operations/Attraction/AttractionTarget.swift",
"Abstract Layer/Operations/Attraction/Pull.swift",
"Abstract Layer/Operations/Boolean/AddingExclusive.swift",
"Abstract Layer/Operations/Boolean/Difference.swift",
"Abstract Layer/Operations/Boolean/Intersection.swift",
"Abstract Layer/Operations/Boolean/MapBoolean.swift",
"Abstract Layer/Operations/Boolean/Union.swift",
"Abstract Layer/Operations/Bounds/Extend.swift",
"Abstract Layer/Operations/Bounds/Resize2D.swift",
"Abstract Layer/Operations/Bounds/Resize3D.swift",
"Abstract Layer/Operations/DeformByPatch.swift",
"Abstract Layer/Operations/DeformByPath.swift",
"Abstract Layer/Operations/Duplication/Clone.swift",
"Abstract Layer/Operations/Duplication/Distribute.swift",
"Abstract Layer/Operations/Duplication/RepeatAlong.swift",
"Abstract Layer/Operations/Duplication/RepeatAlongPath.swift",
"Abstract Layer/Operations/Duplication/RepeatAround.swift",
"Abstract Layer/Operations/Duplication/Symmetry.swift",
"Abstract Layer/Operations/Edge Profiling/ApplyBoxEdgeProfile.swift",
"Abstract Layer/Operations/Edge Profiling/ApplyEdgeProfileToCorners.swift",
"Abstract Layer/Operations/Edge Profiling/Masks/ProfiledRectangleMask.swift",
"Abstract Layer/Operations/Edge Profiling/Masks/RoundedBoxCornerMask.swift",
"Abstract Layer/Operations/Edge Profiling/RoundingBoxCorners.swift",
"Abstract Layer/Operations/EnclosePatch.swift",
"Abstract Layer/Operations/Extrude/ExtrudeAlongTransforms.swift",
"Abstract Layer/Operations/Extrude/ExtrudeWithEdgeProfiles.swift",
"Abstract Layer/Operations/Extrude/Extrusion.swift",
"Abstract Layer/Operations/Extrude/HelixSweep.swift",
"Abstract Layer/Operations/Extrude/Sweep.swift",
"Abstract Layer/Operations/Filling/ConvexHull.swift",
"Abstract Layer/Operations/Filling/Fill.swift",
"Abstract Layer/Operations/Follow2D.swift",
"Abstract Layer/Operations/Follow3D.swift",
"Abstract Layer/Operations/Loft/Loft+Build.swift",
"Abstract Layer/Operations/Loft/Loft+Mesh.swift",
"Abstract Layer/Operations/Loft/Loft+PolygonGroups.swift",
"Abstract Layer/Operations/Loft/Loft+Resampling.swift",
"Abstract Layer/Operations/Loft/Loft+Visualization.swift",
"Abstract Layer/Operations/Loft/Loft.Layer.swift",
"Abstract Layer/Operations/Loft/Loft.swift",
"Abstract Layer/Operations/Measure.swift",
"Abstract Layer/Operations/Offsetting/Offset.swift",
"Abstract Layer/Operations/Offsetting/OffsetPolyline.swift",
"Abstract Layer/Operations/Offsetting/Rounding.swift",
"Abstract Layer/Operations/Offsetting/Stroke.swift",
"Abstract Layer/Operations/Offsetting/StrokeCurve.swift",
"Abstract Layer/Operations/Only.swift",
"Abstract Layer/Operations/OverhangSafe.swift",
"Abstract Layer/Operations/Projection.swift",
"Abstract Layer/Operations/ReadConcrete.swift",
"Abstract Layer/Operations/ReadOutlines.swift",
"Abstract Layer/Operations/Replace.swift",
"Abstract Layer/Operations/Resolution.swift",
"Abstract Layer/Operations/Separate.swift",
"Abstract Layer/Operations/Skew2D.swift",
"Abstract Layer/Operations/Skew3D.swift",
"Abstract Layer/Operations/Smoothing.swift",
"Abstract Layer/Operations/Split2D.swift",
"Abstract Layer/Operations/Split3D.swift",
"Abstract Layer/Operations/SplitInto.swift",
"Abstract Layer/Operations/Stack.swift",
"Abstract Layer/Operations/Transformations/Geometry+Transformable.swift",
"Abstract Layer/Operations/Transformations/RotateAround.swift",
"Abstract Layer/Operations/Transformations/VariableScale.swift",
"Abstract Layer/Operations/Twist.swift",
"Abstract Layer/Operations/Warp.swift",
"Abstract Layer/Operations/WhileMasked.swift",
"Abstract Layer/Operations/WhileTransformed.swift",
"Abstract Layer/Operations/Within.swift",
"Abstract Layer/Operations/Wrap.swift",
"Abstract Layer/Transformable/Transformable+Rotation.swift",
"Abstract Layer/Transformable/Transformable+Scaling.swift",
"Abstract Layer/Transformable/Transformable+Shearing.swift",
"Abstract Layer/Transformable/Transformable+Translation.swift",
"Abstract Layer/Transformable/Transformable.swift",
"Abstract Layer/Visualization/AxesVisualization.swift",
"Abstract Layer/Visualization/BoundingBoxVisualization.swift",
"Abstract Layer/Visualization/CurveVisualization.swift",
"Abstract Layer/Visualization/DirectionVisualization.swift",
"Abstract Layer/Visualization/MeshVisualization.swift",
"Abstract Layer/Visualization/PlaneVisualization.swift",
"Abstract Layer/Visualization/RulerVisualization.swift",
"ArrayBuilder.swift",
"Compatibility.swift",
"Concrete Layer/Build/Build.swift",
"Concrete Layer/Build/BuildDirective.swift",
"Concrete Layer/Build/BuildWarning.swift",
"Concrete Layer/Build/Group/Group.swift",
"Concrete Layer/Build/Group/GroupContentBuilder.swift",
"Concrete Layer/Build/Model/Model.swift",
"Concrete Layer/Build/Model/ModelContentBuilder.swift",
"Concrete Layer/Build/Model/ModelContext.swift",
"Concrete Layer/Build/Options/Compression.swift",
"Concrete Layer/Build/Options/FileFormats.swift",
"Concrete Layer/Build/Options/IncludedPartSemantics.swift",
"Concrete Layer/Build/Options/Metadata.swift",
"Concrete Layer/Build/Options/ModelOptions.swift",
"Concrete Layer/Build/Project/CommandLineArguments.swift",
"Concrete Layer/Build/Project/Project.swift",
"Concrete Layer/Build/Project/ProjectContentBuilder.swift",
"Concrete Layer/ConcreteGeometry.swift",
"Concrete Layer/ModelFileGenerator.swift",
"Concrete Layer/Output Providers/3MF/ThreeMFDataProvider+Helpers.swift",
"Concrete Layer/Output Providers/3MF/ThreeMFDataProvider+Materials.swift",
"Concrete Layer/Output Providers/3MF/ThreeMFDataProvider.swift",
"Concrete Layer/Output Providers/BinarySTLDataProvider.swift",
"Concrete Layer/Output Providers/OutputDataProvider.swift",
"Concrete Layer/Output Providers/SVGDataProvider.swift",
"Concrete Layer/Part.swift",
"Concrete Layer/PolygonTree.swift",
"Dimensionality.swift",
"Extensions/MiscExtensions.swift",
"Extensions/RangeExtensions.swift",
"Extensions/SequenceExtensions.swift",
"Logging.swift",
"Node Layer/Context/EvaluationContext.swift",
"Node Layer/Context/GeometryCache.swift",
"Node Layer/EvaluationResult.swift",
"Node Layer/GeometryNode+Codable.swift",
"Node Layer/GeometryNode+Creation.swift",
"Node Layer/GeometryNode+Debug.swift",
"Node Layer/GeometryNode+Hashable.swift",
"Node Layer/GeometryNode+Shapes.swift",
"Node Layer/GeometryNode.swift",
"Operators.swift",
"Platform.swift",
"Values/Alignment/AxisAlignment.swift",
"Values/Alignment/GeometryAlignment+Presets.swift",
"Values/Alignment/GeometryAlignment.swift",
"Values/Angle/Angle+Operators.swift",
"Values/Angle/Angle+Trigonometry.swift",
"Values/Angle/Angle.swift",
"Values/Axis/Axes.swift",
"Values/Axis/Axis.swift",
"Values/BoundingBox.swift",
"Values/CacheKey.swift",
"Values/Color/Color+Constants.swift",
"Values/Color/Color+HSB.swift",
"Values/Color/Color.swift",
"Values/Corners, Edges and Sides/Box.Corner.swift",
"Values/Corners, Edges and Sides/Box.Edge.swift",
"Values/Corners, Edges and Sides/CornerRoundingStyle.swift",
"Values/Corners, Edges and Sides/DirectionalAxis.swift",
"Values/Corners, Edges and Sides/OrthogonalCorner.swift",
"Values/Corners, Edges and Sides/Rectangle.Corner.swift",
"Values/Curves/AnyParametricCurve.swift",
"Values/Curves/Bezier/BezierCurve.swift",
"Values/Curves/Bezier/BezierPatch.swift",
"Values/Curves/Bezier/BezierPath+Adding.swift",
"Values/Curves/Bezier/BezierPath+Internal.swift",
"Values/Curves/Bezier/BezierPath+Operations.swift",
"Values/Curves/Bezier/BezierPath.swift",
"Values/Curves/Bezier/Path Builder/BezierPath.Builder.swift",
"Values/Curves/Bezier/Path Builder/ComponentFunctions.swift",
"Values/Curves/Bezier/Path Builder/ComponentFunctions2D.swift",
"Values/Curves/Bezier/Path Builder/ComponentFunctions3D.swift",
"Values/Curves/Bezier/Path Builder/PathBuilderValue.swift",
"Values/Curves/Bezier/Path Builder/PathBuilderVector.swift",
"Values/Curves/CurveSample.swift",
"Values/Curves/InterpolatingCurve.swift",
"Values/Curves/ParametricCurve+DefaultImplementations.swift",
"Values/Curves/ParametricCurve+Operations.swift",
"Values/Curves/ParametricCurve.swift",
"Values/Curves/ParametricCurveFrame.swift",
"Values/Curves/Spline Curve/SplineCurve+Creation.swift",
"Values/Curves/Spline Curve/SplineCurve.swift",
"Values/Curves/Subcurve.swift",
"Values/Edge Profiles/EdgeProfile+Cutting.swift",
"Values/Edge Profiles/EdgeProfile+Forming.swift",
"Values/Edge Profiles/EdgeProfile+Presets.swift",
"Values/Edge Profiles/EdgeProfile.swift",
"Values/LinearInterpolation.swift",
"Values/Material+Presets.swift",
"Values/Material.swift",
"Values/Measurements.swift",
"Values/MeshData.swift",
"Values/OpaqueKey.swift",
"Values/Segmentation.swift",
"Values/ShapingFunction+Internal.swift",
"Values/ShapingFunction.swift",
"Values/SimplePolygon.swift",
"Values/SimplePolygonList+Alignment.swift",
"Values/SimplePolygonList.swift",
"Values/Spatial/Direction.swift",
"Values/Spatial/Line.swift",
"Values/Spatial/LinearDirection.swift",
"Values/Spatial/Plane+Transformation.swift",
"Values/Spatial/Plane.swift",
"Values/Transforms/2D/BasicMatrix3x3.swift",
"Values/Transforms/2D/Transform2D+Creation.swift",
"Values/Transforms/2D/Transform2D.swift",
"Values/Transforms/3D/BasicMatrix4x4.swift",
"Values/Transforms/3D/Transform3D+Creation.swift",
"Values/Transforms/3D/Transform3D.swift",
"Values/Transforms/Matrix.swift",
"Values/Transforms/Transform.swift",
"Values/Triangle/Triangle+Internal.swift",
"Values/Triangle/Triangle+Protocols.swift",
"Values/Triangle/Triangle+Right.swift",
"Values/Triangle/Triangle.swift",
"Values/Vectors/DimensionalValues.swift",
"Values/Vectors/Vector.swift",
"Values/Vectors/Vector2D+Operators.swift",
"Values/Vectors/Vector2D.swift",
"Values/Vectors/Vector3D+Operators.swift",
"Values/Vectors/Vector3D.swift"
],
"type" : "library"
}
],
"tools_version" : "6.0"
}
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats
Fetching https://github.com/tomasf/Apus.git
Fetching https://github.com/tomasf/manifold-swift.git
Fetching https://github.com/tomasf/ThreeMF.git
Fetching https://github.com/tomasf/Pelagos.git
[1/482] Fetching pelagos
[242/1029] Fetching pelagos, threemf
[489/2399] Fetching pelagos, threemf, apus
[503/3188] Fetching pelagos, threemf, apus, manifold-swift
Fetched https://github.com/tomasf/ThreeMF.git from cache (1.54s)
Fetched https://github.com/tomasf/Pelagos.git from cache (1.54s)
Fetched https://github.com/tomasf/Apus.git from cache (1.54s)
Fetched https://github.com/tomasf/manifold-swift.git from cache (1.54s)
Computing version for https://github.com/tomasf/Pelagos.git
Computed https://github.com/tomasf/Pelagos.git at 0.1.3 (2.03s)
Fetching https://github.com/tomasf/Nodal.git
[1/852] Fetching nodal
Fetched https://github.com/tomasf/Nodal.git from cache (0.73s)
Computing version for https://github.com/tomasf/Apus.git
error: Dependencies could not be resolved because 'apus' contains incompatible tools version (6.2.0) and root depends on 'apus' 0.1.3..<0.2.0.
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64
Updating https://github.com/tomasf/ThreeMF.git
Updating https://github.com/tomasf/manifold-swift.git
Updating https://github.com/tomasf/Apus.git
Updating https://github.com/tomasf/Pelagos.git
Updated https://github.com/tomasf/Apus.git (0.40s)
Updated https://github.com/tomasf/Pelagos.git (0.40s)
Updated https://github.com/tomasf/manifold-swift.git (0.44s)
Updated https://github.com/tomasf/ThreeMF.git (0.44s)
Computing version for https://github.com/tomasf/Pelagos.git
Computed https://github.com/tomasf/Pelagos.git at 0.1.3 (0.51s)
Updating https://github.com/tomasf/Nodal.git
Updated https://github.com/tomasf/Nodal.git (0.42s)
Computing version for https://github.com/tomasf/Apus.git
error: Dependencies could not be resolved because 'apus' contains incompatible tools version (6.2.0) and root depends on 'apus' 0.1.3..<0.2.0.
BUILD FAILURE 6.1 macosSpm