Build Information
Failed to build PerfectSessionRedis, reference master (23427b
), with Swift 6.2 (beta) for macOS (SPM) on 18 Jun 2025 01:51:52 UTC.
Build Command
env DEVELOPER_DIR=/Applications/Xcode-26.0.0-Beta.app xcrun swift build --arch arm64
Build Log
========================================
RunAll
========================================
Builder version: 4.64.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/perfectlysoft/perfect-session-redis.git
Reference: master
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/perfectlysoft/perfect-session-redis
* branch master -> FETCH_HEAD
* [new branch] master -> origin/master
HEAD is now at 23427ba Updated package file
Cloned https://github.com/perfectlysoft/perfect-session-redis.git
Revision (git rev-parse @):
23427ba2311e7dcb113f231688b2d0abf038795f
SUCCESS checkout https://github.com/perfectlysoft/perfect-session-redis.git at master
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.2
Building package at path: $PWD
https://github.com/perfectlysoft/perfect-session-redis.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-26.0.0-Beta.app xcrun swift build --arch arm64
Building for debugging...
[0/244] Write sources
[10/244] Write swift-version-1EA4D86E10B52AF.txt
[11/244] Compiling COpenSSL xts128.c
[11/244] Compiling COpenSSL xcbc_enc.c
[13/244] Compiling COpenSSL wrap128.c
[14/244] Compiling COpenSSL x509spki.c
[15/244] Compiling COpenSSL x509cset.c
[16/244] Compiling COpenSSL x509type.c
[17/244] Compiling COpenSSL wp_.c
[18/244] Compiling COpenSSL x509name.c
[19/244] Compiling COpenSSL v3err.c
[20/254] Compiling COpenSSL v3_lib.c
[21/258] Compiling COpenSSL x509_.c
[22/258] Compiling COpenSSL uid.c
[23/258] Compiling COpenSSL x509rset.c
[24/258] Compiling COpenSSL txt_db.c
[25/258] Compiling COpenSSL x_.c
[26/258] Compiling COpenSSL tb_store.c
[27/258] Compiling COpenSSL v3_.c
[28/258] Compiling COpenSSL tb_rsa.c
[29/258] Compiling COpenSSL tb_rand.c
[30/258] Compiling COpenSSL tb_pkmeth.c
[31/258] Compiling COpenSSL tb_ecdsa.c
[32/258] Compiling COpenSSL tb_ecdh.c
[33/258] Compiling COpenSSL tb_dsa.c
[34/258] Compiling COpenSSL tb_digest.c
[35/258] Compiling COpenSSL tb_dh.c
[36/258] Compiling COpenSSL tb_cipher.c
[37/258] Compiling COpenSSL tb_asnmth.c
[38/258] Compiling COpenSSL ui_.c
[39/258] Compiling COpenSSL str2key.c
[40/258] Compiling COpenSSL t_.c
[41/258] Compiling COpenSSL stack.c
[42/258] Compiling COpenSSL tasn_.c
[43/258] Compiling COpenSSL sha_.c
[44/258] Compiling COpenSSL srp_.c
[45/258] Compiling COpenSSL sha512.c
[46/258] Compiling COpenSSL t1_.c
[47/258] Compiling COpenSSL sha256.c
[48/258] Compiling COpenSSL sha1_one.c
[49/258] Compiling COpenSSL sha1dgst.c
[50/258] Compiling COpenSSL th-lock.c
[51/258] Compiling COpenSSL set_key.c
[52/258] Compiling COpenSSL seed_.c
[53/258] Compiling COpenSSL tls_srp.c
[54/258] Compiling COpenSSL seed.c
[55/258] Compiling COpenSSL ts_.c
[56/258] Compiling COpenSSL ssl_.c
[57/258] Compiling COpenSSL rsaz_exp.c
[58/258] Compiling COpenSSL s2_.c
[59/258] Compiling COpenSSL s23_.c
[60/258] Compiling COpenSSL rc2ofb64.c
[61/258] Compiling COpenSSL rpc_enc.c
[62/258] Compiling COpenSSL read2pwd.c
[63/258] Compiling COpenSSL rc2cfb64.c
[64/258] Compiling COpenSSL rc4_.c
[65/258] Compiling COpenSSL rmd_.c
[66/258] Compiling COpenSSL rc2_.c
[67/258] Compiling COpenSSL qud_cksm.c
[68/258] Compiling COpenSSL randfile.c
[69/258] Compiling COpenSSL pqueue.c
[70/258] Compiling COpenSSL rsa_.c
[71/258] Compiling COpenSSL rand_.c
[72/258] Compiling COpenSSL pvkfmt.c
[73/258] Compiling COpenSSL pkcs7err.c
[74/258] Compiling COpenSSL s3_.c
[75/258] Compiling COpenSSL pmeth_.c
[76/258] Compiling COpenSSL pcbc_enc.c
[77/258] Compiling COpenSSL pk12err.c
[78/258] Compiling COpenSSL pk7_.c
[79/258] Compiling COpenSSL pcy_.c
[80/258] Compiling COpenSSL p8_pkey.c
[81/258] Compiling COpenSSL p_.c
[82/258] Compiling COpenSSL p5_.c
[83/258] Compiling COpenSSL openbsd_hw.c
[84/258] Compiling COpenSSL pem_.c
[85/258] Compiling COpenSSL p12_.c
[86/258] Compiling COpenSSL ofb_enc.c
[87/258] Compiling COpenSSL ofb128.c
[88/258] Compiling COpenSSL ofb64ede.c
[89/258] Compiling COpenSSL ofb64enc.c
[90/258] Compiling COpenSSL o_.c
[91/258] Compiling COpenSSL nsseq.c
[92/258] Compiling COpenSSL names.c
[93/258] Compiling COpenSSL obj_.c
[94/258] Compiling COpenSSL mem.c
[95/258] Compiling COpenSSL mem_.c
[96/258] Compiling COpenSSL n_pkey.c
[97/258] Compiling COpenSSL ocsp_.c
[98/258] Compiling COpenSSL mdc2dgst.c
[99/258] Compiling COpenSSL mdc2_one.c
[100/258] Compiling COpenSSL md5_.c
[101/258] Compiling COpenSSL md4_.c
[102/258] Compiling COpenSSL md_rand.c
[103/258] Compiling COpenSSL m_wp.c
[104/258] Compiling COpenSSL m_sigver.c
[104/258] Compiling COpenSSL m_sha1.c
[106/258] Compiling COpenSSL m_sha.c
[107/258] Compiling COpenSSL m_ripemd.c
[108/258] Compiling COpenSSL m_null.c
[109/258] Compiling COpenSSL m_md5.c
[110/258] Compiling COpenSSL m_mdc2.c
[111/258] Compiling COpenSSL m_md4.c
[112/258] Compiling COpenSSL m_md2.c
[113/258] Compiling COpenSSL m_dss1.c
[114/258] Compiling COpenSSL m_ecdsa.c
[115/258] Compiling COpenSSL m_dss.c
[116/258] Compiling COpenSSL lhash.c
[117/258] Compiling COpenSSL lh_stats.c
[118/258] Compiling COpenSSL i_.c
[119/258] Compiling COpenSSL krb5_asn.c
[120/258] Compiling COpenSSL kssl.c
[121/258] Compiling COpenSSL hmac.c
[122/258] Compiling COpenSSL gosthash.c
[123/258] Compiling COpenSSL i2d_.c
[124/258] Compiling COpenSSL hm_.c
[125/258] Compiling COpenSSL gost89.c
[126/258] Compiling COpenSSL fips_ers.c
[127/258] Compiling COpenSSL getenv.c
[128/258] Compiling COpenSSL gost94_keyx.c
[129/258] Compiling COpenSSL gost2001_keyx.c
[130/258] Compiling COpenSSL gcm128.c
[131/258] Compiling COpenSSL fcrypt_b.c
[132/258] Compiling COpenSSL fcrypt.c
[133/258] Compiling COpenSSL gost2001.c
[134/258] Compiling COpenSSL gost_.c
[135/258] Compiling COpenSSL ex_data.c
[136/258] Compiling COpenSSL f_.c
[137/258] Compiling COpenSSL enc_.c
[138/258] Compiling COpenSSL encode.c
[139/258] Compiling COpenSSL err.c
[140/258] Compiling COpenSSL err_.c
[141/258] Compiling COpenSSL ede_cbcm_enc.c
[142/258] Compiling COpenSSL evp_.c
[143/258] Compiling COpenSSL ecp_nistputil.c
[144/258] Compiling COpenSSL ecp_nistp521.c
[145/258] Compiling COpenSSL ecp_nistp256.c
[146/258] Compiling COpenSSL ecp_nistp224.c
[147/258] Compiling COpenSSL eng_.c
[148/258] Compiling COpenSSL ecs_.c
[149/258] Compiling COpenSSL ecp_oct.c
[150/258] Compiling COpenSSL ecp_smpl.c
[151/258] Compiling COpenSSL ecp_nist.c
[152/258] Compiling COpenSSL ecp_mont.c
[153/258] Compiling COpenSSL ecb_enc.c
[154/258] Compiling COpenSSL ebcdic.c
[155/258] Compiling COpenSSL eck_prn.c
[156/258] Compiling COpenSSL ecb3_enc.c
[157/258] Compiling COpenSSL ech_.c
[158/258] Compiling COpenSSL e_ubsec_err.c
[159/258] Compiling COpenSSL e_xcbc_d.c
[160/258] Compiling COpenSSL e_sureware_err.c
[161/258] Compiling COpenSSL ec2_.c
[162/258] Compiling COpenSSL e_seed.c
[163/258] Compiling COpenSSL e_rc5.c
[164/258] Compiling COpenSSL e_ubsec.c
[165/258] Compiling COpenSSL e_sureware.c
[166/258] Compiling COpenSSL e_rc4.c
[167/258] Compiling COpenSSL e_rc4_hmac_md5.c
[168/258] Compiling COpenSSL e_rc2.c
[169/258] Compiling COpenSSL e_old.c
[170/258] Compiling COpenSSL e_nuron_err.c
[171/258] Compiling COpenSSL e_padlock.c
[172/258] Compiling COpenSSL ec_.c
[173/258] Compiling COpenSSL e_nuron.c
[174/258] Compiling COpenSSL e_gost_err.c
[175/258] Compiling COpenSSL e_null.c
[176/258] Compiling COpenSSL e_idea.c
[177/258] Compiling COpenSSL e_gmp_err.c
[178/258] Compiling COpenSSL e_gmp.c
[179/258] Compiling COpenSSL e_des3.c
[180/258] Compiling COpenSSL e_des.c
[181/258] Compiling COpenSSL e_cswift_err.c
[182/258] Compiling COpenSSL e_chil_err.c
[183/258] Compiling COpenSSL e_cast.c
[184/258] Compiling COpenSSL e_capi_err.c
[185/258] Compiling COpenSSL e_cswift.c
[186/258] Compiling COpenSSL e_chil.c
[187/258] Compiling COpenSSL e_atalla_err.c
[188/258] Compiling COpenSSL e_capi.c
[189/258] Compiling COpenSSL e_camellia.c
[190/258] Compiling COpenSSL e_bf.c
[191/258] Compiling COpenSSL e_aes_cbc_hmac_sha256.c
[192/258] Compiling COpenSSL e_aes_cbc_hmac_sha1.c
[193/258] Compiling COpenSSL e_atalla.c
[194/258] Compiling COpenSSL e_aep_err.c
[195/258] Compiling COpenSSL e_4758cca_err.c
[196/258] Compiling COpenSSL e_aes.c
[197/258] Compiling COpenSSL e_aep.c
[198/258] Compiling COpenSSL e_4758cca.c
[199/258] Compiling COpenSSL dso_.c
[200/258] Compiling COpenSSL des_old2.c
[201/258] Compiling COpenSSL des_old.c
[202/258] Compiling COpenSSL digest.c
[203/258] Compiling COpenSSL dh_.c
[204/258] Compiling COpenSSL des_enc.c
[205/258] Compiling COpenSSL d2i_.c
[206/258] Compiling COpenSSL dsa_.c
[207/258] Compiling COpenSSL cversion.c
[208/258] Compiling COpenSSL ctr128.c
[209/258] Compiling COpenSSL d1_lib.c
[210/258] Compiling COpenSSL cryptlib.c
[211/258] Compiling COpenSSL cpt_err.c
[212/258] Compiling COpenSSL cmll_.c
[213/258] Compiling COpenSSL cmac.c
[214/258] Compiling COpenSSL cfb_enc.c
[215/258] Compiling COpenSSL cfb64enc.c
[216/258] Compiling COpenSSL comp_.c
[217/258] Compiling COpenSSL cfb64ede.c
[218/258] Compiling COpenSSL cfb128.c
[219/258] Compiling COpenSSL cm_.c
[220/258] Compiling COpenSSL cbc_.c
[221/258] Compiling COpenSSL ccm128.c
[222/258] Compiling COpenSSL cbc3_enc.c
[223/258] Compiling COpenSSL cbc128.c
[224/258] Compiling COpenSSL camellia.c
[225/258] Compiling COpenSSL d1_.c
[226/258] Compiling COpenSSL buffer.c
[226/258] Compiling COpenSSL conf_.c
[228/258] Compiling COpenSSL buf_.c
[229/258] Compiling COpenSSL by_.c
[230/258] Compiling COpenSSL b_sock.c
[231/258] Compiling COpenSSL c_.c
[232/258] Compiling COpenSSL bf_.c
[233/258] Compiling COpenSSL b_print.c
[234/258] Compiling COpenSSL b_dump.c
[235/258] Compiling COpenSSL bss_.c
[236/258] Compiling COpenSSL ameth_lib.c
[237/258] Compiling COpenSSL asn_.c
[238/258] Compiling COpenSSL aes_.c
[239/258] Compiling COpenSSL asn1_.c
[240/258] Compiling COpenSSL cms_.c
[241/258] Compiling COpenSSL bio_.c
[242/258] Compiling COpenSSL a_.c
[243/258] Compiling COpenSSL bn_.c
[245/258] Compiling PerfectLib PerfectServer.swift
[246/258] Compiling PerfectLib PerfectError.swift
[247/258] Compiling PerfectThread Threading.swift
[248/258] Compiling PerfectLib Log.swift
[249/258] Compiling PerfectLib Dir.swift
[250/258] Compiling PerfectLib JSONConvertible.swift
[251/258] Compiling PerfectLib Bytes.swift
[252/258] Compiling PerfectLib File.swift
[253/258] Emitting module PerfectLib
[254/258] Emitting module PerfectThread
[255/258] Compiling PerfectThread Promise.swift
[256/258] Compiling PerfectThread ThreadQueue.swift
[257/258] Compiling PerfectLib SysProcess.swift
[258/258] Compiling PerfectLib Utilities.swift
[259/267] Compiling PerfectCrypto Keys.swift
[260/267] Compiling PerfectCrypto Extensions.swift
[261/267] Compiling PerfectCrypto PerfectCrypto.swift
[262/267] Compiling PerfectCrypto JWT.swift
[263/267] Compiling PerfectCrypto OpenSSLInternal.swift
[264/267] Compiling PerfectCrypto ByteIO.swift
[265/267] Compiling PerfectCrypto JWK.swift
[266/267] Compiling PerfectCrypto Algorithms.swift
[267/267] Emitting module PerfectCrypto
[268/275] Compiling PerfectNet NetUDP.swift
[269/275] Compiling PerfectNet NetTCP.swift
[270/275] Compiling PerfectNet NetNamedPipe.swift
[271/275] Compiling PerfectNet NetEvent.swift
[272/275] Compiling PerfectNet NetAddress.swift
[273/275] Compiling PerfectNet Net.swift
[274/275] Emitting module PerfectNet
[275/275] Compiling PerfectNet NetTCPSSL.swift
[276/291] Compiling PerfectRedis RedisList.swift
[277/291] Compiling PerfectRedis RedisSet.swift
[278/291] Compiling PerfectHTTP HTTPFilter.swift
[279/291] Emitting module PerfectHTTP
[280/292] Compiling PerfectHTTP StaticFileHandler.swift
[281/292] Compiling PerfectHTTP Routing.swift
[282/292] Compiling PerfectHTTP HTTPResponse.swift
[283/292] Compiling PerfectHTTP HTTPRequest.swift
[284/292] Compiling PerfectHTTP MimeReader.swift
[285/292] Compiling PerfectHTTP HTTPHeaders.swift
[286/292] Compiling PerfectHTTP HTTPMethod.swift
[287/292] Compiling PerfectHTTP MimeType.swift
[288/292] Compiling PerfectRedis RedisHash.swift
[289/292] Emitting module PerfectRedis
[290/292] Compiling PerfectRedis RedisClientSync.swift
[291/292] Compiling PerfectRedis PerfectRedis.swift
[292/292] Compiling PerfectHTTP TypedRoutes.swift
[293/298] Compiling PerfectCURL CURLResponseInfos.swift
[294/298] Compiling PerfectCURL CURLResponse.swift
[295/298] Compiling PerfectCURL CURLRequest.swift
[296/298] Emitting module PerfectCURL
[297/298] Compiling PerfectCURL cURL.swift
[298/298] Compiling PerfectCURL CURLRequestOptions.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Perfect-CURL/Sources/PerfectCURL/CURLRequestOptions.swift:126:19: error: cannot find 'CURLOPT_FTP_RESPONSE_TIMEOUT' in scope
124 | curl.setOption(CURLOPT_FTPPORT, s: optString)
125 | case .ftpResponseTimeout(let optInt):
126 | curl.setOption(CURLOPT_FTP_RESPONSE_TIMEOUT, int: optInt)
| `- error: cannot find 'CURLOPT_FTP_RESPONSE_TIMEOUT' in scope
127 | case .sshPublicKey(let optString):
128 | curl.setOption(CURLOPT_SSH_PUBLIC_KEYFILE, s: optString)
Fetching https://github.com/PerfectlySoft/Perfect-Redis.git
Fetching https://github.com/PerfectlySoft/Perfect-Session.git
[1/390] Fetching perfect-session
[259/865] Fetching perfect-session, perfect-redis
Fetched https://github.com/PerfectlySoft/Perfect-Redis.git from cache (0.91s)
Fetched https://github.com/PerfectlySoft/Perfect-Session.git from cache (0.91s)
Computing version for https://github.com/PerfectlySoft/Perfect-Session.git
Computed https://github.com/PerfectlySoft/Perfect-Session.git at 3.1.5 (2.80s)
Fetching https://github.com/PerfectlySoft/Perfect-Logger.git
[1/182] Fetching perfect-logger
Fetched https://github.com/PerfectlySoft/Perfect-Logger.git from cache (0.69s)
Computing version for https://github.com/PerfectlySoft/Perfect-Logger.git
Computed https://github.com/PerfectlySoft/Perfect-Logger.git at 3.3.0 (1.22s)
Fetching https://github.com/PerfectlySoft/Perfect-CURL.git
[1/504] Fetching perfect-curl
Fetched https://github.com/PerfectlySoft/Perfect-CURL.git from cache (0.70s)
Computing version for https://github.com/PerfectlySoft/Perfect-CURL.git
Computed https://github.com/PerfectlySoft/Perfect-CURL.git at 3.1.0 (1.22s)
Fetching https://github.com/PerfectlySoft/Perfect-libcurl.git
Fetching https://github.com/PerfectlySoft/Perfect-HTTP.git
[1/77] Fetching perfect-libcurl
[78/885] Fetching perfect-libcurl, perfect-http
Fetched https://github.com/PerfectlySoft/Perfect-libcurl.git from cache (0.87s)
Fetched https://github.com/PerfectlySoft/Perfect-HTTP.git from cache (0.87s)
Computing version for https://github.com/PerfectlySoft/Perfect-libcurl.git
Computed https://github.com/PerfectlySoft/Perfect-libcurl.git at 2.1.0 (1.40s)
Computing version for https://github.com/PerfectlySoft/Perfect-Redis.git
Computed https://github.com/PerfectlySoft/Perfect-Redis.git at 3.4.1 (0.49s)
Fetching https://github.com/PerfectlySoft/Perfect-Net.git
[1/570] Fetching perfect-net
Fetched https://github.com/PerfectlySoft/Perfect-Net.git from cache (0.77s)
Computing version for https://github.com/PerfectlySoft/Perfect-Net.git
Computed https://github.com/PerfectlySoft/Perfect-Net.git at 3.3.0 (1.28s)
Fetching https://github.com/PerfectlySoft/Perfect-Thread.git
Fetching https://github.com/PerfectlySoft/Perfect-Crypto.git
[1/612] Fetching perfect-crypto
[112/991] Fetching perfect-crypto, perfect-thread
Fetched https://github.com/PerfectlySoft/Perfect-Crypto.git from cache (0.81s)
[186/379] Fetching perfect-thread
Fetched https://github.com/PerfectlySoft/Perfect-Thread.git from cache (0.89s)
Computing version for https://github.com/PerfectlySoft/Perfect-Crypto.git
Computed https://github.com/PerfectlySoft/Perfect-Crypto.git at 3.3.0 (1.41s)
Fetching https://github.com/PerfectlySoft/Perfect-COpenSSL.git
Fetching https://github.com/PerfectlySoft/PerfectLib.git
[1/10784] Fetching perfectlib
[2/14745] Fetching perfectlib, perfect-copenssl
Fetched https://github.com/PerfectlySoft/Perfect-COpenSSL.git from cache (1.24s)
[8285/10784] Fetching perfectlib
Fetched https://github.com/PerfectlySoft/PerfectLib.git from cache (2.24s)
Computing version for https://github.com/PerfectlySoft/Perfect-COpenSSL.git
Computed https://github.com/PerfectlySoft/Perfect-COpenSSL.git at 4.0.2 (2.75s)
Computing version for https://github.com/PerfectlySoft/Perfect-Thread.git
Computed https://github.com/PerfectlySoft/Perfect-Thread.git at 3.0.7 (0.49s)
Computing version for https://github.com/PerfectlySoft/PerfectLib.git
Computed https://github.com/PerfectlySoft/PerfectLib.git at 3.1.4 (0.49s)
Computing version for https://github.com/PerfectlySoft/Perfect-HTTP.git
Computed https://github.com/PerfectlySoft/Perfect-HTTP.git at 3.3.0 (0.48s)
Creating working copy for https://github.com/PerfectlySoft/Perfect-Redis.git
Working copy of https://github.com/PerfectlySoft/Perfect-Redis.git resolved at 3.4.1
Creating working copy for https://github.com/PerfectlySoft/Perfect-Net.git
Working copy of https://github.com/PerfectlySoft/Perfect-Net.git resolved at 3.3.0
Creating working copy for https://github.com/PerfectlySoft/Perfect-Session.git
Working copy of https://github.com/PerfectlySoft/Perfect-Session.git resolved at 3.1.5
Creating working copy for https://github.com/PerfectlySoft/PerfectLib.git
Working copy of https://github.com/PerfectlySoft/PerfectLib.git resolved at 3.1.4
Creating working copy for https://github.com/PerfectlySoft/Perfect-Thread.git
Working copy of https://github.com/PerfectlySoft/Perfect-Thread.git resolved at 3.0.7
Creating working copy for https://github.com/PerfectlySoft/Perfect-libcurl.git
Working copy of https://github.com/PerfectlySoft/Perfect-libcurl.git resolved at 2.1.0
Creating working copy for https://github.com/PerfectlySoft/Perfect-HTTP.git
Working copy of https://github.com/PerfectlySoft/Perfect-HTTP.git resolved at 3.3.0
Creating working copy for https://github.com/PerfectlySoft/Perfect-Crypto.git
Working copy of https://github.com/PerfectlySoft/Perfect-Crypto.git resolved at 3.3.0
Creating working copy for https://github.com/PerfectlySoft/Perfect-Logger.git
Working copy of https://github.com/PerfectlySoft/Perfect-Logger.git resolved at 3.3.0
Creating working copy for https://github.com/PerfectlySoft/Perfect-COpenSSL.git
Working copy of https://github.com/PerfectlySoft/Perfect-COpenSSL.git resolved at 4.0.2
Creating working copy for https://github.com/PerfectlySoft/Perfect-CURL.git
Working copy of https://github.com/PerfectlySoft/Perfect-CURL.git resolved at 3.1.0
warning: 'perfect-libcurl': ignoring declared target(s) 'cURL' in the system package
warning: failed to retrieve search paths with pkg-config; maybe pkg-config is not installed
warning: you may be able to install libcurl using your system-packager:
brew install curl
warning: you may be able to install libcurl using your system-packager:
brew install curl
BUILD FAILURE 6.2 macosSpm