Обновление с GDB 7,7 до 7,8


10

Как обновить мой отладчик GDB с текущей версии 7.7 до следующей версии 7.8, также я работаю над Ubuntu 14.04.1?

Ответы:


13

GDB 7.8 в настоящее время недоступен в надежном репо . Но вы можете установить его из источника.

Откройте терминал и введите следующие команды

wget http://ftp.gnu.org/gnu/gdb/gdb-7.8.tar.xz
tar -xf gdb-7.8.tar.xz     
cd gdb-7.8/     
./configure
make
sudo cp gdb/gdb /usr/local/bin/gdb

Он будет установлен gdbв /usr/local/bin/каталог. Как /usr/local/bin/ищется прежде , чем /usr/bin/всякий раз , когда выполняется команда, запуск gdbбудет выполняться gdb 7.8.

После установки вы можете проверить версию GDB, используя

gdb --version

Должен вывести

GNU gdb (GDB) 7.8
Copyright (C) 2014 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "i686-pc-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word".


Если вы хотите , чтобы удалить его просто удалить gdbиз /usr/local/bin/выполнив

sudo rm /usr/local/bin/gdb

На самом деле gdbдоступно в репозиториях. Что заставляет вас говорить, что это не так?
Томас Уорд

(обратите внимание, что gdbв репозиториях НЕ 7,8. Вы можете добавить пояснение для этого в своем ответе здесь)
Томас Уорд

ОК. Он добавил это. Это была опечатка.
G_p

1
Ответ не касался конфликтов между исходной и вновь установленной версиями GDB. Кроме того, GDB не предоставляет средства для make uninstall. Так что нужно использовать, sudo checkinstallчтобы отслеживать все. Тупой make installбудет большая боль, если вы решите удалить пакет в будущем.
Нейтри

2
Копирование в / usr / local / bin / gdb не помогло мне. Когда я скопировал в / usr / bin, он работал, но я получаю следующую ошибку: Python Exception <type 'exceptions.NameError'> Ошибка установки: отсутствует функция gdb.execute_unwinders:
AlwaysLearning

2

Обновление GDB с 7.7.1 до 8.2 в Ubuntu 14.04:

sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get -y --force-yes install gdb
gdb -v
sudo add-apt-repository --remove ppa:ubuntu-toolchain-r/test
sudo apt-get update

0

Главный ответ не работал для меня. По какой-то причине мне также понадобился этот пакет для завершения сборки:

sudo apt-get install texinfo

Тогда я настоятельно рекомендую установить это правильно . Я установил checkinstallутилиту (которая создаст пакет debian для автоматического отслеживания всех ваших файлов, сгенерированных make):

sudo apt-get update && sudo apt-get install checkinstall

Теперь вызовите эти команды:

wget http://ftp.gnu.org/gnu/gdb/gdb-7.8.tar.xz
tar -xf gdb-7.8.tar.xz     
cd gdb-7.8/     
./configure
sudo checkinstall

Убедитесь, что это создало *.debфайл в текущем каталоге (мой был gdb_7.8-1_amd64.deb). Итак, теперь давайте установим его правильно, продолжаем и:

  1. удалить GDB быстро
  2. установить путь установки *.deb
  3. затем установите его, используя apt-get

используя эти соответствующие команды:

sudo dpkg -r gdb
sudo dpkg -i ~/gdb-7.8/gdb_7.8-1_amd64.deb
sudo apt-get install -f

Теперь у вас есть правильно установленный пакет, и вы можете удалить его, используя sudo apt-get remove gdbOR sudo dpkg -r gdb. Обратите внимание, что я протестировал это с GDB 8.0.1, но я предполагаю, что это должно работать для любой версии.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.