Решение проблемы с ошибкой линкования Embarcadero Delphi 12.1 (компиляция для Linux 64-бит) в связке Windows 10 22H2 (host-машина, где установлен Delphi) и Ubuntu 24.04 LTS Desktop (где установлен PAServer for Linux) в виртуалке под Microsoft Hyper-V находится тут
https://stackoverflow.com/a/63236640. Также вот этот коммент
https://en.delphipraxis.net/topic/6500-cannot-build-for-linux-on-windows-11/?do=f...mp;comment=56561 повествует о схожем понимании проблемы.
Своими словами:
Проблема состоит в том, что переменная Delphi под названием "$BDSPLATFORMSDKSDIR" указывает на папку с длинным именем "C:\Users\<ACCOUNT>\Documents\Embarcadero\Studio\SDKs". Проблема проявляется даже если <ACCOUNT> без пробелов, русских букв и спецсимволов
Решение:
1. Создать новую папку, например, "C:\SDKs"
2. Скопировать содержимое папки "C:\Users\<ACCOUNT>\Documents\Embarcadero\Studio\SDKs" в "C:\SDKs". У меня там один каталог "ubuntu24.04.sdk" на 3,5Гб примерно (если Вы ещё не качали SDK для Linux, то у Вас его там не будет, что не мешает выполнять дальнейшие пункты, просто копировать Вам будет нечего)
3. Идём в Tools/Options/IDE/Enviroment Variables, ищем в списке переменную "BDSPLATFORMSDKSDIR", кликаем на ней и в поле "Variable Value" и выбираем для него папку "C:\SDKs". В результате увидим в нижнем списке "User System Overerides" этой формы переопределённый путь для этой переменной
4. Теперь идём в Tools/Options/Deployment/SDK Manager, выбираем в списке слева версию SDK для Linux 64 и нажимаем внизу кнопку "Update Local File Cache", при этом на вопрос о замене файлов отвечаем "No to All" (я вычитал в двух местах, что это помогло кому-то, хотя не уверен. Мне кажется, что они отличаются только кодировкой символа новой строки - 0Ah или 0D0Ah, но, возможно, я ошибаюсь). Ждём, пока обновится.
Теперь будет линковаться под Limux 64 без проблем.
Решение опробовано как на данной Lite-версии Embarcadero Delphi 12.1, так и на полноценной Embarcadero RAD 12.1 (
https://rutr.life/forum/viewtopic.php?t=6506408) в Delphi.
На поиски решения ушло 3 вечера. Надеюсь, кому-то это сэкономит время!