LINUX.ORG.RU

Проблемы с компилятором g++ в debian

 , ,


0

1

Собственно расклад таков: Пытаюсь открыть cpp файл с помощью g++ на debian, но выводит ошибку «g++ команда не найдена», хотя после ввода команды whereis gcc пишет «/usr/lib/gcc /usr/share/gcс». Пыталась установить g++, но пишет, что все уже установлено и последней версии. Как запустить компилятор? Уже делала:

sudo apt-get install -y build-essential И sudo apt-get --reinstall build-essential

Выдает:

Следующие пакеты имеют неудовлетворённые зависимости:
 dpkg-dev : Зависит: libdpkg-perl (= 1.18.25) но 1.20.9 должен быть установлен
            Рекомендует: fakeroot
            Рекомендует: libalgorithm-merge-perl но он не будет установлен
 libc6-dev : Зависит: libc6 (= 2.24-11+deb9u4) но 2.31-13+deb11u2 должен быть установлен
             Зависит: libc-dev-bin (= 2.24-11+deb9u4) но он не будет установлен
E: Невозможно исправить ошибки: у вас зафиксированы сломанные пакеты.
sudo apt-get update

Выдает:

Не удалось соединиться с www.tataranovich.com:80 (159.69.2.125). - connect (111: В соединении отказано)
Невозможно инициализировать соединение с www.tataranovich.com:80 (2a01:4f8:1c0c:61da::1). - connect (101: Сеть недоступна).

*при этом сеть есть, сам сайт в браузере не открывается

sudo apt-get install libgcc1 - ошибок не выдал

sudo apt-get --fix-broken install

Выдал:

Обновлено 0 пакетов, установлено 0 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено

Буду очень благодарна за помощь



Последнее исправление: xaizek (всего исправлений: 1)

Попробуй, вместо apt-get использовать aptitude.

Если всё сработает, то не благодари, ибо я сам это из решённой соседней темы пишу тебе.

Раз поискать по форуму в ближайших темах не судьба.

Там у одного «спеца» была подбная ситуация, но в минте, что сути не меняет, ноги у них обоих из одного места растут.

anonymous
()

Пытаюсь открыть cpp файл с помощью g++ на debian,

Плохая идея. Чтобы открыть cpp файл, лучше установи текстовый редактор:

apt-get install mc
mcedit filename.cpp

А gcc и g++ это разные команды и разные пакеты.

firkax ★★★★★
()
Ответ на: комментарий от firkax

Имела в виду скомпилировать, извиняюсь

dedeb
() автор топика
Ответ на: комментарий от Rootlexx
Списки пакетов:
 100 /var/lib/dpkg/status
     release a=now
 100 http://deb.debian.org/debian stretch-backports/non-free amd64 Packages
     release o=Debian Backports,a=stretch-backports,n=stretch-backports,l=Debian Backports,c=non-free,b=amd64
     origin deb.debian.org
 100 http://deb.debian.org/debian stretch-backports/contrib amd64 Packages
     release o=Debian Backports,a=stretch-backports,n=stretch-backports,l=Debian Backports,c=contrib,b=amd64
     origin deb.debian.org
 100 http://deb.debian.org/debian stretch-backports/main amd64 Packages
     release o=Debian Backports,a=stretch-backports,n=stretch-backports,l=Debian Backports,c=main,b=amd64
     origin deb.debian.org
 500 http://deb.debian.org/debian stretch/non-free amd64 Packages
     release v=9.13,o=Debian,a=oldoldstable,n=stretch,l=Debian,c=non-free,b=amd64
     origin deb.debian.org
 500 http://deb.debian.org/debian stretch/contrib amd64 Packages
     release v=9.13,o=Debian,a=oldoldstable,n=stretch,l=Debian,c=contrib,b=amd64
     origin deb.debian.org
 500 http://deb.debian.org/debian stretch/main amd64 Packages
     release v=9.13,o=Debian,a=oldoldstable,n=stretch,l=Debian,c=main,b=amd64
     origin deb.debian.org
 500 http://security.debian.org/debian-security stretch/updates/non-free amd64 Packages
     release v=9,o=Debian,a=oldoldstable,n=stretch,l=Debian-Security,c=non-free,b=amd64
     origin security.debian.org
 500 http://security.debian.org/debian-security stretch/updates/contrib amd64 Packages
     release v=9,o=Debian,a=oldoldstable,n=stretch,l=Debian-Security,c=contrib,b=amd64
     origin security.debian.org
 500 http://security.debian.org/debian-security stretch/updates/main amd64 Packages
     release v=9,o=Debian,a=oldoldstable,n=stretch,l=Debian-Security,c=main,b=amd64
     origin security.debian.org
