Visual Studio Code не завершает установку сервера удаленного выполнения на Raspberry Pi O/S Buster

В 2002 году мне удалось успешно подключить Visual Studio Code к моему роботу на базе Raspberry Pi и выполнить удаленную разработку с помощью VS Code, установленного на моем ноутбуке с Windows 10, и небольшой прокладки удаленного сервера, установленной на роботе. Однако с июля 2024 года все изменилось.

  1. Операционная система робота перенесена на Raspberry Pi O/S Buster (и из-за несовместимости библиотек ее пока нельзя перенести на Bullseye или Bookworm).
  2. Версия Visual Studio Code изменилась с версии 1.6 на версию 1.9.

Я пытаюсь воссоздать удаленную среду в текущей версии Windows 10 и текущей версии Raspberry Pi O/S Buster, но это никогда не завершается.

У меня установлено расширение «удаленный SSH», и я пытаюсь подключиться к удаленной цели:

  1. Я выбираю цель.

  2. Он спрашивает тип операционной системы цели, я отвечаю «Linux».

  3. Он запрашивает пароль пользователя «pi», который я предоставляю.

  4. Начинается загрузка серверной оболочки в операционную систему робота.

    Пауза около 30 секунд.

  5. Затем он снова запрашивает тип операционной системы, установленной на цели.

  6. Как и раньше, я выбираю «Linux».

  7. Я снова даю ему пароль пользователя «pi».

  8. Запускается второй экземпляр загрузки прокладки.

    Еще одна пауза примерно на 30 секунд.

  9. Весь процесс начинается снова, казалось бы, без конца.

Примечание:

  1. Это будет повторяться до тех пор, пока я продолжаю танцевать с VS Code.

  2. Никакое ожидание не приведет к успеху.

Я удалил, установил, переустановил (неоднократно), и ничего не помогает. Я также удалил каталог .vscode-server в /home/pi на самом роботе, но все безрезультатно.

Я видел предыдущую статью, в которой упоминалось, что в код Visual Studio было внесено изменение и что возврат к версии 1.8.5 решит проблему. Однако если я установлю более старую версию, ни одно из расширений не загрузится, и я не смогу найти более ранние расширения.

Я попытался вернуться к резервной копии 2022 года и скопировал весь контекст VS Code из старой резервной копии на свою новую машину. Как только я запустил старую версию VS Code, она полностью аннулировала расширения и обновилась до версии 1.9n.


Чтобы попытаться сузить проблему, я попробовал запустить другую версию Buster, на которой я успешно установил VS Code. Я также установил VS Code 1.69, поскольку на тот момент это была текущая версия.

Было несколько «подводных камней!», например, проверка того, что у меня установлен сервер openSSH в Windows, копирование открытого ключа компьютера с Windows на удаленное устройство и несколько других небольших настроек, и я работал, мог подключиться, мог загружать создал удаленное рабочее пространство, и все выглядело хорошо.

Итак, я попробовал обновиться до 1.91.1 (последняя версия на данный момент), запустил ее и попытался повторно подключиться, как делал это раньше. Не хорошо.

Я получил неоднократные попытки загрузить и настроить удаленный сервер. Я попытался удалить каталог .vscode-server, как отмечалось в предыдущей публикации, но по-прежнему терпит неудачу, всегда получая следующую ошибку:

Failed to connect to the remote extension host server (Error: WrappedError(WrappedError { message: "error checking server integrity", original: "failed to run command \"/home/pi/.vscode-server/cli/servers/Stable-f1e16e1e6214d7c44d078b1f0607b2388f29d729.staging/server/bin/code-server --version\" (code 1): /home/pi/.vscode-server/cli/servers/Stable-f1e16e1e6214d7c44d078b1f0607b2388f29d729.staging/server/node: /lib/arm-linux-gnueabihf/libstdc++.so.6: version `GLIBCXX_3.4.26' not found (required by /home/pi/.vscode-server/cli/servers/Stable-f1e16e1e6214d7c44d078b1f0607b2388f29d729.staging/server/node)\n" }))

Ключевой частью этой ошибки является:

/home/pi/.vscode-server/cli/servers/Stable-f1e16e1e6214d7c44d078b1f0607b2388f29d729.staging/server/node: /lib/arm-linux-gnueabihf/libstdc++.so.6: version `GLIBCXX_3.4.26' not found

Даже после удаления каталога .vscode-server (и его замены каталогами .vscode-server и .vscode-remote-containers) он все равно не работал и по-прежнему выдает ту же самую ошибку.

Я начинаю подозревать, что «/lib/arm-linux-gnueabihf/libstdc++.so.6: версия `GLIBCXX_3.4.26'» несовместима с Buster. (Я не пробовал это ни с Bullseye, ни с Bookworm, поскольку процесс переноса на эти платформы продолжается.)

Я заметил, что некоторые люди в других темах форума пытаются перекомпилировать gcc до версии 3.4.26 в своих системах, и все пришли к выводу, что это сломает систему.

Если это так, существует ли максимальная версия обновления, совместимая с Raspberry Pi O/S Buster?

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
0
130
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

TL;DR: Если вы используете Raspberry Pi O/S Buster, ваша версия ограничена 1.89.1.

Проблема с обновлением кода Visual Studio до последней версии, по-видимому, заключается в том, что, начиная с версии 1.90.n или новее, существует жесткая зависимость от glibc версии 3.4.26 и (AFAIK), которая не запускается и не устанавливается на Buster.

Таким образом, последняя версия, которую мне удалось установить в Windows 10, которая будет успешно работать удаленно на Buster, — это 1.89.1.

Существует вероятность того, что контейнеры могут быть частью проблемы, потому что, начиная с версии 1.91.n, Visual Studio Code также устанавливает каталог .vscode-remote-container — хотя я понятия не имею, влияет ли это на него.

Другие вопросы по теме