В кластере, в котором я работаю, были действительно старые инструменты сборки, и мне нужно было использовать CUDA5. Я довольно умный чувак, и я планировал создать необходимые инструменты.
Итак, я создал локальную копию gcc, bintools и glibc. Все, что может понадобиться CUDA5. Все сборки завершены без ошибок. и я протестировал gcc и bintools. Все было замечательно, я построил и запустил несколько программ.
Я создал LD_LIBRARY_PATH
с в .bashrc
и снова вошел в систему, ожидая продуктивной ночи впереди.
К своему ужасу я понял, что все динамически связан.
Теперь я не могу выполнять простые команды вроде ls
[ex @ uid377 ~] $ ls ls: ошибка при загрузке разделяемых библиотек: __vdso_time: недопустимый режим для dlopen (): недопустимый аргумент
и я не могу выполнять команды, чтобы исправить проблему, например rm
или vim
!
Есть ли у меня способ использовать ssh, но также игнорировать .bashrc
файл? Любые предложения очень ценятся. Эта машина явно не обслуживается, и я не знаю, когда я смогу получить поддержку администратора.
Видимо нашел команду, которая будет работать
[ex@uid377 ~]$ echo 'help!' >& .bashrc
Это перезаписало .bashrc
и я смог снова войти в систему.
Оглядываясь назад, делая export LD_LIBRARY_PATH=''
также решит эту проблему.