-
Notifications
You must be signed in to change notification settings - Fork 354
Description
Environment
OS: Kali Linux (x86_64)
Swift Toolchain: 5.10.1
Build Command: swift build -c release
Fuzzilli Revision: (current main, as of November 2025)
Fuzzilli fails to compile on Linux using Swift 5.10.1 due to Darwin specific APIs operator overloading conflicts and sequence counting syntax that differs from macOS Swift Foundation implementations
Steps to Reproduce::::
git clone https://github.com/googleprojectzero/fuzzilli.git
cd fuzzilli
# get swift if not available in the system
swift build -c release
Representative errors::::
/Fuzzilli/Environment/JavaScriptEnvironment.swift:3224:125: error: type 'Locale' has no member 'NumberingSystem'
/Fuzzilli/Environment/JavaScriptEnvironment.swift:3240:117: error: type 'Locale' has no member 'Currency'
/Fuzzilli/Lifting/WasmLifter.swift:716:52: error: cannot call value of non-function type 'Int'
temp += Leb128.unsignedEncode(self.exports.count { $0.getImport() != nil })
...
/Fuzzilli/Lifting/WasmLifter.swift:833:18: error: operator function '+=' requires that 'Data' conform to 'AttributedStringProtocol'
note:::
/FuzzIL/WasmOperations.swift:1353:13: error: the compiler is unable to type check this expression in reasonable time
Causes::
- Darwin only locale extensions
Locale.NumberingSystemandLocale.Currencyare ( unavailable ) on linux Foundation. - Sequence counting syntax differences
Linux Swift requires.count(where:)or.filter(...).countinstead of.count { predicate } - Type mismatch with
data and operator +=
+= operatoron data conflicts with AttributedStringProtocol overloads - Complex chained expressions causing type check timeouts.