I get: core.sync.exception.SyncError@(0): Unable to lock mutex. when calling listenHTTP via a library. It works when compiling everything in a single application without using intermediate library.
details: using: dmd:2.077 dub build dmd -ofmain -L-Ldir -L-ltest1 -Isource import/main.d ./main Listening for requests on http://[::1]:8080/ Listening for requests on http://127.0.0.1:8080/ Please open http://127.0.0.1:8080/ in your browser. core.sync.exception.SyncError@(0): Unable to lock mutex. source/app.d: ``` void fun(){ import vibe.vibe; auto settings = new HTTPServerSettings; settings.port = 8080; settings.bindAddresses = ["::1", "127.0.0.1"]; static void hello(HTTPServerRequest req, HTTPServerResponse res){ res.writeBody("Hello, World!"); } listenHTTP(settings, &hello); logInfo("Please open http://127.0.0.1:8080/ in your browser."); runApplication(); } ``` dub.json: ``` { "name": "test1", "targetType": "staticLibrary", // same with dynamicLibrary "targetName": "test1", "dependencies": { "vibe-d": "==0.7.31", // same with 0.8.1 }, "description": "...", "copyright": "...", "authors": ["..."], "license": "proprietary" } ``` main.d: ``` import app; void main(){ fun; } ```