dedeb
() автор топика

выводит ошибку «g++ команда не найдена»

«С++? В моем дебиане?» (с)

slackwarrior ★★★★★
()

Не удалось соединиться с www.tataranovich.com:80

Achtung! Achtung! У вас в системе опасный вирус. Срочно форматируйте все диски/ссд, и переустанавливайте Линукс. До переустановки Линукса лучше не заходить на LOR, чтобы не подвергать его сервер опасности.

seiken ★★★★★
()
Ответ на: комментарий от hobbit

Мда, виноват. Пытался набрать в браузере и он мне подставил посещенные страницы из его блога.

zemidius
()

почему у тебя стоят пакеты в системе из sid, а репозитарии не для sid прописаны? ты наверное менял их на sid, что-то ставил и потом поменял обратно?

xmikex ★★★★
()
Ответ на: комментарий от xmikex

Вроде только комментила в sources.list. Можете по-подробней описать как правильно прописать репы?

dedeb
() автор топика
Ответ на: комментарий от dedeb

Я вообще не знаю почему такая старая версия в репозитариях. У меня была похожая проблема когда попробовал на дебиан добавить репозитарии убунту. Пришлось перейти на новую версию дебиан, чтобы конфликты пакетов как-то исправились, потому что просто так откатиться на версию более старую не давало.

xmikex ★★★★
()
Ответ на: комментарий от dedeb

мечтает ли лиззка об электроовцах?

anonymous
()

Что бы у тебя был g++ так и ставь пакет с g++

apt install g++

По поводу нерабочей сети удостоверься, что на сетевом интерфейсе есть IP адрес, смотри вывод

ip a

удостоверься, что есть маршрут по умолчанию (шлюз), смотри вывод

ip r

и удостоверься, что прописан DNS сервер

cat /etc/resolv.conf

Проверь, что шлюз и DNS сервер пингуются.

Можешь прописать DNS сервер от Google

echo nameserver 8.8.8.8 > /etc/resolv.conf

По поводу поломанной системы, просто так подключать репозитории от разных релизов stretch, bullseye, sid и прочее и ставить пакеты нельзя.

Нужно либо обновлять всю систему до нового релиза, либо настраивать смешивание веток.

По сути тебе сейчас нужно выбрать один релиз и удалить пакеты от более новых и более старых релизов.

А потом выполнить обновление системы до этого релиза.

Если не разберёшься - переустанавливай.

anonymous
()
Ответ на: комментарий от dedeb

Ну в начале расскажи какой релиз Debian изначально стоял.

Затем, по-хорошему, нужно удалить пакеты из репозиториев других релизов из системы, отключить их, оставив только выбранный релиз.

Затем обновить систему до него и далее ставить пакеты только из репозиториев выбранного релиза.

Тем более не мешать Ubuntu и Debian, это разные системы, хоть и имеют deb репозитории.

Но мешать их вместе не стоит.

anonymous
()
Ответ на: комментарий от dedeb

Для начала посмотрите, что указано в /etc/debian_version: если 9.*, то можно откатить все пакеты к этой версии Debian.

Для этого создайте /etc/apt/preferences:

Package: *
Pin: release n=stretch
Pin-Priority: 1001

— после чего выполните apt-get dist-upgrade. Внимательно просмотрите список действий! Убедитесь, что ничего нужного не удаляется, а пакеты лишь откатываются до старых версий.

После успешного завершения сможете ставить какие угодно пакеты из состава stretch.

Не забудьте удалить созданный файл /etc/apt/preferences после окончания операции!

Rootlexx ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.