Valgrind выполняет отладочную ошибку

При перезагрузке может возникнуть проблема, которую вы, возможно, не увидите из-за всплеска plymouth, если появляется «ubuntu» с оранжевыми и белыми точками на фиолетовом фоне, нажмите, как только вы нажмете клавишу RIGHT ARROW на клавиатуре , Если все сделано правильно, вы переключитесь на черный экран с белым текстом. Попробуйте увидеть, есть ли какие-либо ошибки, обычно в нижней части экрана.

Поместите свою версию Ubuntu и ядра, и если будут установлены какие-либо проприетарные драйверы, может быть полезной информация, которая поможет вам, удачи!

)
1
задан 29 May 2015 в 01:33

2 ответа

Я получил по существу одно и то же сообщение (кроме того, что ld-linux-x86-64.so.2 был заменен на ld-linux.so.2). Я установил Valgrind с помощью apt-get, поэтому libc6-dbg уже был включен как зависимость.

Я еще не полностью разрешил это, но подсказка заключается в том, что ошибка коррелирует с моим использованием -m32 при построении.

. Казалось бы, в моем случае проблема заключается в отсутствии 32-разрядной версии libc6-dbg (или некоторых ее компонентов) при построении на 64-битной установка Ubuntu 12.04.

Решение (для моего случая)

Для меня следующая команда заработала ...

Это обсуждается на https://bugs.launchpad.net/ubuntu/+source/eglibc/+bug/881236

Примечание. Пакет libc6-dbg:i386 не отображается как доступную опцию в Synaptic или через команду-завершение apt-get - но она все равно была.

39
ответ дан 25 May 2018 в 10:26
  • 1
    Есть хорошие изменения, которые вам понадобятся сначала: stackoverflow.com/a/7412698/86967 – nobar 4 June 2013 в 00:44
  • 2
    это должно быть отмечено как правильно; здесь :i386. – Thomas Shields 7 December 2013 в 16:36
  • 3
    Это был 32-битный трюк! – Cardin 12 December 2013 в 16:08
  • 4
    Это разрешило это для меня. Я видел эту ошибку на бродяжней машине. Как отмечали другие комментаторы, это должно быть отмечено как правильно. (libgc-dbg уже был установлен как зависимость valgrind, это был i386, который сделал трюк) – Ken 20 March 2014 в 23:11
  • 5
    Этот ответ правильно касался 32-битных двоичных файлов. libc6-dbg уже было намечено в сообщении об ошибке valgrind. – leesei 18 December 2014 в 07:10

Я боролся с этим очень долго, скомпилировав в режиме -m32, но это было болью в заднице, более того, если бы я хотел использовать, например, -lcrypto, я не смог скомпилировать в -m32, так как у меня не было openssl на 32-битной установке.

Итак, я прочитал много подобных сообщений, обычно консультируя установку libc6-dbg: i386 ... Я думаю, что это было решено проблема для -m32, но это было не то, что я искал. Поэтому после долгого времени пришло к этому: https://lists.ubuntu.com/archives/foundations-bugs/2013-November/173202.html

Поэтому попробуйте запустить dpkg -l libc6 * и если вы видите libc6-amd64, это может вам помочь. Но внимательно прочитайте его. пункт 2, потому что вы не сможете использовать какие-либо команды после удаления пакета libc6-amd64, поэтому подготовьте liveCD и следуйте инструкциям :) Это помогло мне решить проблему, но мне потребовалось около 3 часов и пару страхов , Я рекомендую сделать резервную копию данных перед тем, как вы это сделаете, потому что, если вы потерпите неудачу, скорее всего не будет возврата.

И будьте осторожны в точке 4! Вы не можете просто написать команду, предложенную там ln -s /lib/x86_64-linux-gnu/ld-2.17.so /lib64/ld-linux-x86-64.so.2, потому что она сделает символическую ссылку в папке live cd /. Также вы должны иметь права root для записи в lib64. Итак, как я это сделал: (у меня была / папка на моем сломанном диске valgrind, открытом через терминал liveCD)

1) sudo rm ./lib64/ld-linux-x86-64.so.2 //removing old link

2) sudo ln -s /lib/x86_64-linux-gnu/ld-2.17.so ./lib64/ld-linux-x86-64.so.2

//you refer to the file on the disk with broken linux, but if you wrote just / instead of ./ you would create the link in the liveCD / folder [!d7 ]

Надеюсь, я ничего не забыл, и это будет полезно.

PS: Интересно, можно ли изменить символическую ссылку перед удалением пакета libc6-amd64 (вы обойдете весь материал liveCD ) но я не уверен.

0
ответ дан 25 May 2018 в 10:26

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

Похожие вопросы: