[英]Intermittent, random 'file not found' errors under Windows Subsystem for Linux (WSL)
[英]Intermittent “file not found” errors when compiling c++ under multipass Ubuntu 20.10
我正在嘗試使用多通道生成構建環境,源代碼位於主機上。 我的想法是我將源代碼從主機安裝到 VM 中,然后從 VM 內部運行構建。 ( multipass mount src ubuntu:/home/ubuntu/src
)。
我正在嘗試構建的是一個相對較大的 c++ 項目,其中包含許多包含文件。 構建系統是 CMake + ninja 和 clang 8.0。
問題是構建失敗,各種標頭出現“找不到文件”錯誤。 每次“丟失”的文件都是不同的。 我說“丟失”是因為文件實際上都在那里。
這似乎與Linux (WSL) 的 Windows 子系統下的間歇性、隨機“找不到文件”錯誤完全相同,但使用建議的解決方法並沒有幫助(例如,我嘗試在 ninja 中設置 -j1)。
知道什么可能導致這種情況以及是否有解決方法嗎?
我的主機是 macOS Catalina,多通道 VM 實例是 Ubuntu 20.10。 multipass 本身是 1.5.0。
我最終向多通道團隊開放了一個 PR 。 經過一番調試,我們發現了兩個問題:
maxfiles
限制為 256,在編譯大型項目時可能會遇到此限制。libssh
使用它來進行掛載。要解決此問題,您需要:
maxfiles
限制osxfuse
,(2) 在設置 -> 共享中啟用遠程登錄和 (3) 在 VM 中手動掛載文件夾mkdir <mount_dir>
sshfs <host_user>@<host_ip>:<host_directory> <mount_dir>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.